It’s been my experienced that front-end developers seem to get the short end of the stick when it comes to the importance of their work, especially if you listen to back-end and RIA programmers. But to me, a front-end developer’s main job is translating a static design into something that works on the web and that can be harder than most would suspect. On so many projects, I’m the one that has to take what the designer has made and build something that the back-end developer is going to be able to use with whatever dynamic system they’ve set up. Also, every web site that’s just a bunch of static pages are put on my desk and I usually have way less time than I’d like to get it built and online. But with everything, there are crappy front-end people, good front-end developers and then there’s great ones. What does it take to be a great one?
You need to be a HTML/CSS expert
I’m not saying you need to have everything memorized, I know I don’t, but you need to know how to use everything. You have to be able to take a design and almost immediately know how you’re going to lay it out. Not only that, you have to build everything with web standards in mind, which is harder than you’d think sometimes! If you even consider giving up and using a table because you can’t get something to position right, then you aren’t an expert. You should be able to make the site look good in all the major browsers, it doesn’t have to look exactly the same, just close enough that everyone’s happy. Also, being able to hardcore quickly will make your life a lot easier.
You need to be able to use Photoshop and Illustrator
I get designs given to me in a range of different formats, Photoshop psds, InDesign files, pdfs, and the odd Illustrator file. The designer is going to work in a program that they’re comfortable working in and it’s usually your job to get the assets you need out of it and turn them into a file format that you can use. Other times, you might have to remake something because you can’t get anything usable out of the file they gave you. I rarely get to do a full design because I work with 5 designers, but the odd time I’m the one that has to design the site and the more you know about a program like Photoshop, the better designs you can make.
You need to know at least basic PHP or a similar language
You can’t always be going to the back-end guys with every dynamic site. Sometimes you just need a site that displays the content dynamicly and if you can do that, it increases your value to where you work or to your clients but it also allows you to not bother the programmers with something they’d find pretty simple. Plus, knowing a language like PHP will enable you to talk to the programmers and understand what they want when you’re building the basic structure of a site that uses something like a content management system.
You need to know how to work with something like Flash or Silverlight
Clients love splashy pages and, trust me, they don’t think Flash is dead. The more you can do with something like Flash, the more you’re going to be able to do for your clients. Whether it’s just basic animations or something more complex like a game that fits the theme of the site, Flash can add some fun and make a site more dynamic. I build a few sites that are completely Flash every year and the more I know about Flash, the better the site will be programmed and the better it will run.
You need to know JavaScript and how to use jQuery
When I first started out, JavaScript was something that you never used. I remember people ripping sites because it had a JavaScript component and it was because browsers would be bogged down by too much of it. But with Chrome leading the way, JS has come back into fashion. jQuery lets you do simple animations that aren’t really worth using Flash for and it can also be used to make a site more dynamic. The more you know about JavasScript, the better, because since it’s rendering by the browser and they all have their own rendering engine, not everything works in the same way. The more experience you have with JS, the better prepared you’ll be to deal with those issues.
If you can do all that, you’re going to be the most popular person around. If you can do even more, then you’ll be rich. Like rich enough to afford a Macbook Pro! Plus, front-end devs are the cool people in the web design world.
I agree with this post all around. I tend to focus on being a CSS specialist, but handling those other aspects are quite handy. I’m not PHP guy, but I can poke my way through it. I find with a lot of things on the web it’s usually not that hard to find a tutorial or some snippets of code that will get you on your way without having to bother getting a dev involved.