Front-end development defined

Front end development is the development of those elements of a website that the customer sees and interacts with directly.[1] It is a combination of programming skills (knowing which program to choose) and aesthetics (understanding element arrangements on the screen, the color and font choices).

Note that the ability to make visually creative choices is not a requirement. A front-end dev has to comprehend and manipulate these things, but not necessarily be creative aesthetically. That falls primarily under the category of visual design…technically. Also the ability to make creative choices about animation and user interaction falls under User Experience (UX) or Interaction Design (IxD)…technically.

Creativity not required…but preferred

In the long run, you can and should attempt to at least dabble in those areas. Getting decent at all 3 will make you a front-end powerhouse, and some of the most exceptional front-end devs I’ve met are good at all 3…but people like that are pretty rare. The necessary requirement for front-end development is the technical part.

Here are the the things that I think are required to be called a front-end developer:

Now, all that said – these days some job descriptions for front-end developers include some of the above design skills. If you’re applying for a job at a startup that has no in-house designers, chances are they’re going to expect some sort of aesthetic ability in this area. This is where it really pays to know whether you’re good at this stuff (or not) and market yourself accordingly.

I for one suck at visual design, mostly. I can scrape by and alter existing designs in some small ways, if needs be. I also have an eye for good UX vs. bad UX, and can critique and alter it well. But if I tried to create a design from scratch it’d turn into crappy, distraught, abstract pop art at best. And at the end of the day, it doesn’t matter since I’m great at front-end programming, and that’s how I market myself.

Focus on what you’re good at

The moral of the story is that to be a good front-end dev, it’s good to have some aesthetic ability or at least the ability to communicate about it. If you’ve got that, market it as a strong point. But if you’re totally programming-minded, you can roll with that and still have a fantastic career.