Hello, my name is Geoff and I am a web designer. At least, that's what I tell people I do for a living, because it's what most people understand.
The truth is, I am a front end developer. If you read this blog with any sort of regularity, then I don't even need to bother explaining that job title.
Or do I?
I get a sense that we likely have different definitions for what it means to be a front end developer. I bet the job description you would write for me varies a ton from what I actually do on a day-to-day basis. You may even expect that I know certain programming languages that I, in fact, do not.
In other words, some of you may not consider me a developer at all, or a poser at best. Many hold the opinion that front end development is not development at all. That used to hurt my feelings.
I found myself recalling those hurt feelings recently when Lara Schenck shared her story of missing out on a UX job because she wasn't familiar with the programming test FizzBuzz. The fact that she didn't get the job didn't bother me as much as the number of snarky comments her story got, mostly from people who don't consider front end development a form of development.
My Tale of Being a Non-Unicorn
I design for the web, and often code those designs into the stuff that people interact with on the front end.
I didn't always write code. In fact, I never thought I would ever write a single line of it when I first started designing sites in 2005. Designers worked in Photoshop and developers worked in whatever they worked in — I didn't know because it never seemed relevant to ask. We were all cogs in the machine, at least at some of the places I worked at.
Am I excellent at all of the above? Absolutely not. I definitely get by, but I still find myself navigating Stack Overflow forums for what might be totally obvious answers to other developers.
That's the abridged story of how I became a front end developer. Or front end designer. Or just plain designer. Whatever.
But You're Still Not a Developer!
This is where I get a little hippie-dippy on things because I think the role of development is an evolving concept. Is development just about programming? Or can development be design as well? Because, if it's all about programming, then I'm definitely not a developer.
The truth is that development has a lot to do with both design and programming. They're not mutually exclusive. Trying to divide them in a cage match over who owns the term is as useless as Santa Cruz and Huntington Beach fighting over Surf City, USA.
How I Cope With the Criticism
I tend to deal with the criticism that front end development is not "real" development simply by not worrying about semantics. Honestly, I don't care what people think my job title is. In some circles, I am seen as the designer. In other circles, I'm seen as the developer (for lack of a better word, I guess). Heck, as I type this, Chris Coyier sees me as the writer. Where does that fit into anything?
I called myself a web designer at the beginning of this post and that is my default answer for what I do. Some of my work happens to involve designing layouts. Some of it happens to involve coding prototypes. Some of it even requires me to write functions. All those pieces are what work together to develop a website, which is what I'm trying to do at the end of the day regardless of if I am seen as a designer or a developer.
Where Do We Go From Here?
First off, let's make love and not war. I'm not really a fan of name-calling and snarky online comments because it's unproductive.
Secondly, I think the door is wide open to talk honestly about the need for better job descriptions. The point of Lara's post is not that FizzBuzz is the epitome of evil, but that the job she interviewed for was out of scope from what was written in the job description.
Lastly, let's accept that our industry changes rapidly and that includes the scope of the work we do. We need to have an expansive and evolving baseline understanding for what front end development encompasses and that the meaning of *development* may shift from time to time or even project to project.
OK, time to stop writing and start designing. Cheers!