The young, and maybe immature industry that we still are in the business of web development, still has not figured out what we should call that geeky guy in the corner, in his casual outfit, focussed on the screen of his Mac and talking about strange things like “Web Standards”, “Progressive Enhancement” and “Microformats” (I only know “Letter” and A4). We haven’t yet figured out how to call him, whether it should be “Web Developer” or “Frontend Engineer”. But we know what he should do, right? He should build the damn weird thing so that it looks like the marvellous mocks from our hip designer, for chrissake. Yeah, exactly.
If we take that and say that there is “Frontend” and “Backend”, we certainly need to put our guy on the Frontend side. But where does the “Frontend” actually “end”?
I have been working at my current company for a bit over a year now and I have been on 3 different projects. On the first one, we worked in pairs on new features, where each pair consisted of a backend engineer and a frontend engineer/web developer. The backend person had to deal with all the stuff that one would relate to backend, such as:
- Setting up Apache rewrite rules for SEO friendly URLs
- Getting the appropriate data out of the framework/database and provide them to the templates in the frontend
- Doing the data processing when it comes to form submits
- (add more similar things here)
As a frontend guy, I had to take care of the following:
- Using the data provided from the backend guy and displaying it in the template (usually not anything complex, so e.g. looping through an array)
But on another project, it worked completely different. I, as the frontend person, was responsible for, what I think, more stuff that I should actually be responsible for. Apart from the things mentioned above, my responsibilities were, amongst others:
- Owning the entire framework tree, including the libraries that are responsible for MVC, which obviously included talking to the database layer (actually setting up the appropriate functions and classes), extracting the appropriate variables out of the response, feeding them into the template.
- Validating and processing form responses
- Messing around with setting up rewrite rules
Of course, if you have a guy at hand who is a whiz in the frontend AND the backend, lucky you. Of course you would put that person in charge of all these things cause you can be certain that he can handle that. But my question is rather: Should a frontend developer be made responsible for things that are, actually, more related to backend?