I was just googling around to find a good definition of front-end developer and the definitions that I found were pretty much "a guy that does HTML/CSS/JavaScript (jQuery)".
But I think this is no longer the case. Today we have very complex interfaces, say a single page BackboneJS app that require a lot more than just "a guy that does HTML/CSS/JavaScript" and has no background in Computer Science.
I would argue that the guy that engineers the front-end app (Backbone, Angular, etc) should be as (if not more) skilled programmer than the guy that engineers the back-end.
So in my scenario (single page webapp - say with Backbone), I have 3 people:
- A back-end programmer - the guy responsible for all the API calls that the Backbone app would make
- A "front-end" programmer - they guy that's responsible for getting the work from the designer (wireframes if you will) and turning it into responsive, cross-browser, cross-platform HTML/CSS code
- The "JavaScript" developer who makes everything light up, hooks up the HTML/CSS to the API and brings the app to life.
My question is: What is the most usual modern dev team structure? How is the work usually divided between the front end and back end developers.
Of course if you only have full-stack developers that can produce JavaScript and say PHP equally well, then you have less of an issue. But still, who is the front-end developer and how do you call "the JavaScript developer"?
Excuse my simple language, I tried to stay as far away from terminology as possible.