Archive for the ‘job’ Category

Don’t cut time/energy/money invested in hiring

Sunday, September 26, 2010

Let’s face it, in our industry the single biggest asset is people. And yet, there is a whole subculture who tends to undermine the importance of hiring and retaining the best developers, while promoting the idea that programmers are interchangeable, like commodities for a manufacturing plant. Even the simple concept of Human Resources is per se despicable. It’s the people, stupid!

I don’t want to make it necessarily such a big moral fuss, even though it’s quite important. Today I just want to focus on your investment, as a company, in hiring the right people regardless of their experience or job title. My friend Antonio Cangiano has brought to me an ideal occasion when he reported about his experience hiring two interns for the DB2 Team at IBM Toronto Lab. Specifically, I found some of the reactions in the comments very surprising, especially those commenting negatively about the effort that Antonio and his colleagues have put together to hire two interns, starting from about 100 resumes. What is even more depressing is that it seems that some of the comments come from developers themselves and they go along these lines: How can you possibly devote so much time/energy and ultimately money to hire two shoddy interns?

I wanna reply by telling a story. Between the last 5 years in Canada and 7 years before in Italy I have been ultimately responsible for hiring probably a total of 60 or 70 developers, with experience between 0 and 10 years of software development. While not every developer that I have hired was exceptional, most of them were great and I have to say that I have refined the process over the years. In the end, I have regrets only for one case: one of the very few cases where my gut was telling me “no”, I had some doubts (which is already a no-go in my books), but despite that I wanted to give a chance to the guy in front of me, full of energy and unfulfilled promises. Well, I should have listened to my guts. Nevertheless, one bad mistake in 12 years is not too bad, I think.

Three years ago my company wanted to hire one intern. We had a great respect for developers coming from CS at the University of Waterloo, Ontario. In fact, almost all the developers of the team were coming from there. So we thought that we wanted to give a try to their internship program. The only caveat: the internship lasts for 4 months only, so you have to carve the right amount of work, with the right degree of complexity, or the risk is to have an inexperienced developer to babysit all day without getting much out of her/him.

I’ve made very clear with my boss that I wanted to follow the same rigorous process that I used to follow with every other developer. Time after time, that process constantly showed us that in order to hire 3 developers we had to examine at least 100 resumes. That matched my experience in Italy too.

So, after the usual sing and dance we hired D. and we were quite confident that he would have done a good job for us, even under the very limited conditions imposed by such a short term. Nevertheless, D. exceeded our best expectations and he delivered much more. I guess that the feeling had been mutual, because he came back for more terms not only the year after but even two years later, long after I left the company.

A few months ago we had an opening at my company and I thought about D. almost right away. I have been lucky, in terms of timing, because he was about to graduate and finally he could take a fulltime job. D. has worked with us since then and he has demonstrated to be such a great player for the team. Paraphrasing S.R. Hadden character in Contact, I consider D. one of my best long term investments, entirely worth the time/energy and money spent four years ago to hire him.

Are all hardcore developers in Canada disappeared?

Wednesday, December 2, 2009

A couple of days ago I was talking with my boss, who is the VP of development at my day job (which I will not disclose, while my night job is thinkcode.tv).
We were talking about accents. I’m the first non-native English speaker of the company and despite being fluent in English, of course my accent can still be recognized (even though people typically don’t think I’m Italian, which is kind of funny).

Anyway, he told me that none of the persons replying to the job post in Spring 2008 that brought to my employment was actually a native English speaker. I was in shock. The posting was kind of hardcore and a bit silly at the same time, so I understand that not everybody could have been attracted by it, especially if you want to work in a typical big enterprise setup. But the idea that there were no Canadian-born technologists in Toronto willing to even reply to it and being able to survive a simple resume screening is kind of disarming.

Where have all the technologists in the GTA gone? Where are the hardcore developers? Have they maybe transitioned to a managerial path and they have totally lost the technical side of the job? Natively English-speaking software architects, development managers, XP coaches… where are you? Are you all doing consulting?

Hard to say. Certainly one of the things which motivated my decision to leave Italy was the increasing difficulty to find interesting technical jobs that could afford to pay my admittedly good salary (for Italian standard). But here the situation is different: there are still a lot of attractive jobs from a technical perspective, paying good money and yet, no old Canadians interested in doing them?!?

I find it fascinating. Good for immigrants and new Canadians I suppose, but nevertheless wrong. And this happens despite the presence of great Engineering faculties like Waterloo and UofT, just to name the first two that I can think about.

So, once again, where are you?