In the technical world, weird and wonderful tales from the job market are are gossip favorite for both employers and employees. An endless churn of stories appear from all corners of the internet regaling interview techniques that range from the bizarre to obscene and self styled experts in their fields struggling to navigate their way through the most basic programming tasks.
An army of technical recruitment consultants have risen up to address the issue in the job market but that only seems to have made things worse. It’s difficult to pinpoint exactly why the business of hiring developers is so tricky, but we thought it would be fun to see what the local job market in Scotland had to say about the issue and share some of their top tips for anyone looking to hire coders.
Kate Ho is CEO of mobile educational games startup Interface3, while Jim Newbery is an experienced freelance mobile developer currently working for fantasy sports company FanDuel. Rory Fitzpatrick is a veteran developer currently working at Storm ID. Rory Gianni is a freelance web developer and Rails trainer.
Some people say that there is a shortage of technical talent pretty much everywhere – do you see that in Scotland?
Kate Ho: I think there’s a shortage of good technical talent everywhere, yes. That includes Scotland too!
Rory Fitzpatrick: Yep, there’s plenty of ‘developers’ out there but finding good ones is hard. The company has to work just as hard to sell itself as the job seekers.
Rory Gianni: I’ve not had the experience of hiring, but yes, I would agree there’s a lack in Scotland.
Jim Newbery: When I read that, I always think it’s a little simplistic. What I’ve seen in Scotland is a shortage of specific expertise and experience in some areas, but certainly not a shortage of talent. Scotland has some excellent technology degree courses which consistently produce talented graduates and no lack of passion, but it can be very hard to find more senior experts with exactly the skills you’re after. At FanDuel, we have a policy of prioritising talent and passion over specific expertise, and allowing staff the space to learn new things from each other, and we’re starting to see some great results from that already.
Have you ever had trouble finding employees – or, conversely, finding work?
RF: Not really in the past.
RG: When I began freelancing things were pretty slow but I guess that was to be expected. At the moment I feel I’ve found my feet and I’ve been busy for a while now.
KH: I think there’s a challenge in finding good employees! That’s true of any firm and any sector. When people say ‘developer’ they often just think of one homogeneous group. But in reality, there are lots of
different types of developers. Some are good at doing front-end things, some at highly mathematical/logical problems. So I think the trouble is not finding employees, but finding employees that fit what you need them to do, within your budget and fits in with your team culturally.
JN: Things were not so good in 2000/01 during the dot com crash and I spent a few months moping around and soul-searching. Since then I’ve spent much of my career as a contractor working for various media organisations in London, and for the last ten years finding web developer roles in London has not been difficult for someone with good experience. As I gained more experience, I found that most work came via referrals rather than having to search through job adverts. In Scotland, and certainly in Edinburgh, many of the best jobs are to be found through contacts in the thriving tech community here, so it can be helpful to attend events like TechMeetUp and Refresh Edinburgh and get to know the people that work in the industry.
Have you ever used a recruitment consultant?
KH: No. We prefer to recruit directly or via word of mouth.
JN: Yes, both for finding work and for hiring developers.
RF: As a job-seeker yes, but I’ve never been offered a job through one.
RG: No.
How was your experience of it?
JN: Mixed. The relationship between recruitment consultants and the tech community can be fraught, but there are potential benefits for both candidates and employers. A good recruitment consultant can take on a lot of the time consuming work of marketing, screening and dealing with candidates. The difficulty is making sure that the consultant’s first priority is finding the right candidate for your organisation, rather than meeting some arbitrary internal target. At FanDuel, we have hired a full-time in-house recruitment manager to take on this role, and it has completely transformed our hiring fortunes for the better. As a contractor, I tended to view recruitment consultants as rather obstructive, but they continue to manage much of the process of hiring consultants in larger organisations, so they can’t really be avoided.
RF: They’re sales guys with no in-depth knowledge of our expertise or the kind of people we are and the kind of companies we want to work for. Lists of keywords are the only way past them.
Have any interviews ever gone weird?
KH: No, not really. I think it can get really awkward if you don’t think about the questions properly beforehand. But no, not really.
JN: Of course – regularly. I have had someone ‘go to the toilet’ and walk out the front door half-way through an interview (I’m not a scary interviewer at all). I have been sent to interview for completely the wrong job by a recruiter. At my first interview in London as a graduate I was nervous enough to try drinking from a glass of water while still talking. The resulting choking fit resulted in a ten-minute interview break and I never really regained my composure. I didn’t get the job.
The worst though was the candidate who insisted on discussing his very specific sexual inspirations in response to a question about problem solving.
RF: An interviewer once got his shirt off and showed me where the paramedics shaved his chest hair because they thought he’d has a heart attack. Turned out he’d just been over stressed from launching twibbon.com.
RG: Yes. I applied for what I thought was an interesting part-time position with a research team. The job description explained they were looking for a developer to become an assistant member of the team on a fascinating project. The description specified that the developer would have had experience building Web 2.0 applications. It sounded creative and challenging. I spent a good while preparing myself and a few web applications I wanted to show them
As expected, I was asked to show some previous work. I proudly demoed my web apps. Instead of questions about web-frameworks or APIs I got asked ”If you had to build a site, which CMS would you use?” This was followed by more questions on content management systems and my experience using social media. I answered their questions but I was disorientated. I had the wrong script. It was no train wreck, but I knew my chance to become ‘hacker attaché to cutting edge research team’ had slipped away.
The disorientation continued for another hour until I understood what had happened. The interviewers that had the wrong script! Not me! They wanted to hire somebody to throw up a WordPress page and spend a year dick-waving their project in a bid to secure more funding. Nothing about the job description suggested this. What a waste of time.
Is it possible for a non-technical person to hire developers?
RG: This depends on the context but I don’t see why not.
JN: Not by themselves, no. If you are hiring the first developer in an organisation, that’s a serious strategic hire that will have a big impact. That developer will be taking on a lot of associated work, including systems administration, business analysis, user research, project management, quality assurance and customer support. That needs to be recognised and made explicit in job descriptions. If the person responsible for hiring them has limited technical knowledge then it’s very hard to make informed decisions.
RF: It’s possible for a non-technical person to have a valid opinion about a developer from their perspective, but it’s almost impossible for them to evaluate a developer on their technical merits.
KH: I think it is possible, but they might need to prepare a little more, that’s all. There are lots of books and advice online for people hiring developers, so there’s no shortage of information there. Search around, speak to other people who have hired developers.
What advice would you give to non-technical people needing to hire developers?
RG: Have a good idea in mind of what you want the developer to do. Don’t spend time over the details of which technologies they should know. Instead spend time understanding the types of developers and which one you need. Ask a couple of developers what sort of person you need.
KH: One of the best ways to distinguish between developers is by describing a simple task and asking them how they would go about implementing it. For instance, in the past, I’ve described a simple game and asked the candidate to write out what they think is the logical flow of the program on a whiteboard. That sort of exercise is really enlightening, as you can see how they cope with being able to breakdown a task. You want to see their thinking – how logical it is, how easily they reach the same conclusion as you do, and so on.
JN: For any but the smallest projects, I think an organisation’s first technical hire should not be a developer, but a product / programme manager with technical knowledge who can then be responsible for hiring permanent developers, or briefing freelancers or consultancy companies to carry out projects. If that’s not feasible, then the organisation could look for a technical adviser to help them with strategic direction and hiring. The adviser would be someone with experience in managing technical staff and delivering projects, and could be brought in on a part-time or temporary basis.
RF: Find a technical friend and ask them to help with the hiring process – pay them if you have to. It will be worth it in the end as opposed to hiring someone that’s shit.
Do you think there is a right / wrong way to hire a developer? Any tips you might have for the do’s and don’ts of hiring them?
JN: Absolutely. There’s plenty of nonsense out there. My overriding advice is to treat the hiring of developers like any other hire. It’s very much a two-way process and it is extremely important that you allow candidates the opportunity to see what it will be like working with your organisation. My overriding advice is to appreciate that the role of a developer is far more than just writing code. Clearly technical skills are vital, but a good developer will also be able to communicate clearly and in plain terms about the software they are developing.
Some quick tips: don’t rely on a recruitment consultant to advise you what’s appropriate for your organisation. Don’t hire a very junior developer as your first hire – you want someone that can take informed, strategic technology decisions. Again, a technology adviser is very useful for this. In fact, don’t hire a developer at all until you have a well-defined project for them to work on.
The best indicator of technical expertise is not qualifications or a list of skill buzzwords, but examples of work. If a developer contributes to open source software (OSS) projects or has a side project or two, this is a clear indication they have passion for what they do. You should look to give support for that in their role. Someone who gets involved in the technology community in some way – through hack days, meetups or talks – is also likely to be extremely committed to their work. Again, you should encourage and support this.
During interviews, both as candidate and hirer I prefer working together on a well-defined real-world problem relevant to the work, rather than completing artificial coding tests.
Don’t ever advertise for ‘ninjas’ or ‘jedis’. You’re demeaning yourself more than the candidates.
RF: From my experience there is no right or wrong way to hire. It’s more about the company you’re hiring for. Smart developers will smell a company that doesn’t respect or value what they do as soon as they enter the building, and likewise will recognise those that do very quickly (usually before they’ve even applied for the job).
Do get them to write code, and get more than one opinion from actual developers. Dont’ give them a series of questions from a Microsoft exam to which the answers are wrong (this happened to me, needless to say I didn’t get the job after pointing out that the answers were wrong…)
RG: Read your job description. Remove anything that could cause confusion. Think about what message it sends out.
It’s important to many developers what they will be working on and what they will learn out of the job. Talking a little bit about your team and their achievements could make your position more attractive.
Do not religiously stick to a check-list of technologies they should know. A friend of mine, who is familiar with CSS didn’t get hired because he had not used a newer version of CSS. This is ridiculous. Developers will always need to do things they have never done before. This makes ability and willingness to learn an important trait.
Imagine who the person is. What stage in their career are they at? Where have they been and where do they want to go?
KH: Do prepare your questions beforehand, ask to see their portfolio and question them about the exact parts they implemented. Don’t ask them vague questions or make them feel unnecessarily uncomfortable.
Have you ever settled for a less than ideal hire out of desperation, or been hired for a job that was beyond your qualifications?
KH: Hm … not really. I think it depends on your expectations. Remember, part of this will depend on what you can afford. If you want a top notch programmer, you need to pay for it! If your budget doesn’t stretch to that, then you have to be realistic.
JN: When I was 25, I found myself managing a team of about 5. That was something I had never done before, and because of the culture and structure of the company, I was put off from doing so again for some time. I was given no support, and there was a complete lack of communication about expectations, deliverables and timelines, which made everyone unhappy and unproductive. Some of this was my fault of course, and I felt completely out of my depth. While this was not the job I was hired for, I was not robust enough in my objections to becoming a manager with so little experience.
RG: It happened once, but it wasn’t too high for me not to be useful or cope with the situation.
Have you ever settled for less because you liked the person?
KH: Personally speaking, I’ve not done that for technical development roles. However, I have done it for other business/sales roles. I think cultural fit within the team is hugely important: a well functioning team is much better than a team of individuals who think they are better than everyone else.
Have you ever been hired by someone because you were friends with them?
JN: Well, I’ve had plenty of referrals from friends, particularly for contract roles, but I’ve never actually had a friend hire me. I have been helped by pure nepotism, though. My first full-time web role was with an agency at which my uncle worked. My first job there was to print out the website of a government agency and file them in Lever Arch files for placement in the House of Commons library. Really.
RG: No – at least I don’t think it was the only reason!
If you were hiring yourself, what is the one question you would ask to get a perfect answer?
KH: Given a bit of legacy code that isn’t working (for instance, a web or mobile app), how would you go about debugging it to make it work?
RG: What do you like (or not) like about development?
JN: Please describe the no-ball rule in cricket in detail.
RF: Developers are often introverted and/or shy, so getting the perfect answer is a fool’s errand…
