I am busy hiring people now, and it got me thinking a lot about the sort of things that I want from my developers. In particular, I was inundated in CVs, and I used the following standard reply to help me narrow things down.
Thank you for your CV. Do you have any projects that you wrote that I can review? Have you done any OSS work that I can look at?
The replies are fairly interesting. In particular, I had a somewhat unpleasant exchange with one respondent. In reply for my question, the reply was:
My employer doesn’t allow any sharing of code. I can find some old projects that I did a while ago and send them to you, I guess.
Obviously, I don’t want to read any code that belong to someone without that someone’s explicit authorization. Someone sending me their current company code is about as bad manner as someone setting up an invite for a job interview on their work calendar (the later actually happened today).
After getting the projects and looking them over a bit, I replied that I don’t think this would be the appropriate position for this respondent. I got the following reply:
Wait a minute…
Can I know why? I took the trouble to send you stuff that I have done, maybe not the highest quality and caliber, but what I could send right now. You didn’t even interview me.
How exactly did you reach the unequivocal conclusion that I am not a good fit for this job?
My response to that was:
Put simply, we are looking for a .NET developer and one of the most important things that we look for is passion. In general, we have found that people that care and are interested in what they are doing tend to do other stuff rather than just their work assignments.
In other words, they have their own pet projects, it can be a personal site, a project for a friend, or just some code written to get familiar with some technology.
When you tell me that your only projects outside of work are 5+ years old, that is a bad indication for us.
There is more, but it gets to the details and not really relevant for this discussion.
Let me try to preempt the nitpickers. Not having pet projects doesn’t mean that you are a bad developer, nor vice versa.
But I don’t really care about experience, and assuming that you already know the syntax and has some basic knowledge in the framework, we can use you. But the one thing that I learned you can’t give people is the passion for the field. And that is critical. Not only because it means that they are either already good or going to be good (it is pretty hard to be passionate about something that you sucks at), but because it means that they care.
And if they care, it means two very important things:
- The culture of the company is about caring for doing the appropriate thing.
- The end result is going to be as awesome as we can get.
Now, if you’ll excuse me, I am going to check out SignalR, because I don’t feel like doing any more RavenDB work today.