We’re in a recession. If you believe the austrian economists, it’s not going to get any better anytime soon. Now the good news: There are plenty of software developer jobs out there. Bad news: Everyone and their brother is applying for the same job you are.
Not all programming jobs are created equally. Working at a hipster media engagement firm is different than developing an internal line-of-business app, which is different than game programming or non-profit work.
Most programmers work dull jobs in a corporate environment developing bespoke software. It’s a living. My advice won’t help you land a job at Fog Creek Software, or Amazon, but it will help you everywhere else.
1. Pare down your résumé. I don’t read pages worth of résumé. I just don’t. It’s not interesting, and it tells me little about a candidate. When I find a résumé with one page, that makes me a happy camper. I get grumpier with each subsequent page.
2. Tailor your résumé to the position you’re going for. If I’m hiring for a Winforms job, I’m looking for experience with C# and Winforms. I think it’s cool that you know Perl, and we’ll talk about it during the job interview, but don’t spend bullet points devoted to it. If you don’t tailor your résumé, it’s an indicator that you don’t care or are desperate. You may be desperate, but pretend this is dating: Don’t show it.
If you feel the need to include those jobs for the years of experience myth, then include the header and the position title. I don’t need gory details. If I care enough, I’ll ask in the interview.
3. The minor details matter. It’s not ‘dotNet’ or ‘.Net’, it’s ‘.NET.’ If I see dotNet on a résumé, I automatically file it under, “This candidate doesn’t pay attention to detail.” No squiggly lines, either. Most résumés these days are sent electronically, and those squigglies show up.
4. Skip the boring stuff. Every programmer debugs and writes code. If you feel a need to include it, do it as the last bullet point in each position. Otherwise, I want to read about the exciting stuff: How you saved them money or time, or sped up the code through doing something neat. Show me the numbers.
5. If you write it on your résumé, be prepared to talk about it. It may seem cool to put ‘JavaScript’ on your résumé if you’re an ASP.NET developer, but if all you’ve done is copy and paste a JavaScript script off the internet, you aren’t a JavaScript developer. Litmus test: If you can’t create a memory leak in your favorite language, you aren’t competent in that language.
6. Get rid of the objective statement. They take up space, they are horribly written, and they all sound the same. I skip them. If I see an objective statement that says, “I want a job that doesn’t suck.”, then we’ll talk. Otherwise, keep it out of your résumé.
7. I don’t care about your references. I’m not going to contact them. If you’re smart enough to be a developer, you’re smart enough to get people that will say good things about you.
8. I want to see that you code in personal projects. The vast majority of programmers are 9-5 programmers, for various reasons. All else being equal, I’m going to hire the programmer that codes on their spare time.
9. I’m going to google you. Have a web presence. We’re 16 years into the adoption of the World Wide Web. If I don’t see your name online by now, you’re 16 years behind the curve. Get a LinkedIn Profile, a blog, and spend time on programmer websites (+1 if you have a Stack Overflow profile).
10. No walls of text. Don’t overwhelm me with what you’ve done; I’m not actually reading it anyway. I’m only skimming, and I’m looking for specific things: Highlights, numbers, words that don’t belong and your grammar and spelling.
11. Include a cover letter. Woo me there. Give me the stuff that doesn’t fit in your résumé there. Make it interesting. Fact: I’ve received dozens of résumés, none that had a cover letter. Zero. That means if you give me a cover letter, you’re already ahead.
Next time I’ll go over what to do (and what not to do!) in the phone screen.