In a previous post I said that at Buying Butler and RightIndem we have been growing quite rapidly across the board, but in this post I want to talk a little about our hiring process for developers. Hiring good people is hard and Me, and our CTO Steve Weston, have worked at many companies that have had horrible hiring processes, so we are keen to not replicate some of these other companies.
When we hire developers, and if you are due to interview with me and have landed on this post as part of your research (hello), there are 4 main things we are looking for in a developer. These are
- Have you got the base skills to come in and be productive straight away?
- How passionate are you about software development?
- What is your approach to learning and picking up new skills and technologies?
- Will you be a good cultural fit for the company?
By knowing this bit of insight you are not cheating our recruitment process, but by understanding these 4 areas you will be in a position to wow us in the interview. Lets cover these off one by one.
Base Skills and Productivity
In a fast moving technology company, the types of tools we use will likely change a lot over the years. This happens by the very nature of what we do, which is innovate with technology. When we interview people we need to them to be reasonably proficient with the technology we are using today. In our case this is the .NET Framework, ASP.NET MVC, Web API, SQL Server on Azure and Azure cloud computing in general. We may use a different web framework or technology in the future, but at the moment if you are a front end developer we would expect to see evidence of development in this stack. If you are more of a back end developer then we would expect to see evidence of work in Web API and all the related back end technologies like Entity Framework Code First Migration. When we start an interview both at the phone stage (more on this in a moment) or a face to face, we will spend the first part of the interview scoping out someone’s experience.
If a candidate has listed a technology like MVC on their CV then we will drill into more detail about their own experience as-well as asking some technical questions as we go through their experience. You would not believe the amount of people that list a technology on their CV and they hardly know anything about it. This is very easy to spot in an interview, so a big tip from me here is be honest on your CV it saves everyone a lot of time. Another big mistake we see is if people say “We” instead of “I”. For example when we ask about how a candidate has used a technology on a project, if they say something like, “We used this for the payments module”, “My team implemented the configuration system using Angular”, then this is a signal that the candidate has a lack of experience. We expect the candidate to say something like “I used Angular to implement the configuration system”. From here I would start delving deeper into their experience to gauge their level of understanding.
Passion for Software Development
The next thing I am looking for is someone who is genuinely passionate about software development. A start-up is a fun and fast paced environment and the last thing we want is someone who is not passionate and just treats it as a 9 to 5 job. This doesn’t mean I expect people to be in the office around the clock, far from it, we strongly believe in a work life balance, but we expect people to be passionate and really believe in what we are doing.
So, how can you demonstrate this to me in an interview. Well, people who are passionate do software projects out of work. This could be a website, a blog, writing a mobile game. Anything that is outside the normal job. In fact, I really like it when a candidate brings their project to the interview. We had one candidate (who we employed) who bought in his own laptop and we spent a large part of the interview looking at his pet projects and code.
Another thing we like is people that attend a lot of the local meetup groups. So in our case being in Nottingham, that is DotNet Notts, Derbyshire DotNet (A group that I co-run), Notts JS and many other meetups. Me and a lot of my colleagues attend these meetups so we like it when we have already seen candidates at these groups. It shows a commitment to learning and networking in your industry.
Approach to Learning
The next attribute we are looking for in a candidate is their approach to learning. Technology, especially in a start-up environment, is fast moving. We may have employed you with a particular skill set today, but that skillset could change over the next few years and we need people that can learn new technologies. In an interview we ask about this and we want to see example of how people learn. Everyone has a different style, but we expect to have people talk about, experimenting with pet projects, Learning from online training sites like Pluralsight, Udemy, Lynda etc. Reading books, following blogs, or listening to podcasts.
Again this also links back into how passionate you are. If you are passionate, then this question is not a hard one to answer. With some candidate this has been like trying to get blood out of a stone. Not surprising that they didn’t get job offers. I am very passionate about developer learning, this is probably why I spend so much time and effort developing courses for Pluralsight, but I really believe that learning new technology should be at the heard of a good developers DNA.
The final thing we look for is a cultural fit. By this I mean will the candidate get on with the team and visa versa. This is quite subjective but I feel Me and our CTO Steve are a good judge of character and we seem to have made a good job of it so far as we have built up a very good team of people. We had one guy come in for an interview (Who shall remain nameless), who ticked a lot of the boxes with technical skills, but he was very negative in his interview, both about software technology in general and also his previous employers. Ok, it is easy to bad mouth a bad employer, I have worked for plenty of them but even after being given the opportunity to be more positive, he was still negative. Even though he ticked the right boxes for technical skills, we thought he would annoy the rest of the team, so we didn’t make an offer.
Programming and Aptitude Tests
A lot of companies make candidates do programming tests or aptitude tests. Personally I don’t think these add much value to the process. Most developers are introverts and get nervous very easily. It is very hard for someone like that to do their best when put under pressure. I certainly am very bad at them. I can recount times when I have spectacularly flunked numerical reasoning or verbal reasoning tests because you are being timed per question.
I truly believe the best interview process for developers is like I have highlighted above. Just talk to the developer and gradually drill into more detail and depth. If they know what they are talking about then the interview will be a smooth and enjoyable discussion. If they don’t know what they are talking about then the interview will feel very false and awkward. I have enjoyed all the interviews for people we have given jobs too because the interview felt natural and it was more like a chat over coffee.
Our overall interview process is only a couple of stages. When we receive your CV, whether it is direct or through an agency, if we like the look of the CV we will have a quick 30 minute phone call with you. This is to do a basic assessment of your technical skills and also to introduce you to the company by telling you about what we are building.
If we are interested in talking further we invite you to a face to face interview. This will typically last 1 to 1.5 hours and is really just an extension of the phone interview where we go into more details and try to cover the 4 areas I discussed earlier in this post. By the end of this interview Me and our CTO will most likely know if we are going to make an offer, although we let the candidate leave first so we can have a discussion. In many cases we have let the candidate or their agent know before they have even got to the car park.
I hope this post has been interesting. Hiring is a hard process and I think many companies make it much harder than they need too. So far we have made very good hiring choices. People have come in and been productive within a few days. I now try to make sure a new developer does a code check in on their first day. Even if it is just a tiny change.
I am sure we wont always get it right, but that’s what a 3 month probationary period is for, a chance for both parties to separate. I am sure we wont have to go that route though, I think we are a good judge of character. If you are coming for an interview with me at Buying Butler and have landed on this post whilst doing your research, then this is probably the most important post you will read. I am not giving away any secrets here. We genuinely want candidates to do well and this advise is here to help you prepare.
Oh, finally, if you are coming for an interview, YOU DON’T NEED TO WEAR A SUIT. We tell recruiters this all the time but candidates still turn up suited and booted. Makes me feel like a right slob in jeans and a t-shirt. We are a casual, fun, yet hard working company. We want people wear what makes them feel comfortable. No speedo’s or mankinis though!! That’s the only rule.