Parnas’s Law of Hiring

My colleague, Will, has been attempting to hire developers. He’s a bit frustrated. Take a look at Explaining the tech job market. Will is frustrated with the level of competence he’s seeing in candidates. That prompted him to discover Parnas’s Law of Hiring:

Parnas’s Law: The more incompetent developers you hire, the more you need.

There’s plenty of anecdotal evidence to back this up. In fact, one of the reasons agile projects succeed more often than traditionally planned projects is because there’s no place for incompetent developers to hide. Either your stuff works today and tomorrow and the next day or it doesn’t.

So how do you recognize competent developers? Well, the first thing, is analyze the job. Competent developers don’t care what language they use, although may well have a preference for some languages over others. If you write a laundry list job description, you won’t attract a competent developer. Think hard about the functional skills you need, as well as the domain expertise required, and how well a candidate has learned products in the past. Make sure you ask behavior-description questions in an interview to discover what released products the developers worked on, and how they worked. Develop an audition. Check references.

There’s a corollary to Parnas’s Law of Hiring: The more incompetent the hiring manager, the more incompetent developers you hire. Sad, but true.

2 Replies to “Parnas’s Law of Hiring”

  1. Love the quote about how “…a number of people get into trouble by picking the resumes with the right buzzwords, instead of one with all the words spelled correctly.”
    I just witnessed the hiring process for a QA Manager at a small software division of a large company. The hiring was done by a senior manager that has zero development experience, much less any specific QA knowledge. The final decision – the candidate who had *dozens* of typos and gross grammatical errors in his resume. Call me old-fashioned, but if a *QA Manager* can’t take the time to make sure that his own resume is flawless what is he going to do when he is faced with assessing the quality of the work of dozens of developers.
    And yet senior management wonders why everyone in QA is miserable and looking to jump ship…

  2. Great post. One of my Java developer contacts recently did some .net work with no experience – he just picked it up as he had to, because that’s what good developers do.
    Understanding this has completely changed my pitch to software managers when I find a good candidate. I don’t let a resume dictate the interview, and the result is faster hires with developers who help move the project along.
    I used that released line today – hope you don’t mind.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.