What Makes a Good Web developer, and how can you tell?

Luckily, I’ve never been a manager with people who report up to me. I’ve been a tech lead on a few teams, and quite frankly, I find that I prefer to be doing the coding than directing it. Managing is about 10% more money for 100% more work that is 100% less fun. No thanks.

Nevertheless, it’s always a good idea to take part in the hiring process, and smart managers get their team involved. I’ve sat in on a lot of interviews, and talked and thought a lot about interview processes. However, despite all the complications inherent in the interview process, it is remarkably difficult to hire web developers.

  • A lot of great web developers have very odd educational history. Querying is hard.
  • Everyone knows what keywords to put in their resume.
  • Some really horrible web developers would be great programmers, but are not of the mindset to deal with in-browser development.

Today, I looked through a stack of resumes from upcoming college grads with my current manager since he’s got a requisition open for a front-end engineer. In the interest of full disclosure on this blog, here’s what I was looking for:

Education - Lots of topics

I’d rather see a list of minors a mile long than a single major that has anything to do with the subject. The world’s top expert on distributed systems and service oriented architectures probably can’t do much else. When you have a hammer, the world looks like a nail, as they say.

On the other hand, you have a candidate who started out in graphic design, and then decided that he liked math better, and then took some classes on computer science, and finally started making web pages, and decided that he’d like to do that professionally. Most of the best web developers that I’ve met have bounced around a lot in their studies, and only settled on web development because they found it satisfying.

Web development is a very open and strange discipline, and people who are self-directed and cross-disciplinary tend to excel in it.

On the other hand, no education at all is also not necessarily a bad thing. In this case, it didn’t apply, since the resumes were all for upcoming college grads.

Extra Activities, Other Information, etc. - Play an Instrument

It seems like a lot of web developers have some kind of musical inkling. Either they play an instrument, make electronic mixes, do amateur production for local bands, run a radio show or podcast, something. Music seems to be a common theme.

Some of us are terrible at it. For example, I’m a bad-to-moderate guitarist. But we all seem to enjoy it.

Put it on your resume. It matters.

Objective - If it’s not compelling, skip it.

I saw a few objectives that read like carbon copies of one another: An entry level position in a software company. Or this one: A job where I can put my education to use. Jeezus, why not just put A soul-crushing career kissing the ass of my dipshit manager while I contemplate burning the building down?

On the other hand, I saw one that said Remake the web in a groovier image. His name got on the callback list. A lot of them didn’t have an objective section, which is perfectly acceptable if it’s obvious.

Ultimately, every hiring decision is an exercise in risk management. The hiring manager has to ask himself, Does it put my project more or less at risk to hire this person? Adding a new team member is a big risk. They might be a drag, and bring down the productivity of the rest of the team. On the other hand, you need people on your team, and not having them can be an even bigger drag. On an emotional level, hiring decisions come down to a question of Will I enjoy the experience of working with this person, or not? There are a lot of really smart people out there, and some of them are a chore to work with.

The resume is a validation key designed to get you in a particular door. The more it shows off what you’re really like and what you’re really into, the more likely it is that you’ll walk through a door and like what you find.

5 Comments

  1. Mark El-Wakil

    Posted Mon 2007-11-05 @ 16:14:42 | Permalink| Reply

    Thanks for posting this. I’m actually in the unenviable position of looking for developers now, and I found this useful.

    Keep on blogging :)

  2. Dynamic Developer

    Posted Tue 2007-11-06 @ 08:13:21 | Permalink| Reply

    Good post. I think it’s also important for a candidate to show that they’re involved (or willing ot be involved) with the wider developer community. Taking part in blogs, forums and events, etc. I’ve done the most learning when interacting with other developers, even when i’ve been the one offering help. The worst thing is to have a developer stagnate in his own world. He’s gotta get out there and get inolved. His skills will improve twice as fast.

  3. Isaac

    Posted Tue 2007-11-06 @ 15:45:42 | Permalink| Reply

    Absolutely, I can’t believe I forgot about that, thanks!

    Since this post was specifically about reading through resumes, it can be tricky to judge web presence. However, if someone hasn’t registered their name .com (ahem) and put it on their resume, then how serious are they about web development? At the very least, include a list of sites that you frequent and blogs you read. (This is also a great interview question, partly for personal gain. I’ve found some great sites because a candidate mentioned them!)

    You can be sure, a hiring manager is going to google your name. It won’t be the first thing he does, but if you get through the first basic checks, it’ll happen. If the only hit is your LinkedIn profile and a few comments on Fark, that says a lot. The top hit should be your blog, your resume, your comments on A List Apart and php.net. So get out there, converse and contribute, and use your real name.

    The worst thing is to have a developer stagnate in his own world. He’s gotta get out there and get inolved. His skills will improve twice as fast.

    I’d go a step further. His skills will improve at all; the only other alternative is for his skills to degrade over time. Programming is a social behavior, and in this connected age, there’s no excuse for doing it alone. Stagnation virtually ensures that your skills will devolve. It’s not just about being outpaced; if you’re not engaged in the broader community of developers, you are going to lose the perspective that comes from multiple viewpoints, and eventually, even the skills you once had will fade.

    If you aren’t experienced enough to be adding much to those communities, it’s probably worthwhile to put the sites you read on your resume. What sites you think are relevant says a lot about your priorities and experience as a developer. (Here’s a hint: stay far away from w3schools.com. If you like that site, it’s a red flag. It means you’re probably full of bad habits and half-learned techniques, and think you know your stuff.)

  4. Stephen

    Posted Mon 2007-11-19 @ 19:18:24 | Permalink| Reply

    You know, I agree with most of this. Except the online involvement part. It think it is important that a developer is current, and to be current they need to be reading blogs and keeping up. They may not really have time to contribute much to the blogs and the community at large. (they being me mostly) I would like to think this doesn’t make me a bad developer, just a busy one. Nevertheless I always keep up with the latest developments, ideas, techniques. I also avidly follow all ecmascript4 flamewars.

  5. Isaac

    Posted Tue 2007-11-20 @ 12:05:09 | Permalink| Reply

    I see where you’re coming from. But, in all fairness, you have a blog, and you comment on this one, and you work at Yahoo!, and working at Yahoo! does tend to keep webdevs rather busy. (And actually, as webdevs go, if they work(ed) at Yahoo, then they’re probably high quality. I’ve had recruiters tell me as much.)

    The point I was getting at was how to guess the odds of a webdev being a rock star, given only the resume to go on. Looking at two resumes, all other things being equal, the one who’s written 1000 useful comments on php.net is more likely the guy you want.

Post a Comment

Post Friendly. About