January 14th, 2009

What the heck is a front end developer?

Refresh Philly is a new organization aiming to bring the local creative community together both to broaden our skills and to work toward the betterment of Philadelphia. Or something. It's a great mission but it's a little fuzzy. Narrowing that down is what the other guys' presentation was about. My presentation, definitely in the first category, was about the Symfony framework.

My slides are available for your amusement. They're a bit dry by themselves. The presentation itself was definitely on the dry side for the very large percentage of nonprogrammers present. But that's one of the things we're still learning as a group. This was our first "real" meeting, not counting the organizing meeting back in December.

I knew there would be quite a few nonprogrammers present. But I pictured designers who work side by side with coders all day and have absorbed some of the lingo and have a need to understand this sort of stuff on the same level a good manager would.

My coworkers have since explained that this is actually a bit uncommon. Many people designing for the web stick purely to design and don't actually write HTML or CSS, so they are not teetering on the brink of learning PHP by looking over somebody's shoulder.

Who writes the HTML and CSS code then? Apparently "front end developers" do. "Back end developers" write PHP, ASP, Java or whatever is in vogue on the server side.

You might wonder how I could have lived in ignorance of the distinction until this point. The answer is that I've mostly worked in small shops, or with independents. So specialization in pure design wasn't really an option for most of the designers I've known in the past.

I've also known a lot of "web designers" who lived in the Bay Area during the dot-com crunch years, and they reported that there was no such thing as a job unless you could plausibly claim to know design, HTML, CSS, and PHP. And possibly reiki as well.

I'm not crazy about the terms "front end developer" and "back end developer." These terms mean something very different when we start talking about web applications.

A "front end application" is something the public gets to play with. It has to be pretty and bulletproof and fast and easy and generally perfect in every way, requirements that require lots of attention from "front end designers," but unless it's a static site it also has moving parts on the server end, requiring plenty of attention from "back end developers."

Meanwhile a "back end application" is something used by editors, administrators and other power users typically employed by the client you're developing for. The public can't see it. It has to be moderately bulletproof, depending on the number of people allowed to play with it and the skill level they are expected to have. It doesn't have to be pretty. Depending on how frequently used it is, it may or may not need to be super-efficient and easy to use. So "front end developers" are still involved in building it... just to a lesser degree... while "back end developers" are all over it, although they may be using tools like Symfony's admin generator to create basic, bug-free, boring interfaces in a hurry so they can get back to debugging the publicly visible front end application.

Still, terminology aside, there are far more pure designers in the world than I'd thought. And when I look at the web sites I've been involved with professionally in a development role, versus those I've attempted to design on my own, I have to admit that makes a lot of sense.

So what could I have done differently, to better address a room in which more than half of my listeners aren't developers of any stripe? Well, not a whole lot, to be honest. Symfony's direct relevance to a pure designer is pretty limited. I made as many references to monkeys, kittens, bathtubs and salsa dancing as possible without going completely off the rails. And for my part, I'm cheerfully committed to listening to the occasional presentation on design at future Refresh Philly events. After all, it's only fair.

But I do ask that they throw in an occasional reference to monkeys.