Kindle Notes & Highlights
by
Josh Tyler
Read between
November 15 - November 22, 2019
Help them develop an increasingly clear picture of what life will be like on your team.
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.
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
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.
If you find yourself rejecting candidates primarily because they need more experience, consider making an investment in providing that experience yourself.
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.
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.
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.
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.
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
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.
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.
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.
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.
At all levels, the interest and aptitude for learning are a strong, clear signal for how well someone will do in your organization.
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.
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.
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
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.
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.
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.
Always be selling. Make it sound interesting. Assume you want to get everybody who reads your description to be excited about the opportunity.
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.
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.
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.
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.
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
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.
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.
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?
Consider whether the candidate has shown a consistent track record of improvement and learning throughout their career.
It’s worth spending time to decide how your team evaluates someone’s ceiling, in order to make these discussions more productive.
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?
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?
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.
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.
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?
Being teachable is a critical characteristic for achieving this personal growth.
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.
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?
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?
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.
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
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.
In order to determine the breadth and depth of the candidate’s skill, an interviewer needs to be at least as strong.
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.
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.
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
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.
“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.”