This morning @smashingmag posted a link to this article titled “Skills for Front-End Developers” and I counted 43 skills on that list. First of all, let’s all make a resolution for 2012 to stop making lists and produce content instead. Now, let’s roll up our sleeves and look deeper into the problem.
Lists are by nature thin on content. When it comes to readers understanding lists, they assume either prior knowledge or that knowledge is expounded upon in the text, for example, a table of contents in a book. That “skills” articles misleads on both fronts and adds to the noise about getting jobs in the web industry. Don’t blame the author. It’s a trend that’s started even before the Internet existed.
The information revolution came without an instruction manual. All the data in the world cannot teach us how to sift through data;
- The Joy of Quiet, New York Times, 1 January 2012
In my response to @smashingmag, I tweeted the “secret to being great is knowing what you do and don’t need to know”. Whether you’re a beginner or a professional, it is easy to get lost in technologies as the web evolves faster and faster. I’ve been working with the web for over a decade and will try to help beginners sift through that information.
The Dirty Secret about Job Postings
Listings for web designers and developers are often not written by your peers, i.e. fellow designers and developers you’d work with but by HR folks and managers with little web design/dev experience. I have been asked to review ads at my previous company for “technical” relevancy by my managers before we posted them. Even if you tell a manager that a certain skill is not a must or irrelevant, they feel it is and my impression is that those lists make the position sound challenging, which in turn boosts their own ego and importance. And that’s ok, we’re human. So given that, what can you take away from a job posting?
Always look at hiring from both perspectives. As a job seeker you are interviewing companies you’d like to hire to be your employer and the ad is just first glimpse. I place more value on how they describe themselves and what the potential responsibilities are. If the work sounds interesting and the work environment sounds like a fit, then look at the skills list before you apply. Here’s another secret, ignore “years of experience”. If a posting reads x years experience in PHP or whatever language, I read: x years experience in web development. If you’re a good developer, you can switch from one language to another, on average in six months before you don’t have to look up syntax or small issues to convert previous design and dev patters, as David wrote in his post.
Before you apply, make sure you have a decent portfolio. I know this goes without saying, but you’d be surprised at how many people have bad or broken portfolios. As I was filtering applications for my replacement for my boss in November, I always started with the portfolio before even reading the resume and if it looked like the person made minimal effort, I immediately hit the delete.
If you think that is unfair to delete without reading a resume, here’s another industry secret for you:
Don’t mix skills with experience
Two of the terms on that list that really irritated me are internationalization and localization. Both are experiences not skills, with the difference being understanding vs. knowing. You can read a php book and know what OOP is. But do you know how to use OOP?
While working at Ancestry.com we encountered many challenges of having a single code base support multiple sites with their own features to suit their markets and languages. A basic example is accommodating various phrase lengths in buttons. I was in the German team and we constantly broke layouts with long German translations. A more complex example is developing grids and structures that suit multiple markets with the same basic templates but unique features or content blocks. You want to keep CSS sprites for better performance over <img> so how to you design your ID and class architecture?
There’s no solution to that question, just a response for that particular situation. For that reason, it’s not a skill or something you’ll find in a handbook or manual. You just have to go out there and do it and learn for yourself which responses worked in which cases and why, or why not.
Ok, but what do I need to know?
For a front-end developer, it’d certainly be nice to know all forty three skills. But honestly you’d be hard pressed to find one and I wouldn’t hire one. People who can wear many hats are very valuable, but at some point you get diminishing returns and end up with an expert at nothing. There are many different kinds of front end development. At its basic variant, you turn photoshop files into HTML and CSS. Congratulations, you’re a front end developer! Not as exciting as you expected? Well, you could also be a front end guy (or gal) focusing on mobile websites so you add responsive to your belt. If you join a larger company or a startup in the web app or mobile app business and suddenly speed and performance come into play. Within the app field, you could be in online game dev and you live and breathe canvas and SVG.
The real question is not what skills you need, but what do you want to do? Only you can answer this. Once you have that, you may find you already have the skills you need. Finding what really interests you, drives you requires time and often trial and error. But when you find it, you may also discover that you’ve also acquired the skills you need to do what you love.