Potential Does Not Equal Ability
Written by
David Goodrich
Wednesday, Aug 26, 2009“We would rather hire someone with a good attitude / personality and train them then hire a talented person with an incompatible personality,” is a quote I have had thrown at me several times while talking to prospective clients. I find this interesting because it reflects several flawed propositions: that talented people with good attitudes don’t exist, that it is easy to train someone with math / logic skills to become a good programmer within a short enough period of time to make the decision cost effective, that the client would rather place the future of their business in the hands of a novice. I could probably name others but let’s look at these three for now.
Before going further let me assert that I would never advocate hiring someone who is perceived to have a bad attitude, or who demonstrates a personality that would not fit within the hiring team or within the hiring corporate culture. I think everyone could agree that the cost to team morale, and productivity would prove to be too expensive. Also, I think that including a personality assessment in the hiring process is a good idea, but it should not be done in place of, or given higher priority than the technical assessment – when hiring a software developer.
Sometimes hiring a junior developer is desirable. You have a good team of programmers that design and build well, using a tight, well developed methodology. You want to expand your software development team. Your team has enough slack in their schedules to spend several months training a junior programmer. Hiring and training a person with high potential makes sense. However if your current software development team has little slack time, they will not have the time needed to train the junior programmer.
Your company is dependant on technology for its competitive edge. You have automated certain business processes. These automations allow you to lower the costs of your services or products because your business requires fewer employees to run. These automations also allow your business to run faster, smoother and more accurately. You have developed, or want to develop proprietary software that will give your company an edge over its competitors. Do you want to turn over these business critical systems to a talented professional or to someone who has the potential to learn, but has to do so on your time and with your critical systems? Again I am not saying that you need to settle for someone with whom you cannot work, or with whom your staff cannot work. What I am saying is that if the choice is between the person with just potential and the person with skill but a personality that does not fit your corporate culture, keep looking for someone who has both.
The fallacy of potential is the unspoken assumption that potential will always blossom into skill and knowledge. This is simply not true. Take a hard look at the potential down side. You hire someone who is a good fit to your corporate culture but has written very little real code. You may have asked this person to take a programming aptitude test. Why not? They are very cheap and give fast results. At the first deliverable date the project is late but the developer assures you it is coming along fine. Two weeks later the project still is not done, or worse the developer convinces you it is done and your employees begin to use the new code. The new code does not work, maybe is crashes, or worse it applies data to the wrong records and accounts are messed up. You ask the developer to fix the code, but things get worse. Finally you must replace the developer with someone else, someone you now expect to clean up after the first individual. This sounds like a worst case scenario but it happens a lot. Twice I have personally been hired into a position or brought in as a contractor to be the clean up person. In an earlier article I describe the traits of a good software developer as “a well honed instinct and a demonstrated desire to continue growing and learning.” The programming instinct is something that can only be learned over time and usually by crossing language and industrial boundaries. Though the ability to solve logic, spatial and thought problems is critical in a software developer, only the ability to write software and then applying what is learned to a new language, technology or industry truly indicate an individual is a software developer. Again developing this skill / instinct takes time. Are you willing to take that time, are ask the members of your staff to take that time?
The software that drives your business is crucial, especially the proprietary code you develop in house. When you hire a software developer to work on your business critical software, do not make the mistake of hiring someone with a great personality, but no programming skill. Do your due diligence and find a skilled developer that fits your corporate culture. By all means give personality tests but be sure to make your finalists prove they can write software by asking them to write software. If you do not have the skills required to evaluate a software developer’s ability take advantage of IdopI Programmer Evaluation Services.