Building Great Software Engineering Teams: Recruiting, Hiring, and Managing Your Team from Startup to Success
Rate it:
Open Preview
10%
Flag icon
Help them develop an increasingly clear picture of what life will be like on your team.
13%
Flag icon
An enlightened approach to recruiting includes the following: Recruiting is a first-order company and business priority, equivalent to (or even ahead of) building the product, booking sales, or anything else you consider highly important. Recruiting never takes a back seat. Your company is committed to building expertise in recruiting. Rather than looking to outsource a solution, you invest the time and resources necessary to develop deep knowledge, skill, and intuition about recruiting through your organization. You may (and probably should) engage with external parties for education and ...more
This highlight has been truncated due to consecutive passage length restrictions.
17%
Flag icon
Five Attributes to Look for in Software Candidates 1. The candidate has something to teach me, such as new skills, techniques, or conventions. I will learn and grow in my own work by virtue of this person being on my team.   2. The candidate loves programming and technology. They share my enthusiasm for creating great software and building a product.   3. The candidate is pleasant to be around. They take feedback well, collaborate with others, know when to ask for help, are open to learning new things and ways to work, and have multiple interests.   4. The candidate takes pride in their work. ...more
18%
Flag icon
Teams have gravitated toward algorithmic questions because they lend themselves more readily to a mathematical, empirical comparison of candidates. By measuring runtime complexity, time to complete a task, lines of code written, or bug rate, for example, you can decide whether someone is 10 times better in this dimension. The danger is in extrapolating this thinking to also decide that they’re 10 times better as an engineer, overall.
19%
Flag icon
If you find yourself rejecting candidates primarily because they need more experience, consider making an investment in providing that experience yourself.
19%
Flag icon
For example: Develop a training or onboarding program for new hires. Encourage or require pair programming for more knowledge transfer. Add some slack into the product timeline, allowing for more learning.
19%
Flag icon
Were you fully qualified for every new role you started? Did someone ever take a chance on you? Calculated risks are intrinsic to all parts of the startup experience, and hiring is no exception.
19%
Flag icon
if you take the same amount of time, money, and effort required to find a great, experienced employee, and put that into training and mentorship for people you already have, you might be able to create an experienced employee rather than find one.
20%
Flag icon
Individual productivity may be higher when working remotely, but if communication and collaboration are paramount for your team’s work culture, you can’t do any better than having everyone in the same physical space.
20%
Flag icon
It’s critical that every team member, no matter where they sit, has the same information, access, and influence they would have anywhere else. Chat apps such as Slack and HipChat are invaluable, as are other electronic tools for communication, project management, and supporting technical development. Videoconferencing, in particular, is useful in creating shared understanding and context, as is the next iteration of that particular technology: the telepresence robot.3
22%
Flag icon
Similarly, you need to prioritize your recruiting activities above everything else you do. Yes, everything. Speed is essential. Candidates will pick up on your responsiveness, as it’s an indicator of how truly interested you are, and how much you care about their interests and goals.
22%
Flag icon
People want to go where they feel appreciated, and one of the best ways you can do that is to stay engaged and, indeed, aggressive throughout the entire process.
22%
Flag icon
If a candidate can come in tomorrow (when you’re busy) or next Tuesday (which is open for you), find a way to make it happen tomorrow.
24%
Flag icon
In my years of hiring, however, one particular quality stands out above all others in predicting the success of a prospective software engineering candidate: Teachability.
24%
Flag icon
At all levels, the interest and aptitude for learning are a strong, clear signal for how well someone will do in your organization.
24%
Flag icon
Your company is growing, and you want people who will grow with you. Think beyond the challenges of today. You need people who will learn in ways that enable them to solve the problems of tomorrow.
24%
Flag icon
we just generally like being around people who love to learn. It’s a wonderful, infectious spirit that’s ideally suited for teams that are on the rise. Culturally, it’s a good fi...
This highlight has been truncated due to consecutive passage length restrictions.
24%
Flag icon
Here are some specific things to look for: Does the candidate receive and incorporate feedback from the interviewer? If you suggest a way to approach a problem, do they listen? You should be clear that you’re not trying to trap them with trick questions. See how they respond to your feedback and incorporate it into their work. Does the candidate apply things discussed earlier in the interview to subsequent questions or problems? This is a great way for them to demonstrate that they’ve learned something and are receptive to feedback. Does the candidate communicate well and have an active ...more
25%
Flag icon
The willingness to learn, and to consider new approaches to solving problems, will be highly valued by your team, and will help them embrace a potential new teammate.
25%
Flag icon
Humans respond positively to other humans. Showcase your team and give it a human feel. Nobody dreams of working for a faceless, unfeeling corporate monolith. Even if your company is huge, there are smiling, caring people making it tick. Show that to the world. The “About Us” page is critical, and under no circumstances should you consider skipping or shortchanging it. People have learned that this is the first stop to learn more about the actual people in company.
26%
Flag icon
Always be selling. Use every opportunity to convince people that you have a great place to work. Even if it doesn’t work out for them, they may pass this information on to somebody else.
26%
Flag icon
Always be selling. Make it sound interesting. Assume you want to get everybody who reads your description to be excited about the opportunity.
40%
Flag icon
One of the most important aspects of your interview strategy is that each interviewer knows what they’re looking for, and how to determine whether they’ve found it. They also need to trust that the composition of these interviews will give your team a complete picture, from which you can make a good decision.
41%
Flag icon
Even if someone is outstanding technically, there might be concerns about their enthusiasm for your company. On the other hand, someone might be a perfect cultural fit, but have some question marks in, for example, problem-solving ability.
43%
Flag icon
Another way to head this off is to ask the candidate about their timeline at the beginning of the process. If they indicate they’ve already planned to interview for a few weeks, consider delaying your interviews with them until they’re closer to the end of that period. You want to engage the candidate when they’re ready to act, so your impression is fresh and you can maintain positive momentum.
44%
Flag icon
A great way to build a connection with a candidate is to set up an informal conversation with someone on the team. The two of them can discuss the day-to-day details of how you do things, what projects are going on, and answer any questions the candidate may not have been able to ask in an interview. If possible, choose someone who came into the company via a similar process—relocating from the same area, for example, or a graduate from the same school—to make the candidate even more comfortable with the idea of joining your team.
44%
Flag icon
Another option is to invite the candidate to join your team for a work or informal activity. For example: Observe (or even participate in) a product meeting, to see what projects are active and how decisions get made. (Obviously, be careful about sharing confidential information.) Join your team for lunch, to see how friendly and welcoming you are. Participate in a team off-site activity, to start building relationships with others on the team. The better a candidate gets to know you, the more they’ll be able to visualize life in your company, which will only help them feel comfortable ...more
49%
Flag icon
Over time, we’ve refined our discussions to be much more efficient and decisive, and one of the biggest improvements has been to articulate a specific, actionable checklist of characteristics to discuss: What is this person’s ceiling? How does this person make us better? Is this person teachable? What exactly will this person work on during the first 30/90 days? Will we like being around this person? We don’t always discuss every item for every candidate. Knowing which ones to focus on with each candidate is an important skill that you and your team will learn over time.
49%
Flag icon
Growing companies are looking for people who have a lot of potential. As a leader in such a company, you need and expect people to expand into new positions with the company, take on bigger challenges, and generally unlock new skills and talents. You want each new hire to be a great long-term addition, not just fill a short-term need.
49%
Flag icon
For example, for a junior engineer, this might be a senior engineering role. Are you confident this person will be able to hold that role someday?
49%
Flag icon
Consider whether the candidate has shown a consistent track record of improvement and learning throughout their career.
49%
Flag icon
It’s worth spending time to decide how your team evaluates someone’s ceiling, in order to make these discussions more productive.
50%
Flag icon
What skills do they have that we don’t? What can they do better than anyone here? What can they teach us? What changes to our culture or process will they lead or precipitate to make us better?
50%
Flag icon
For example, will their creativity help us brainstorm new projects? Will their ambition drive us to accomplish more? Will they bring in new, fresh ideas?
50%
Flag icon
If you can’t come up with at least one specific way that a potential employee will improve your team, it’s probably not a good match.
50%
Flag icon
By contrast, if you find that you’re learning new and useful things from the candidate during the interview, you’ve probably ...
This highlight has been truncated due to consecutive passage length restrictions.
50%
Flag icon
In all cases, we want to be confident that there’s going to be a great return on that investment. For example: Will they learn something the first time, or will we have to keep reminding them? Will they be able to extrapolate new skills and ideas into problems they haven’t seen before? Are they open-minded about how to do things?
50%
Flag icon
Being teachable is a critical characteristic for achieving this personal growth.
50%
Flag icon
Create a detailed roadmap of projects for this person and then ask the following questions: Is this work worth the cost of hiring someone? Will we be happy in 90 days with these results? What does this free other people on our team up to do? This topic can bring a lot of clarity to the hiring discussion.
51%
Flag icon
One way to help assess this quality in candidates is to include interview questions that test self-awareness and emotional intelligence. For example: Tell me about a time when a project went off track. How did you know, what did you do, and what did you learn from the experience? What do you enjoy about your work? How will this position help you achieve what you want?
51%
Flag icon
Interviews should be fun. Think about it… You get to meet people, learn new things, and hear about interesting experiences. Why wouldn’t it be an enjoyable experience?
51%
Flag icon
Finally, some personalities are simply better suited to being an interviewer. Look to build a team that possesses, in addition to the necessary technical and analytical skills, the ability to connect with people, a deep empathy for others, and consistent enthusiasm for your company and their work.
52%
Flag icon
Start with a tour of your office and the best benefits of working there. Sell them on your company from the very beginning. Candidates know they’re going to get grilled, so taking the time to pitch them up front shows optimism that they’ll do well, which can rub off on them. Give the candidate some goodies to take home, such as a company T-shirt or mug. Again, it’s a sign of faith and confidence in their ability, which creates a positive impression. Bring candidates into team activities. Social events such as team lunches are a great way for a candidate to meet and learn about a lot of people ...more
53%
Flag icon
First and foremost, the interviewee must be a high-quality candidate. Engineers are intellectually curious and creative people and enjoy talking with others who share these traits. Some of the best interviews are those in which the interviewer feels like they learned something useful or important. This experience makes a strong impression that hiring the candidate will lead to lots more learning and growth.
55%
Flag icon
In order to determine the breadth and depth of the candidate’s skill, an interviewer needs to be at least as strong.
55%
Flag icon
Don’t forget: The candidate is testing you as well. Most engineers care deeply about the ability to learn from their colleagues, so they’re looking to see if your team has the knowledge and skill to teach them new things.
56%
Flag icon
It’s difficult to fake enthusiasm for something for an entire hour or more. Be sure that everyone on your interview team is truly excited about what they do and the opportunities ahead.
56%
Flag icon
Conducting an interview is more than just asking questions and writing down the answers. It’s a chance to connect with a new person, discuss interesting ideas, and make an important decision affecting the future of your company. If people on your team, or the candidates you interview, don’t seem to appreciate being part of this process, something’s wrong. By planning an enjoyable experience for the candidate, aggressively screening out all but the best candidates early on, and sharing ownership and responsibility with your team, you can work toward a process that everyone enjoys and embraces, ...more
57%
Flag icon
The candidate is also free to change languages at any time, so it’s unlikely that Java is simply a poor match for our interview questions.
60%
Flag icon
“Achieving business and product objectives while simultaneously creating an engineering culture that delivers results and makes people feel their work has an impact and that they are progressing and developing new skills.”
« Prev 1