How to Conduct an Annual Performance Review as an Engineering Manager
🎁 Absolutely everything you need to know, plus a performance review tool for subscribers.
Welcome to the Captain’s Codebook newsletter. I'm Ilija Eftimov, an engineering manager at Stripe. Each week (or so) I write a newsletter article on tech industry careers, practical leadership advice and management how-tos.
Delivering performance feedback is no small feat. The engineering manager's energy has to be right, they have to shape the conversation in the right way, the content has to be on point, the list goes on. Getting it wrong can have wide-ranging effects. It will surely create FUD with your engineers. But it can demotivate or ostracise some of them, too. The stakes are high, so you have to get it right.
Below, I share practical tactics that you can use on the next performance review you conduct. More specifically, we'll cover:
🏋️ Preparation
🗓️ Scheduling and pre-reads
🖖 The vibe
❗️ Important things first
🥇 Accomplishments and strengths
📈 Areas for improvement
💰 Compensation
🗺️ Talk about the future
🤝 Agree on action items
Without further ado, let's dive in.
🏋️ Preparation
Annual performance reviews is a critical process that directly impacts your team's morale, future performance, and career trajectory. In other words, it's a high-leverage meeting and you really want to get it right. Especially if the news you're about to share with your engineer are not great. To navigate this delicate task, here are several tactics to prepare for the review:
Crank up the empathy and honesty. Put yourself in the shoes of your reports - this moment is the culmination of a whole year of hard work. Ambitious folks want to know how they did, how much more money they will earn, and any other bonuses. So, be grounded, emphatic, transparent. Be ready to spend many hours with your team mates on this - it's very important.
Avoid surprises. The official annual performance designation should continue the feedback the individual has been receiving over the year. Conversely, if someone has been underperforming over the whole year, the annual review should not be their first time hearing and getting feedback. If someone's getting promoted this cycle, you want to add a talking point about the bar getting raised. They will have to meet the higher standards of their new title, so tell them that explicitly.
Prepare for awkward questions. Performance designations are summarized to a rank on a scale, such as a number from 1 to 5. Some companies use the equivalent, but in words - e.g. “does not meet expectations”, “meets expectations”, “exceeds”, etc. You will get awkward questions for the ones you think they did well. Also, some folks will get a different performance designation than last year’s. The ones that receive a lower designation this year might see it as a downgrade, so be prepared to handle such remarks.
Have the data on hand. To you, performance review results are old news by now. But it's all news to your team, and you will get questions you wouldn't expect otherwise. For example, an engineer who worked very hard in the past year might think they deserve a score of 5, but all they got was a "lousy" 4. Come prepared to dig into the reasons for their scores, including examples of how the person could achieve a higher score. You should not be defensive but have data and examples ready to go deeper.
Prior art on newcomers. When possible, chat with a new report's previous manager about how they took their performance and salary conversations the last time. Some folks like to be detailed, so you better be well-prepared. You don't want to lose credibility with someone new on the team, especially during your first performance review together.
Check the math on the compensation sheets. Take the time to go through the numbers for each of your engineers before the actual reviews happen. The reason is simple: you don't want any mistakes during the compensation discussion; mistakes erode the individual's trust in you (as their manager) and the company overall. You and HR must fix any compensation errors before the reviews.
🗓️ Scheduling and pre-reads
When it's time for yearly job reviews, how and when you share information can make a drastic difference. A lot of the important details can be shared even before the review meeting begins. You want to give your engineers the time to ruminate on some of the outcomes before they come to the meetings. That gives them the opportunity to think slow.
Some ideas on this:
Send the review material the day before. You want to give folks time to sleep on it before they discuss it with you. This practice allows them to read it at leisure and then come to the review meeting ready to discuss what it says.
Ensure all correct details are in. When they read that email the day before the review, everything must be there. They should have all the details in that package to avoid making any wrong assumptions. And when emailing the performance and compensation outcomes, triple-check that you're sending the correct documents to the right person. Sending the compensation details of one engineer to another would be horrible. Try to prevent this from happening at all costs.
Send a refresher. As part of that email, send links to pre-reads on how the company does annual performance reviews so the process is fresh in their mind when they come to the review meeting.
🖖 The vibe
Starting a meeting with the right atmosphere is crucial to keep the conversation on track and productive. Setting a positive vibe isn't hard—it just takes a bit of planning and the right approach. It also helps to set the to keep the egos at bay and have a transparent conversation.
Here are some practical tips:
Set the right tone. When kicking off the meeting, you reinforce the idea that it's a review. It's a look back, it's appreciation and, hopefully, celebration. It's not a criticism fest.
Explicitly spell out the meeting format. When kicking off the review, you want to eliminate any doubt about the content of the conversation. Also, the order is essential. So, reiterate what you are going to be talking about and in what order:
Achievements
Opportunities for Growth
Goals for the upcoming year
Compensation changes
Make it a two-way conversation. Encourage them to bring any questions or topics you want to discuss. Also, make frequent pauses. Frequent pauses allow oxygen to enter the conversation and allow the engineer to ask questions or make remarks.
Slow down. Remember that even though they've had the review and gotten to read it, you should still take the time to review each section, starting with the strengths and accomplishments.
❗️ Important things first
As an engineer, I've always hated when managers took forever to get to the point. Now, as a manager, I suggest getting to the important bits right out of the gate, and quickly:
No feedback sandwich. Don't do that B.S. Keep it grounded and honest: here's where I think you shined, what you didn't do well, and the actions we'll take to make you even more impactful.
Do not bury the lede. Tell them their performance designation. Tell them the areas where they are a top performer. Tell them if they did (not) get that up-level. Tell them all the essential bits up front. They should know everything from the pre-reads you sent, but you want to be rock solid here.
Ask them if any of that surprised them. If they are surprised, especially negatively - that isn't good. Ask them to enumerate what surprised them, jot that down, and tell them you'll get back to them as soon as you finish the main part of the review. You're hoping that the review will take care of many (or all) surprises. But be transparent - tell them that.
🥇 Accomplishments and strengths
In my experience software engineers tend to not like praise. Regardless, if there's one time of the year they should get it - it's now. So do it. Spend time on this and make them feel appreciated. It'll go a long way.
Don’t skip over the positives. Many software engineers are uncomfortable being praised at length, so they'll be dying to jump straight into the areas for improvement. Don't. Skipping the strengths and achievements and not congratulating them for their success undermines the value of the review and fails to reinforce and encourage their talents.
Spend plenty of time on achievements. You want to celebrate achievements, talk about what’s going well, and give plenty of praise for good work.
Praise them for their strengths. You'll use these strengths to determine when you want to promote these people, and it is important to write them down and reflect on them.
Be specific: "Your leadership in [specific project] led to a 30% increase in product efficiency. Your ability [concrete skill] ensured we met our launch deadline two weeks early."
📈 Areas for improvement
Bringing up areas for improvement is about helping people improve, not just pointing out what's wrong. Approach this part of the conversation in a positive and supportive manner. Try to avoid stress when delivering feedback - it's about making the engineer excited for their growth opportunities, not dread them:
Use the 19 words sentence, as told by Adam Grant. It goes like this "I’ll give you these remarks because I have very high expectations and I am confident you can reach them." You don't have to learn it by heart - make it your own! This angle sets the right tone for the feedback you're about to deliver. With this, you tell the individual that your feedback is not about criticism but growth. You want to support them to reach their true potential.
Go slow. Do not dump everything at once on the person. Open up the areas piecemeal. Refrain from using language that implies they're not doing anything right, but rather, talk about growth. For example, "There are opportunities to grow and increase your impact on our team. One area we can focus on is [specific area for improvement]."
Be concrete, do not generalize. Give specific examples of behaviors or outcomes that illustrate the need for improvement. Generalizations are confusing or demoralizing, so avoid them. For example, "During the [specific project], you did [specific behavior] which led to [specific consequence]. Addressing this will help out the team's collaboration."
Link to impact. Explain the impact of these areas on the team, project(s), or organization. Tying it to impact helps the individual understand the broader effects of their performance. For example, "Improving in this area will help us achieve [specific goal] more efficiently and make the team gel better. Both are crucial for the latter part of the year, where we'll simultaneously work on two challenging projects."
Explicitly identify the promotion gap. If the individual was up for promotion but didn't get it, it's paramount to identify the gaps. Your feedback must indicate one or two skills they must work on to qualify for that promotion. Informing them of the gaps is the bare minimum - talk about what kind of support they'd need, too. For example, "In your view, what is the best way for me to support you to close the gap on [specific skill]?".
Keep in mind: it's a two-way conversation. After presenting the area for improvement, pause. Give the colleague time to digest what you just said. Encourage them to share their perspective. Pausing (and asking) for their input invites them to collaborate with you on the approach to address your feedback.
💰 Compensation
Discussing compensation is a pivotal moment in the review. It can significantly influence the remainder of the conversation, but also their long-term motivation. It's critical to be crisp and direct here. Some ideas on how to do that:
Start on the same page by reiterating your company's total compensation package setup. Reiterating it allows both of you to get into the compensation mindset and establish the vocabulary before you get into the actual numbers. If you need a refresher, companies usually have the following compensation structure: base salary, equity, bonus, and additional performance-based equity.
Do not beat around the bush. Once you've set the proper context, jump in the numbers immediately. Start with a summary: "Given your contributions this year, including leading the [specific project] to success, you'll receive a 5% salary increase, 22.5K bonus, and 100K equity refresh. This reflects our appreciation for your hard work and the value you bring to our team." Once that's out of the way, go to the details: start with the salary and bonus (if any). Then, move into equity, if any.
Talk specifics. When discussing salary bumps, spell out the math for them. For example, "You get a 5% raise to your base. Starting next month, instead of your old salary of 100K, your new annual base salary will be 105K." When you go into the bonus, explain the bonus structure. For example, "Per your contract, your bonus is 15%. Based on your performance designation, you're rewarded with 150% of your bonus. In other words, your bonus is your base salary 0.15 1.5 = 22.5K". When discussing equity, continue with the same approach: dive into the numbers.
Make sure the math checks out. The last thing you want to happen is to miscalculate or incorrectly explain any compensation outcomes. Take your time; don't rush it. If the math doesn't work, either try to debug on the spot with the individual or say that you'll ping HR to get help, and you will follow up with the individual ASAP.
🗺️ Talk about the future
Now that you're through the compensation, it's time to talk about the future. Be excited - the future holds great things for your team!
Explore their motivations. Pick 2-3 career goals and dive deep into them. What is their motivation for having those goals? For example, machine learning has gotten very popular lately. So, your report might have a goal to "deploy a machine learning model". If your team does not have an upcoming project where the individual could do that - you need to discuss it. Perhaps the company can invest in training for this person. Or maybe there's a better-suited team where they could do that?
Dig into the disconnect. If the career goals and the areas for improvement are grossly misaligned - talk about it. Explain the rationale for your feedback (again) and how that ties to the expectations for the engineer's level in the company. Put the feedback in an urgent context, too. For example, if someone's performance is at risk (e.g., close to getting a PIP), you must explain that they should prioritize meeting their role's expectations before other goals.
Identify practical work to grow through. Think about the areas for improvement and the individual's personal goals. What projects, domain areas, or expertise could they work on? For example, if an area of improvement is stakeholder management and the engineer wants to work on a project involving microservices, then figure out how they can lead a crucial role in an infra-level project. Such a project will allow them to manage internal stakeholders (i.e., lower risk) and be happy to expand their knowledge.
Set clear & achievable goals. Work together to set goals. Make each goal SMART - specific, measurable, achievable, relevant, and time-bound. For example, say "Let's set a goal to improve your [specific skill or behavior]. A way to achieve this could be through [specific action or resource], aiming for [specific outcome] by [specific timeline]. What do you think?"
Write a Personalized Development Plan (PDP). PDP is a practical guide that will help the engineer grow towards their career goals by aligning the goal-related activities with the company's objectives. For instance, if the engineer aims to specialize in machine learning, their PDP could list actions like completing an advanced machine learning course with a curriculum relevant to an upcoming ML project in the company. That way, the engineer will achieve their career goal, and the company will achieve its objective.
Put support structures. To achieve said goals, the two of you need to decide what support they need to achieve their goals. They can get support from the company, such as mentorship or training. You can support them as their manager, be a sounding board and a coach. You could do something extracurricular for them - for example, introduce the individual to a senior leader so that they can ask any burning questions or get more insights into the company's strategy. Get creative!
🤝 Agree on action items
To close off, you need to agree on the action items, owners of the actions and cadence at which you will review these items to keep track of their progress:
Summarize. Conclude the review by summarizing the key points you two discussed. Call out any action items you agreed on. Summarize the development plan, if any. Ensure both of you are clear on the next steps. Bonus: share the written summary via email after the call.
Establish recurring progress reviews. Follow-ups are key to tracking progress, so set a timeline for follow-ups and immediately put it in your calendars. For example, I prefer a separate, monthly check-in similar to a regular 1:1, but it focuses strictly on the progress the individual is making through their goals and improvements. Here, you can also review and tweak their PDP, marking down the milestones they've achieved.
🎁 Performance Review Conversation Starters Tool
Exclusive for readers of Captain Codebook - I built a small tool that allows you to tailor a set of conversation starters, based on the outcomes of the report you’re reviewing.
Based on the choices you make, the tool will return a “Main conversation” part, which will include a solid layout for the performance review conversation. Also, driven by the choices you make in the form, the tool will return additional conversation starters for potentially awkward scenarios.
Test it out and leave me feedback in the comments!
And that’s it for this week! If you liked this, consider doing any of these:
1) ❤️ Share it — Captain’s Codebook lives thanks to word of mouth. Share the article with your team or with someone to whom it might be useful!
2) ✉️ Subscribe — if you aren’t already, consider becoming a subscriber. Seeing folks read the newsletter energizes me and gives me ideas to write.
3) 🧠 Let’s chat — I am always on the lookout for questions to answer, to help out with challenges, or topic ideas to cover. Hit me up on LinkedIn, Twitter or send me an email to blog@ieftimov.com.
Until next time,
Ilija