Tuesday, August 27, 2013

Australia's got talent?

Mike Cannon-Brookes was on the radio. Slamming the government's drive to cut down on 457 visas. “We don't have the scale or scope of talent here”. For some reason his words were making me angry. Red hot under the collar, steam coming out of my ears type angry.

So I had to reflect. Was my anger because I'm not sure we actually have a shortage of software developers in Australia? Or that I think that employers in this industry are continually trying to hire people that they don't have to train? No. They might have been a contributing factor to my internal steam levels, but they weren't the cause.

I was getting annoyed because of the use of the word “talent”. To me it is such a nebulous term. What on earth do we mean when we use the word “talent” in the software industry?

I have a dread suspicion that it is an unconsciously used synonym to indicate “superstar” employee. That the real complaint here is not that we do not have enough developers, rather, that we do not enough superstar developers.

Trying to break this down a bit, first off, what is talent? In this article Scott Barry Kaufman, adjunct assistant professor of psychology at New York University, tells us that talent and practice are intertwined. And that 10 years of deliberate practice seems to be the general rule when it comes to developing deep domain specific knowledge.

Which leads me to wonder if the speaker at the developers breakfast I attended a few weeks ago, targeted the right thing when he suggested that we use the latest “hot” languages and tools to attract the “young talent, fresh out of university”. Surely we should be looking to attract the older and more staid developers, rather than avoiding them, if we are looking for deep domain specific knowledge?

Scott Barry Kaufman goes on in the article to tell us that talent can be see as the mix of characteristics that allows someone to either accelerate the acquisition of the deep domain specific knowledge, or to perform better than someone else who has a similar level of practice and learning.

He then notes that the interaction of genes and environment play a distinct role in helping us to develop by increasing our abilities according to our talents, and in turn those personal characteristics that we call talent. In the article he finishes by stating that “we shouldn't dismiss the seemingly untalented” and that we should in fact be “keeping the door open and instituting a dynamic talent development process where the only admission criterion is readiness for engagement”

Which is not what I feel we are doing in the software industry.

I have two dead canaries in this coal mine.

The first is Ted Neward. I've never met Ted Neward, and I have no idea what he is like as a person. However, I do know that not only does he write books and articles, he has also written what is to me one of the most insightful blog postings I've ever read in my career in software: The Vietnam Of Computer Science. I believe that the world would actually be a better place if this blog posting was required reading for software developers.

So if Ted Neward was interested in working for a company I was at, I would be delighted, as we could learn much from him. I would be trying to find out what he was like as a person, and seeing if he was a good fit for the people he was going to be working with. I certainly would not be getting him to write a programming test.

However, in this whacky industry: yes, he was required to write a programming test. And was rejected on that basis!

My second canary is someone I met socially, recently, right here in Melbourne, who has been unemployed since graduating two years ago. One of the desirable “young talent, fresh out of university”. Unable to find work, he has been getting by through tutoring and part time teaching at the university he graduated from. So. Degreed, good enough to be invited to tutor and teach, but not “talented” enough to hire, in a country where we are claiming to have a shortage that is so bad we need to bring in people from overseas on special visas.

What seems to be happening is that the software industry has adopted some sort of heard mentality as to how to hire people. Heard mentality in hiring is apparently normal. Not rational, but normal.

As ever, though, we've taken it to extremes by becoming increasingly set on using coding tests to find out if potential hires have “talent”. But really, how do you set a coding test for a mix of characteristics that will indicate that the person in front of you has the potential to be a better developer than someone with a similar level of experience?

The truth is that if we as an industry hire like this, a shortage of people passing our tests doesn't indicate a shortage of developers: it indicates a shortage of developers that companies are prepared to hire.

Some thoughts have been bothering me about all of this:
  • If anyone is going to have to pass a test showing their ability at hiring time, then I would very much like it to be, say the brain surgeon who may be about to operate on me. Strangely enough, the medical profession doesn't seem to work this way. Why is that?
  • Are we actually moving to a world where some newly graduated developers are not going to find work in the industry because they aren't “talented” enough? My second canary seems to indicate that this may indeed be the case.
  • Is this the hoary old chestnut about developer productivity raising its head again?
  • Why don't we regularly test existing employees? If recruitment tests are actually useful in determining “talent”, then it would be good to regularly check to see if our internal processes are helping our talented developers to further their acquisition of that deep domain knowledge?
  • How many companies regularly review their recruitment process and measure its effectiveness?

Having pondered the Scott Barry Kaufman's article on talent, I've decided that if a developer can pass a simply “fizz buzz” test, then they have enough “talent” to hire. End of story.

The onus should actually be on the companies that hire developers to create environments that are conducive to developing “talent”. Rather than creating ever more stringent and time consuming new hire procedures, they should be “instituting a dynamic talent development process where the only admission criterion is readiness for engagement”.

Just about the only Australian software company I'm aware of that seems to do this, by design or accident, is Atlassian. The company founded and run by Mike Cannon-Brookes.
Go figure.


Martin Paulo said...
This comment has been removed by the author.
Martin Paulo said...

This is a fairly interesting followup article by Ted Neward, on his hiring experience: http://blogs.tedneward.com/2013/08/20/Programming+Interviews.aspx

Martin Paulo said...

And then theres this rather interesting oddity from the UK: