These are my own personal opinions, and not necessarily those of my employer:
The company I work for is currently recruiting for full stack web developers (junior/mid/senior). The process is fairly simple:
1. Receive applications via one of our preferred recruitment agencies, review CVs.
2. Screening interview over the phone.
3. First in person interview (this is the point where I am involved)
4. Second in person interview with director of I.T.
5. Make an offer
My manager and I have begun interviewing candidates in person. This has been my first experience doing interviews rather than taking them, so I’ve only just come to understand the complete picture of recruiting.
It is similar in many ways to buying a house:
1. Although there is a lot of money involved, a decision is usually made after only one or two viewings.
2. There are a hundred or more factors that make it more or less attractive, but only about a dozen major ones.
3. Budget is a major factor, you might be willing to stretch the budget a little if you see something exceptional, but more often you want to knock the price down.
4. Agencies present in the best light and using the best angles, but on actual inspection it is easy to find the less desirable things.
5. Most sellers are honest and you can gain a very quick appreciation just by asking simple questions.
6. Some need a lot of work on them but have great potential, others already look good but come with a higher price tag.
7. If more than one person is making the purchasing decision, although they have both just seen exactly the same thing, its common for there to be some disagreement because everyone puts different values on the different factors.
Hiring a contractor is analogous to renting a property, whereas permanent hires are more analogous to buying one. So for contractors you always want someone you know is going to get up to speed and deliver the goods very fast. But for permanent hires there are different options available for the employer. It’s an investment, and there’s no such thing as a completely safe one. You never know for sure how long they’ll stay. The employees themselves don’t know either.
Based on these observations, perhaps some of the advice on house buying also applies to companies recruiting. For example, an important thing to do with your partner before beginning viewings is to write out a list of qualities that you are looking for a place them in order of importance. Growth potential should be one of these qualities. You can’t measure this precisely, but you can easily infer it.
Some people have must have requirements, other people are flexible on all aspects. Some people know exactly what they want to see. Others don’t know until they see it.
Then discuss the differences – you might end up changing your mind completely. I would love to hear if you have tried this and what you have learned from it.
Advice for any software engineering candidates looking for any job
The old advice that you should keep your CV down to two pages or less is terrible. My CV is four pages long, and it can be longer than that if you have enough going for you.
You should have something, just something (anything!) online that shows off something about you. It could be any one of these things:
- a blog
- a Stack Overflow account
- a development related Twitter account
- a public profile on a development training site such as Pluralsight
- some code on Github or codeplex
- something at the bottom of the CV mentioning user groups that you regularly attend.
Of the candidates I’ve seen, the only thing I was able to find, even from senior developers seeking top of the salary range, was an account on LinkedIn. However we recently had a 16 old intern who has started with us today who has had stuff up on Github for about a year. I could tell within the 1st minute of the interview that he had a genuine interest and passion for programming. He produced a lot of good work for us.
Experience is far from everything. In my opinion, having a natural hunger to keep learning and improving can give you as much value as an extra 20 years of experience, perhaps more.
You are probably thinking I am out of my mind now. Let me tell you, I recently gave someone with 20 years industry experience a basic coding test to do involving unit testing. I had to help him quite a bit before he was able to write his first test. He created a method called Run that always returned the value true, and wrote a test that asserted that this value was true. Conversely the 16 year old with no previous industry experience was able to write reasonable quality unit tests without any help.
This industry moves incredibly fast, if you’re not actively keeping your skills up to date, it is going to be very hard to hide that when you go for your next interview.
If you’re not doing anything other than just the 9-5 you are amongst the majority. You don’t need to do much at all to look above average. Even a couple of gists, whatever, don’t worry if its not great, just show your passion
“A really great programmer can out-perform a doing-it-for-the-money programmer by orders of literally hundreds, delivering in hours or days what would take an average developer weeks or months.” – Dan North
For a list of which factors are more important, see More Thoughts on Interviewing And Recruitment
Why is it so hard to find a good .NET developer?