Last week, i posted the following tweet:
Bart De Keersmaeker replied with an interesting question:
I don't read a lot of CV's in my current job (in this case, i was just filling in for someone else who was on vacation), but in my last job i did a lot of technical screenings and have seen more than my fair share of CV's. I don't really have a 'number 1 item' that is guaranteed to get your CV in the 'must-interview' pile. But there are things that i love to see on a CV, and there are things that i absolutely hate to see on a CV. While reading this, please keep in mind that i am a developer and that my opinions of what makes a good CV are most likely entirely different than those of recruiters (since most of them just scan for buzzwords and specific technology mentions). If you let this influence your CV, don't complain if it actually makes it harder to get through the recruiters. But i do think that once (if?) your CV makes it into the mailbox of a developer, it should improve your odds.
Dislikes
- Mentioning every single technology/framework/library you've ever worked with. Keep in mind that less is more. Just list the important ones. There's no point in providing a lengthy list of stuff that nobody is using anymore. Also, group them into categories (languages, ORMs, IOC containers, testing frameworks, etc). Believe it or not, that is a very easy way for you to show that you can at least categorize them, which is something that many people who list every single thing they've ever used aren't often capable of doing. Grouping them in categories also indicates that you're aware of the concepts behind them, which gets my hopes up that you're the kind of developer who can easily apply his knowledge of those concepts to similar frameworks/libraries/tools/whatever which you may not have used yet. Also, don't list anything that you don't feel comfortable answering questions about. Always assume that you will be questioned about anything that you mention.
- Mentioning every single project you've ever worked on. Again, less is more. Mention the important ones and describe them briefly (a couple of sentences at most). If they weren't very interesting (and that's not necessarily a reflection on your abilities so don't be afraid to be honest about this), just list them as 'various forms-over-data applications' or something like that. I'll know what it means, without having to read the same thing over and over again and i will appreciate the honesty.
- Repetitiveness in job descriptions. There's nothing wrong with mentioning your role on the projects you've worked on (actually, please do so!) but keep it short and don't make it look like a copy/paste job (unless you're only listing the role). There's really no need in repeating the same responsibilities and tasks over and over again, and it sort of indicates an inability to communicate efficiently.
- Dogmatic statements. I love opinionated developers. It's an indication that you're serious about your job and usually (though not always) shows a level of passion. However, if i get the impression that you're incapable of compromising, don't expect an invite. If you're going to be working with other developers, i need to know that you are capable of putting your own preferences to the side in favor of any team-preferred solution. I want you to be open about those preferences, but if there's a "my way or the highway"-vibe, i'd be reluctant to have you come over for an interview.
- Bad grammar and spelling. If i get the impression that you couldn't even take the time to proofread your CV, i'm going to assume you're unlikely to do so with your code before you commit it, or mails before you send them.
- Unexplained overlapping dates. Be sure to explain any overlapping dates between projects and assignments. Every time i see overlapping dates without an explanation, i can't help wonder whether it's a mistake or not. A CV should not contain mistakes, because that's another sign of sloppiness.
Likes
- Mentioning Open Source contributions. It shows that you're passionate about what you do which unfortunately, is rather rare. It also gives me a chance to check out your code which is always very telling. Also, if you have a GitHub account it definitely makes sense to list it. It not only gives me access to the code you published, it also allows me to see how you interact with other developers if you get contributions to your code or submit contributions to other projects.
- Mentioning community involvement. Giving talks, going to (or helping with the organization of) conferences or any other developer focused events, blogging, etc... mention it, even if it's just 'small' stuff. In the case of blogging, be sure to include a link to your blog as well. All of this stuff shows that you care about improving as a developer.
- Listing your favorite technical books and/or what you're currently reading. Another good indication that you're willing to invest some of your personal time to improving as a developer. It also provides a good look into your technical interests, which can lead to interesting conversations during an interview.
- Keeping things short and to the point. Nuff said

To be clear: i don't consider open source contributions or community involvement as requirements, but it certainly increases your odds to get an interview. It is however unrealistic to assume that everyone has the time for that or even wants to do that. There are plenty of good developers out there who don't contribute to open source projects or blog and i'd be more than willing to invite them for an interview if their CV avoids the Dislikes.

