Hiring software engineers gets more competitive every year. There is now a service - hired.com - that provides an efficient, but disturbingly Tinder-like, interface for evaluating potential candidates. Traditional businesses like banks, healthcare providers and automotive shops are hiring software engineers too. This is creating so much demand that talent is being pulled from other fields. We see folks who are leaving behind careers in Law, Biology, Architecture, Chemistry and even Medicine. This no doubt has contributed to the explosion in software vocational schools like App Academy and Dev Bootcamp.
Recently we set up a lunch meeting in San Francisco with a bunch of former colleagues and acquaintances hoping to find a few candidates. As we left, I passed one of those folding boards that list the day’s specials at a restaurant: “Software developers wanted! Enquire within."
We've had success hiring software engineers despite this! Here are some of the lessons we've learned.
Step 0: Who are You?
Work out who you are as a hiring manager, as an engineering team and as a company.
As a Manager
Candidates will be judging you at the same time you are judging them. Think about what your management style is and be mindful of the impression you make. It can be easy to get so focused on the process of interviewing, that you lose sight of this. Start with your own self-assessment, and then ask if there is room in the process for the candidate to get to know you. Here are a few ideas to keep in mind:
Learn how to listen. Do you respond in an emotionally appropriate way? For example, if they mention a startup experience that ended with the company running out of money, do you say “that must of have been stressful and awful, I’m sorry you went through that...”? Or, do you blow past these potentially traumatic events as you're in a hurry to get through all your phone screen questions?
Learn how to interrupt. You'll have to cut candidates off from time to time to cover all your questions. Do you hack into the conversation like a butcher or, like a surgeon, do you find that perfect pause to interject?
Learn how to be respectful of the candidate's time. If you need a few minutes beyond the time allotted, be sure ask.
Many of us are promoted into management because we drive toward goals efficiently. That same drive may hinder your ability to communicate your management style. So as a manager, you need to be aware of how you present yourself to potential candidates.
As an Engineering Team
Sit down with the entire team and ask what kind of engineering team are we? What are the characteristics we value in ourselves? What skills do we have and need on the team? What are our core values? We spent an hour and came up with a list of what we will look for in future colleagues. I think each team should go through this exercise on their own, but here are a couple of examples:
Values:
- Passionate about something, ideally in tech
- Ability to prioritize / time management skills
Skills
- Demonstrably proficient in one high-level language
- Systems / Architecture / Scaling
These can later be used to focus each interviewer on a specific set of skills and values.
As a Company
Every company claims to prioritize their “culture” and many actually do. So having a good culture is becoming table stakes. How do you convey both your company and your engineering culture to the candidate? Be sure to have some compelling anecdotes ready. Do you value autonomy in your engineering culture? Great, then have a story to support that assertion. We found the folks at “Job Portraits” to be useful in helping us tell our story.
Now check out Lessons Learned Hiring Software Engineers During a Bubble! - Part 2