Are Americans too dumb to be good developers? Many people feel the opposite — that we might be smarter than anyone else on the planet! But what does it mean to be a "good" developer? Does it mean having raw brainpower and IQ? Or something else?
An American-run software outsourcing company in China used to brag that it only hired Chinese developers with IQs greater than 140. But it had to lower the bar to an IQ of 120 when hiring Americans. On one hand, that feels like a dig at Americans. On the other hand, valuable skills such as creativity, English proficiency, communication skills and the ability to work in a team don't necessarily correlate with IQ.
Americans didn't always have this focus on high IQ as a requirement for a good career. My parents grew up during the depression of the 1930s, and neither of them graduated from high school, but they were successful in starting their own business and living good lives. Times have changed, but some say we're overemphasizing intelligence to the point of pursuing a war on stupid people in U.S. society.
In our book, Outsource or Else!, Accelerance president Andy Hilliard and I felt we needed to include a scene where Jason, the VP of software, uses a challenging question during his interview of Pete, a software developer candidate.
Jason's puzzle question to Pete: You're given a function, 'foo,' that represents a biased coin. When foo is called, it returns a 0 with 25 percent probability and a 1 with 75 percent probability. In any programming language, write a new function that uses foo but returns 0 and 1 each with 50 percent probability.
We were concerned that our vice president would come across as a technical lightweight if we didn't include a scene and a question like this, but such a question doesn't test technical skill or IQ. The question shows how well job applicants think on their feet, how creative they are and how they deal with pressure. Pete is an excellent developer, but Jason delays hiring Pete until later in the story because of Pete's human language skills. Jason's hiring decision is delayed because of questions over Pete's company culture fit. More about that shortly.
A hiring manager needs to look for a diversity of technical, social and communication skills, as well as a cultural fit. A technical lead or VP of software may naturally focus on technical skills, seeking competence and proficiency in programming. In a recent article titled "The Traits of a Proficient Programmer," Gregory Brown points out the difference between competence and proficiency. He defines competence as "having enough experience and knowledge to get stuff done; proficiency involves knowing why you are doing something in a certain way, and how it fits into the big picture."
Maybe you're thinking "If proficiency is better than competency, then I should aim to only hire proficient, or even expert, candidates." But hiring only senior-level experts is impractical and can lead to conflicts when you focus on technical skills alone without consideration of social and communication skills. You don't want a team of smart prima donnas! It's better to have teams with a mix of technical skill levels — mostly competent developers and a few who are proficient that act as team leads and mentors. This way everyone contributes and improves over time. A key is to ensure all team members are a fit for your company culture.
But the trouble with "culture fit" is you really have to understand your company's culture to accurately judge if a fit exists. Jason does a poor job of judging Pete's cultural fit at first, comparing Pete physically to the type of people presently at the company. Prejudice about how people look will cause you to miss out on the power of diversity. Prejudice (and even racism) is what stops people from considering global outsourcing as well.
Ramping up an entire team can be instant, but four to six weeks is more typical. It's unlikely that a good software outsourcing firm will have enough developers of the type you need sitting on the bench ready to join your team immediately.
For example, a recent client of ours in the Midwest made a big commitment to growing their software development capabilities. They were able to ramp up multiple teams for a total of 40 developers in about three months with a software outsourcing firm in Latin America. Rapid hiring like that on your own is likely to lead to hiring a few bad apples, especially for a company that hasn't done heavy recruiting recently. Good software outsourcing companies are always recruiting heavily. Recruiting, along with training and retention programs, are core competencies and a center of excellence that you should look for when evaluating your own global software outsourcing partners.
Technical, social and communication skills are more important than just raw intelligence when hiring your software development team. That's true when you're hiring smart human beings anywhere on the planet, even Americans.
This article is published as part of the IDG Contributor Network. Want to Join?