Hiring Challenges in Tech

Challenges faced when hiring, and being hired yourself.

Brian Irish
#TechMasters
9 min readAug 10, 2016

--

Once a week, our community of over 1,300 members will come together and contribute to an interesting topic in our #general channel. In the effort to spread our collective “knowledge and wisdom,” we’ve decided to write up a summary of these discussions and share it with the public.

As for me, I’m a Senior Front-end Developer and Team Lead at Fanxchange.com, where we’re currently facing the challenges of growing a developer team from 8 people to approximately twice that size by year end. After countless interviews and a few hires, I’ve noticed patterns that emerge. Key differentiators make some candidates stand out more than others, such as attitude, aptitude, and passion. While a list of skills may vary in its ability to showcase talents, those three traits are often more indicative of a candidate who can be a positive addition to nearly any team.

General Discussion

The conversation started with Ahmad Nassri discussing the challenges in both hiring…

Ahmad

Arguably my biggest challenge has been finding people with the right balance between breadth of knowledge, and specialty in a language, framework, or system.

For example, I’m always looking for ​JavaScript Developers​, but end up with ~80% of candidates who identify as ​jQuery Developers, ​React Developers​, etc… there never happens to be enough knowledge of the underlying technology (in this case, JavaScript, but the same example applies to other languages and systems I’ve hired for as well).

… and being hired:

As you move through roles in your career and grow in your skill sets, your titles will change. Each title change brings new stereotypes and disadvantages along with it. Based on my experience, here are some examples of questions that you may get asked during interviews, which I happen to personally find insulting:

Junior Developer: “Do you even have enough experience?”
— How is anybody supposed to have experience if it’s their first job?!
Developer: “Ok, you have experience, but are you good enough?”
— It’s impossible ever to satisfy anybody at this stage.
Senior Developer​: “You have good experience, and you know your stuff, but are you a good team player? Can you lead a team?”
— The shift to leading people and dealing with business starts here.
Team Lead: “Are you hands-on? Can you project manage?”
— Why would you assume that? Don’t you have project managers already?
Development Manager: “Do you even know how to code?”
— Insulting, really.
Director​: “Do you know how to code? Do you even know the technology?”
— Are you truly expecting to hire somebody so senior with no hands-on experience? So sad!
VP, CTO: “When was the last time you did anything technical?”
— Assuming that you have not done anything in years, nevermind that you might be killing it, working on Open Source and other projects.

A fantastic start to the discussion, Ahmad delivers some great insights from his experience in building a team, as well as being hired and sharing some of the stigmas associated with each role as you climb the proverbial ladder.

I happened to be watching the channel as the discussion began, and was able to provide my (albeit limited) experience so far in hiring a team:

Brian

Given that an existing team is in place, I’ve been faced with the challenge of working with the strengths of the people we already have, while simultaneously finding new hires who fit the bill technically, and can help build the positive attitude and confidence of the existing team as well.

In Toronto, it’s a huge challenge to compete in the ridiculously strong market for developers and DevOps. I’ve already lost count how many times we’ve had a candidate come far along the hiring process, only to get picked up by another company at the last second.

At my company, we’ve had to discuss how to improve the efficiency of our hiring process to cut down on the delays, ideally to being able to make a decision within the day. Delays lead to missed opportunities.

Discussion around this continued, with Enrico Sacchetti asking a follow-up question:

Enrico

Do you find certain positions to have the opposite effect — so many applicants that are yours for the choosing?

Brian

Specifically for DevOps and developers, no. We’ve had several mediocre candidates, with maybe a 20% chance of finding someone who we think can succeed here. With other positions, there just aren’t the same levels of requirements, and so the effect there is more what you describe.

Topic Focus During an Interview

As the discussion continued, we began getting into the specifics of the hiring process. Member “jono” mentions his challenges around getting a good feel of the candidates’ abilities:

jono

One challenge I have noticed is this: How do you really get to the bounds of a candidate’s technical knowledge without turning the interview into a form of … interrogation? As Ahmad mentioned, the goal is to get someone with a nice balance of breadth and specialty. This is difficult to accomplish in a timeboxed interview.

As we begin diving into the details of the interview itself, doubts are raised about the more traditional methods involved, such as technical tests.

Ahmad

I don’t believe in technical tests. They don’t prove anything, and they’re worthless. It’s best actually to get somebody working with you and your team for a short amount of time, to get a sense of fit.

With that said, I do have a Litmus Test. If you know the answer, you’re 90% likely to get hired by me.

For me, it’s not an “interview” with questions. I want to get to know the person, so we just chat, I take them out for coffee (if possible), and just talk about life and stuff… that’s more important to me than tech skills.

Brian

Honestly, I’ve found that simply having a chat about our tech stack, the challenges we face, and how they respond to that in informal conversation ends up saying a lot about the candidate.

Someone with a lot of passion for solving problems will always speak about our challenges and how they might be able to fix them. Others might simply say, “Yeah I understand. Anyway, here are my technical skills…”

But as Enrico acknowledges, avoiding coding tests as a candidate sometimes just isn’t possible.

Enrico

I find that if you’re a junior developer, you don’t have much bargaining power in interviews — so a coding test may be inevitable. I only ever did one coding test during an interview, and they weren’t testing for hard skills: they told me to do a ‘30-minute hackathon’ and make ‘anything I wanted’ just to see what things I was interested in.

The Role of Passion

What followed was an engaging discussion around conveying passion as a candidate, and hiring based on passion rather than technical skills.

KPaterson

As a candidate, how can you express that you have a passion for solving problems in an efficient manner, and not a passion for knowing the insides and out of a prototype-based language?

For example, “What is the difference between classical inheritance and prototypal inheritance?”

If someone asked me a question like that in an interview, I’d probably want to walk out. But sadly, I may be entering the job market soon, and I’m not looking forward to those technical-based interviews.

Ahmad

Hard question, but here’s my version of answering it: Check out my open source work.

In that scenario, you can play a power move. Instead of walking out, perhaps offer this up front: say you’d work with them for a day or more on a REAL project, with their team, so that you can bypass the stupid questions, and go
straight into the collaboration and fit.

Every time I skipped, I also had a good power move up my sleeve, usually in talking about your experience and position not needing one. Every time, I got offered the role immediately :)

Hiring while using passion as a factor over pure technical skills can theoretically be risky, though. Has anyone had experience with a bad hire as a result of that interview methodology? Results were mixed.

Kenneth

Quite often actually, especially when hiring co-ops.

Ahmad

I’ve never had a problem with weak skills as a result when hiring because I focus on things like willingness to learn and teamwork. If the person is weak in skill, that’s fine, as long as they’re willing to learn and improve, it makes it even better.

Brian

I’ve only had limited experience in hiring without tests, but so far I haven’t had a problem with anyone we ended up hiring not being at least a good developer. I try to make sure I hire curious minds who can easily pick something up that they may need in the future.

The consensus seems to be that while using passion for hiring co-ops may be problematic, using it in conjunction with a strong and curious mind can mitigate risks involved with potential shortcomings in technical skills.

A New Perspective

What does someone who focuses on hiring practices on a daily basis have to say about all of this? We asked our resident tech recruiter June Coffey.

June Coffey

Challenges on Hiring:
- Skills within the GTA. We’re finding a huge shortage of good developers in Toronto right now, and who have the right attitude — good meaning someone who is solid in their stack but is humble and still learning.
- Communication skills are a challenge. We evaluate communications by their command of English, and if they understand what is being asked and do what they say they will do. And of course, someone who can carry a conversation outside of technology.
- Cultural fit is also crucial with the clients we work with — I think it goes back to attitude as well.

This is definitely valuable feedback from someone who works on getting people jobs in the tech sector every day and sees first-hand the problems that folks are having. I decided to follow-up with June on the culture fit aspect.

Brian

How do you determine what “culture fit” means for each business? I’ve heard a lot of people talking about culture fit in a sort of hand-wavey way, and I think sometimes it gets over-generalized.

Personally, this is how I gauge culture-fit: Casual conversation to initially assess passion about technology in general, solving challenges, and seeing how excited they get about being part of a growth-stage company. At some points, I may ask pointed questions about specifics, but I let them talk as much as they want. I ask about what their ideal workflows and processes are like to enable them to succeed. I ask them what their passions are outside of programming if any.

June

Cultural fit depends on organizations. For some, that just means that they don’t want to work with any a**holes. For others, it means they want someone who they can work well with and work hard when they’re there, and don’t create politics.

Ahmad

Culture for me means this is a person we can work with, then be able to hang with; we can fight and argue and still be friends and colleagues without animosity built up, or feelings getting hurt. After all, our roles as engineers mean we have to disagree at least on some things.

Finishing Up

We finished up the conversation with some banter on timing the hiring process, pair programming, and live coding.

Zohaib Butt

How much time does everyone spend in the hiring process? How long are the interviews, and the whole vetting process? At my current startup, we’ve wasted a lot of internal resources trying to hire talent.

Brian

Good question. We’ve found that we need to optimize our timing to having everything done (tech interview, business interview for culture fit, etc.) in a single day. Usually about 2 or 3 hours depending on how deep the discussions go.

jono

What about using pair programming? Not as a tool to see how technical they are but how they work take suggestions and are willing to accept criticism (constructive of course).

Enrico

I’d rather watch paired programming than eSports — I find it entertaining when opinions clash.

It’s worth mentioning here that LiveCoding.tv is a great resource for watching programmers work. Eric suggested that Enrico start using it.

Enrico

I am interested in LiveCoding, but if I go on air, I fear I’ll spend half the time solving problems and not enough time writing code and being fun to watch. So I guess I need a sidekick to throw paper planes at me or something.

Lessons Learned

As an interviewee, focus on conveying your passion, but don’t be afraid to flex your technical muscles too. Confidence in your skill set combined with enthusiasm about the role and the company will make sure you impart a positive first impression.

As an interviewer, don’t allow the interview to dive too deep into the technical realm. Bring out the person behind the developer, and try to understand what makes them tick. If you can get that candidate to light up their eyes and speak about their role with gusto, you may have found your next hire.

The tech industry certainly appears to be unique in its hiring practices, and these discussions hopefully shed some light for newcomers in this industry, as well as leaders looking to hire out a well-rounded team.

--

--