What is a 'Front End Web Developer'?

Inspired by ppk's Dutch 'Front End Web Developers Guild', there was quite a lot of discussion a few weeks ago about what a Front End Web Developer actually is. This post is mostly an email I sent to the WSG mailing list with links to other useful messages on the thread, because I feel that this issue deserves a wider readership.

Karl Lurman voiced the opinion that, at some point in the future, 'front end web developers' won't need to understand Javascript and other web technologies, they will be able to depend on frameworks and libraries - the platform or IDE will take care of producing valid, accessible markup.

In response I pointed out that, apart from it all being magically accessible and standards compliant, this more or less described how ASP.Net works now. It's great because it lets desktop developers with no front end web skills produce apps quickly, but it's horrible because it lets desktop developers with no front end web skills produce apps quickly. I saw an advert in a developer magazine this week about a custom control for .Net in which there was a (perhaps fictional) quote from a developer - "Control X is great because it means I can stop worrying about the UI and concentrate on the business logic." The fact that ASP.Net developers apparently find this sentiment of abdicating responsibility for the UI beguiling is what worries me about the whole 'user interfaces designed by IDEs' concept.

Of course, the hypothetical 'front end web developer' needs to be distinguished from web and/or graphic designers. Paul Novitski criticised designers who think one Photoshop mockup is the full extent of their job (and in fact think that, after they've done that, all the hard work is done...):

Just as a good print designer needs to understand papers, inks, and printing technologies, a web graphic designer needs to know the stuff that the page is made of in order to make competent decisions.

Finally Richard Williams discussed how many companies view front end web development as a place for young developers to learn the ropes before being allowed to do 'proper' development. I've often seen the attitude among people that consider themselves 'real' developers (ie. back end types) that front end stuff is easy and a task for junior developers, and those same people are happy to have their framework spit out crappy markup because it's 'only the UI'. But crappy code at the front end is IMO just as bad as crappy code at the back end, and perhaps more focus on 'front end web development' as a speciality in it's own right, in the form of ppk's guild or similar certifications, would help correct some of these issues.