when relevant content is
added and updated.
when relevant content is
added and updated.
I submit to you that today, right now, in software development, we have a crisis of competence. This crisis shows up in at least two ways.
- Hiring managers do not know how to assess competence
- In order to qualify for jobs, candidates feel they have to inflate, or directly lie on their resume.
The result is something called a lemon market. Arising from automobiles, the basic idea was that if the buyers (employers) could not understand the value of what they are paying for, they are likely to simply buy whatever is cheapest. “After all”, as I heard one executive say “we can have projects fail for a third the hourly rate without the risk of permanent employees.”
Over the past few years, I’ve managed to do a little hiring myself, and a great deal of interviewing. That time has taught me that the audition is likely the best way to interview. I have also learned a few broad, sweeping generalizations about the audition that, are firm enough to need feedback.
Allow me to share a few words about assessing competency.
At my company, Excelon Development, we’ve developed a series of exercises that simply ask the candidate to perform the job. The exercises are small enough that they can go from problem statement to completed work in twenty minutes to an hour.
Here’s a new thing I have learned:
- Candidates with less than three years of experience are unlikely to be able to perform the job at all under any meaningful pressure
- Those with three to five years will perform substantially below what you would expect on the job
- Those with five or more years of experience perform competently
- At seven years, the candidate can describe the choices they made and defend them, and begin to communicate in terms management can understand what the tradeoffs will be — within their own specialty
- After ten years, the candidate may be able to predict the outcome of a given scenario
- At fifteen years, they may be able to do this cross-disciplinary, and understand the impact to other teams
Two amazing things here are the low end and the high end.
The lesson at the low end
The amazing thing about the low end is just how low it is. Even to the skilled recruiter, interviewing people with limited experience in a complex technical domain is a bit of lemon market. Performances here go from bad to hopelessly unable to do the job under pressure. The common response to this is “you can never tell how people will do under pressure” or “that’s not fair.”
Sure it is. That person just demonstrates to me they have somewhere between zero and three years of experience. How do I know this? By conducting hundreds of interviews and being intimately familiar with the subject matter.
That doesn’t mean the person is incompetent. It just makes recruiting at the low end harder. Instead of skill, you can test for attitude and aptitude … but that is a different post.
Luckily, most companies can assess the low end either by promoting people internally who have already passed some sort of audition or interviewing at colleges. At the high end, there is good news.
Good news at the high end
Look at those bullet points again. People with ten years of experience can basically predict the future. Add a few years of experience onto that and they can see past the bubble of their own role to understand the team, the division, or the financial impact of those decisions. That is amazing.
Not everyone gets to those levels. Fewer still can show off those skills in an hour or two of interviews. And there is always possible that a person who was a rock star in one culture will fail to thrive when they jump ship. Still, the overall lesson is clear: Competency matters.
In the conference world, there is a fair bit of concern about the people who speak “all the time”, who demand “all the slots” at conferences. There’s more than a little energy to over-turn this hierarchy. After all, all hierarchy is about power, and all power is tyranny.
Except it isn’t. Some of the hierarchy is competency.
For eight years now I have been writing on this blog. A fair bit that writing has been about mistakes and how to avoid them.
If you want to get good at building software development cultures, learn to look for competence.
A lesson in competency
What I wrote above isn’t right by any means. It’s hopelessly wrong. What it might be is the start of a real conversation about how to grade auditions and how to calculate the value of experience. There is also a distinction worth making between abstract thinking skills, broad general skills, the ability to learn, and the master of a specific technology. For example, someone who is only the latter – an expert in Java – might have a problem switching to C#. Someone with the first three might easily switch languages. Perhaps, just perhaps, we can improve on these guidelines to make them useful enough to make our hierarchy more just.
At my company, Excelon Development, we are doing a little to help with this. Our hand, so to speak, is to the plowshare.
What are you doing to fix it?