How To Conduct Successful Engineering Performance Reviews

How To Conduct Successful Engineering Performance Reviews
It’s that time of year again. Leaders and contributors alike dread writing both their own and others’ reviews. Further anxiety surrounds the often-tense meetings where feedback, sometimes unfavorable, is openly discussed. In the engineering world, these conversations can be particularly difficult to conduct due to a lack of visibility into the day-to-day work done on their team. After all, a truly strong leader focuses on tasks larger than micromanaging individual contributors.
Reviews are intended to be helpful and energizing for employees, motivating them to reach their full potential. Instead, employees often leave these reviews feeling disappointed and dissatisfied with the conversation. Without the ability to constantly monitor each team member’s performance, how can you as a leader improve the effectiveness and attitude surrounding these critical conversations?
Let’s turn to Tech Giants Uber and Airbnb for clues.
Many Engineering Companies have annual performance reviews.
— Nkululeko Thusini (@nkule_thusini) December 28, 2021
Here are three questions you must agree on:
- Your career path
- Training and development opportunities
- Key performance areas
Always insist on having a periodic discussion of your career progress.
Agree?
Before the Review
As is the case with most successes, the crux of a productive performance review is in the preparation. It’s up to leaders to be clear with expectations and support their engineers to meet their goals. While this can sound like a tall order, adequate preparation for a performance review can be achieved in three simple steps. Managers at Uber and Airbnb are often overwhelmed with day-to-day tasks that could distract from less urgent responsibilities, like preparing for a performance review. By following just a few steps, however, they set up both themselves and their team for a productive year.
A topic few managers think about, even fewer will want to talk about, but all of them suffer from it: biases with performance reviews and promotions.
— Gergely Orosz (@GergelyOrosz) March 22, 2022
I had them, and _every_ manager has them. You should know about these, and how to counter:https://t.co/RX7od7yAou
Determine exactly how reviews will be conducted and how performance will be measured.
Being transparent about both the format of the review and the rubric used to measure success is critical for your engineers to reach their professional goals. After all, if an employee does not know how their performance is being judged, they have little hope of living up to expectations. For this reason, you as a leader must be crystal clear about each role’s responsibilities and/or performance goals. When onboarding a new employee, make sure to collaborate with your new hire on a comprehensive list of professional goals, a timeline of when they are expected to meet them, and a roadmap on how to achieve them.
Employees should also be aware of the review and promotions cycle before they begin. To promote fairness (as employees are hired at different times in the year), Uber has two evaluations and two promotion cycles a year. This way, employees have a chance to earn bonuses in each half of the year and stay motivated between feedback cycles.
Make sure to clarify the difference between promotions, raises, bonuses, and professional growth at the beginning of your relationship with each employee. Set expectations for what is required for a promotion and a raise, and when each could reasonably be expected given strong performance.
Soon after an employee is onboarded, you should be able to share a rubric with them to show how their performance will be measured. While the contents of the rubric are up to you, most large tech companies use a scale of 1-5 and include the following categories:
- Code readability - Can team members easily understand what the developer’s intentions were in their code snippets?
- Code reviews for other developers - Is the developer conscientious and helpful when reviewing others’ code?
- Results - Does their code fail frequently, or are they consistently improving the codebase? Do they contribute to team morale? What is the impact of their presence on the team?
- Teamwork - Do other team members enjoy working with them? Do they work well with others?
- Communication skills - Do you adequately understand their goals? Are they communicative when personal issues that may impact their work arise? Are they transparent about their failures, and do they ask for help when they need it?
- Benchmarks - These can be individualized and incredibly varied from role to role. Some benchmarks for a software engineer could be:
- Job knowledge - language fluency, improvements to existing systems, continuously learning new skills, tooling knowledge
- Quality of deliverables - consistency, accuracy, meeting deadlines, speed, iteration
- Leadership and planning - participation in internal interviews/initiatives, supports others, ownership of products, technical suggestions
- Prod issues - responsiveness to prod issues, not deploying bugs to prod, users understand the product / do not have issues with their specific features
Meet regularly with your team members.
This should go without being said, but meeting regularly with team members is the only way to accurately gauge performance or issues. While these meetings do not need to be weekly or even biweekly, at least a monthly check-in is advised to keep a pulse on team dynamics and individual attitudes. Managers occasionally struggle to fill time in regular 1:1s, so here’s a quick list of content to discuss:
- Has the engineer been having any issues, technical or interpersonal with other colleagues?
- Is any part of the role or responsibilities unclear?
- Do the engineer’s colleagues have any feedback for them that would be appropriate to share with them during this time?
- Does the engineer have any feedback to share with colleagues?
- Is the engineer facing any issues with burnout?
- Does the engineer feel adequately supported for success in their job?
- Is the engineer still content in this role / on this team?
- Does the engineer have any new professional goals where you could help support them?
By asking these questions, you will be able to better understand your team as individuals, and therefore be able to offer better support. When an individual feels seen, heard, and appreciated, they are more likely to perform to their fullest ability.
Be honest about your personal biases and be vulnerable in sharing your weaknesses.
As a leader, you are setting an example and a precedent for your both colleagues and subordinates. If you expect transparency and vulnerability from your team, you must first demonstrate these traits yourself. While it can feel uncomfortable to expose your weaknesses to fellow professionals, this is the only way to improve your own shortcomings and encourage others to similarly reflect. Regularly ask for feedback from your colleagues. Ensure you clearly understand your shortcomings and have a road to address them.
The largest issue in the review and feedback process is individual bias. It is natural for humans to identify with (and gravitate toward) people similar to them, and occasionally those who we see as different will be seen through a different lens. To combat personal biases in the review process, Uber uses what is called “360-degree feedback.” This style of performance of review includes:
- A self-assessment
- Peer feedback
- Manager feedback
- Feedback from direct reports
While individuals have their own biases, the goal is to gather a large sample of feedback to combat any one party having too much power or impact on individual careers. Seek feedback from all relevant parties, and encourage your employees to do the same, even outside the performance review season.
One of the gifts you can give your team, people you mentor, new people, anyone in tech-the freedom to ask a question *without* you flipping the bozo bit on them. A lot of underrepresented people in tech may not feel as safe as I feel in saying "I don't know." Let folks feel safe.
— Scott Hanselman 🇺🇦 (@shanselman) November 16, 2018
During the Review
Come into each employee evaluation with a healthy amount of optimism and encouragement. Although some reviews will be less than favorable, it’s important to empower your team to make positive changes in response to negative feedback.
For an employee to be able to do this, however, you’ll have to be very clear and comprehensive about presenting feedback. Instead of skipping to numbers, begin with listing out achievements and accomplishments made by the individual. By doing this, you will build trust and show that you are attentive to the engineer’s progress. When beginning to present negative feedback, first take note of any anomalies. If an employee has generally positive feedback from all parties except one or two, this could be a result of bias or an isolated incident. Let’s face it, not all of our coworkers are going to like us, and this should be kept in mind when addressing outliers in an otherwise positive review cycle.
If an employee is consistently getting negative feedback in a particular area, ie: communication, be clear in where and how they can improve. In exactly what instances have they failed to properly communicate? What should they have done instead? How can they focus on improving communication in the future? Without properly detailing failures and listing steps to remediate them, the employee cannot make necessary changes.
Lastly, it should be noted that Uber and Airbnb keep performance feedback and compensation reviews separate. When seeking a raise, employees are less likely to be accepting of criticism and may instead be defensive as a way to prove their worth. For this reason, keeping compensation out of the conversation during a performance evaluation improves the likelihood that the employee will be accepting of feedback.
After the Review
After the evaluation, it can be helpful to share anonymized reviews with employees so they can reflect and respond appropriately. Make sure to set appropriate goals together in accordance with feedback, and provide guidance on how to meet and exceed these goals. While it can seem daunting to keep track of so many employee performances and dynamics, properly documenting during your meetings will help you to feel confident that you are not forgetting any past pain points, and are thereby supporting your team as best you can.
Once the review is over, don’t forget about the next review. Continue to iterate on improving your review process, and ask for feedback from your employees to see what is and isn’t working for them in these cycles. After all, you yourself cannot improve what you do not measure or gauge.
While there is no one correct way to run a successful review for software engineers, following the above steps will help you to build a sustainable and transparent process that benefits all parties at the company. By keeping constant clear communication with your team, you are sure to see improvements in both morale and performance.