项目作者: untapt
项目描述 :
A simple guide for hiring software engineers
高级语言:
项目地址: git://github.com/untapt/hiring-guide.git
untapt’s Hiring Guide
We’ve created this guide to help hiring managers build a better engineering
hiring process. Have feedback? See our Contributing section below to help us
improve this guide.
The Guidelines
Productive software engineers are heavily sought-after in the workplace -
software jobs are one of the few roles for which hiring is commonly described as
a “candidate’s market.” To ensure that you’re attracting the best talent, your
interview process should be crafted to reflect the highly competitive recruiting
process. untapt has come up with a handful of recommendations to help you grow
your team:
Move quickly
- Aim to make a decision about each resume, phone screen, and tech test within a
day. If the candidate passes the initial steps, try to schedule your onsite
evaluation within the next three to four days, and offer your decision within
a week thereafter. - From resume receipt to offer generation, your application process should take
no longer than 2 weeks (yes, other companies do this – you can too!). Talented
candidates don’t remain available for long.
Keep your processes streamlined and consistent
- We recommend keeping it to one phone screen, one brief tech test (taken at the
candidate’s discretion) and one onsite evaluation. - Consistency is key. Try to be rigorous when you develop your assessment
guidelines and to use the same set of procedures for every applicant. It’ll
help you define what’s important to your company and you’ll be able to compare
developers on the same dimensions, which ultimately helps you find the best
match.
Assign real-world coding exercises rather than whiteboard puzzles
- Provide the prompt for your tech test after the phone screen and allow the
candidate to complete it in their own time. - Ask the candidate to bring in their tech test solution to the onsite
evaluation. Ask them to extend their solution in a paired programming exercise
with an existing member of your team. - Recognize that even great candidates can hit mental blocks - give plenty of
time, and encourage them to use Google to research their solutions. You should
be looking for candidates who can exhibit creative and structured thought
processes through high-quality code.
Discuss compensation early
- Explain the role’s potential compensation range during the phone screen. It’s
important to ensure that both parties share similar expectations. - Get more specific about compensation at your onsite evaluation. This will
generally speed up the offer process.
Set up your job description to cast a wide net
- Be as flexible as possible on skills to broaden your reach (e.g. rather than
specifying Scala, consider substitutable, functional programming experiences.
Rather than requiring Angular, look for proficiency in any JS front end
framework). Most good engineers can pick up new languages with ease and adapt
quickly to unfamiliar environments. The benefits of a larger candidate pool
are well worth some upfront investment in language training. - Consider relocating candidates, sponsoring visas, or providing remote working
options. This greatly increases your available talent pool and can help you
hire even faster. - Spend time crafting your job description; this is your opportunity to make an
impression on the candidates that you’re trying to attract. Rather than
throwing down a list of vague bullet points soliciting “problem solving
skills,” explain your approach to building teams and your organizational
vision. If possible, include videos and images. You may even want to embed a
personal video from the hiring manager (it’s even better if it’s somewhat
unpolished and authentic) - Every 2-3 weeks, take a moment to update the title, email, and job
description. This keeps your posting relevant, and can often result in a new
wave of candidates. Experiment to see what resonates the most.
Other general recommendations
- When screening candidates, ask them about their interest in the role and the
company. Their feedback can help guide any efforts to refine your recruiting
language. - When preparing for the onsite evaluation, interviewers should take the time to
reach an agreement on each person’s objectives. The overall goal should be a
complementary and complete assessment of the candidate’s skills and fit. - Prior to the visit, send the candidate a brief itinerary and a list of
expected topics. They should come into the office with knowledge about the
team members that they will be meeting, the dress code that they will be held
to (if it’s casual, let them know), and the amount of time that they should
plan to be there for. - During the onsite activities, make sure to offer the candidate water or coffee
at regular intervals, schedule intermittent breaks, and minimize waiting time. - Set aside a portion of your interview to explain your business and your
culture. Encourage the candidate to ask questions. This will be an opportunity
for you to confirm the candidate’s interest. - Gather all the interviewers immediately after the evaluation so any
information about, and impressions of, the candidate are still fresh in their
minds. Budget in this meeting well in advance. - Avoid the temptation to hire talent that resembles your existing team. The
benefits of diversity should be an important factor for consideration
throughout your hiring practices. - If it’s clear that the candidate isn’t the right fit before their onsite
evaluation ends, then don’t hesitate to cut the visit short. However, do make
sure to spend at least an hour with each applicant before making a decision.
Should you find that you need to decline a candidate, make sure to do so
quickly and respectfully.
We’ve found that companies who follow these guidelines are significantly more
likely to hire engineers who work well within their team.
Do you have other thoughts or recommendations? Send us an email at
gettalent@untapt.com. And if you’re looking for more help hiring, send us a
note – we’ll do our best to get you on the right track.
Contributing
Do you have strong feelings about hiring best practices? Feel free to submit a
pull request with your thoughts. We request that you adhere to the following
guidelines when submitting pull requests:
- Wrap lines at 80 characters