Building and Managing an Engineering Team

Treating Everyone Equally (or Not!)

Chapter 33 of 52 · 8 min read

In both the business world and beyond, it is impossible for two people to contribute equally. One person may be more dedicated or willing to go the extra mile, or a manager may have a particular fondness for them. Even if two people are twins, their days cannot be the same, and their output can never be equal. So why do we strive to treat people equally? This is a broader philosophical topic, which we won’t cover in detail here. But from a business perspective, if we treat everyone equally, aren’t we being unfair to those who contribute the most?

Early in my career, I worked at a large company with a colleague named Sophie (a nickname for privacy reasons). Despite knowing very little about programming, Sophie held a senior specialist position and made at least three times my salary. Her title gave her a seat at the head of any meeting table, but unfortunately, her code was often difficult to correct. Both back-end and front-end developers were ashamed to sift through it, which made me question how we felt about ourselves and the company we worked for. At first, I couldn’t figure out why Sophie had survived so long in the business world, but it soon became clear.

During the annual performance calibration period, which was the only opportunity when we received salary adjustments, I was waiting for a significant raise because of my hard work throughout the year. I was also secretly wondering about Sophie’s rating. Her performance grade and subsequent raise would show how much the company valued the principle of merit and determine how long people like me would stay with the company. Shockingly, our managers decided to give everyone an equal raise that year. Yes, Sophie and I received the same rate, although she received three times the nominal raise of her salary, which was three times mine! This was a terrible experience, and since then, I have made it my mission to ensure that no one experiences such trauma in any company where I hold a management position.

If a person aligns with the company’s goals, builds good relationships with others, and contributes to their team’s objectives, they deserve better rewards. Being fair and being equal are two distinct concepts. While it’s important to be fair and just, treating everyone equally is not always the best approach.

As a CTO, your most important responsibility is to identify and reward those individuals who possess exceptional skills, both materially and spiritually. As Steve Jobs once said, one person with special skills in your company can do more than fifty ordinary people.

To attract and retain such extraordinary individuals, you must first make some adjustments to your team and create a unique environment that they would feel comfortable in and want to work for.

Make Salary Increases Based on Success

To effectively distribute salary increases within your company, it is important to have the flexibility to allocate funds as you see fit. This requires regular communication and coordination with the HR and finance departments. Start by informing key stakeholders, including the CEO, finance, legal and HR departments, about your proposed approach.

To ensure a fair and motivating distribution of salary increases, consider the following approach:

Allocate a higher percentage of the raise budget to recognize top performers: Allocate a significant portion, such as 60% or 70%, of the budget to the top 20% highest performing employees. This acknowledges their exceptional contributions and provides them with a more substantial raise.

Provide moderate raises to the average performers: Allocate a reasonable portion of the budget to the following 60% of employees who fall within the average performance range. This allows for moderate raises that reflect their contributions and encourage continuous improvement.

Consider offering a smaller raise or a performance improvement plan to bottom performers. In some cases, it may even be appropriate to offer a 0% raise (I have done this a couple of times in the past). Alternatively, for a less assertive approach, you could provide a smaller raise or offer a performance improvement plan to the bottom 20% of employees. This acknowledges their efforts while highlighting the need for growth and development.

By adjusting the allocation percentages and providing opportunities for improvement, you create an environment that recognizes and rewards top talent while supporting the growth of all team members. It promotes fairness, motivation, and a shared commitment to continuous improvement.

Effective communication is key in implementing this strategy. Clearly explain the rationale behind the distribution, emphasizing the importance of individual contributions and growth opportunities. Encourage open dialogue and provide ongoing feedback to help employees understand their performance and areas for development.

Remember, the goal is to foster a positive work culture that values and differentiates performance while promoting growth and development for everyone on the team.

Matter of Titles

In many companies, titles for developers are often simple, such as “junior XYZ developer” or “senior ABC expert.” However, the criteria for transitioning between these titles is often unclear. Interestingly, many people attach too much importance to these titles. There have been many cases where individuals have earned their “senior” title too late and lost motivation, leading them to change jobs. Losing good talent over a mere assigned title seems ridiculous, but unfortunately, it happens.

So, what’s the solution to this problem? Should we give everyone a “senior” title after two years and make everyone a manager after five? Of course not. Tenure-based promotions are a certain disruption of company culture and can put a damper on future growth opportunities.

As the main idea of this chapter suggests, let’s start by identifying the individuals who contribute the most to our company and team. For these exceptional team members, don’t hesitate to use differentiating titles such as “XYZ Architect,” “Principal XYZ Developer,” or “Distinguished Engineer.” Although this solution may seem simple, it is pleasantly effective. Those with a title that sets them apart from others are often more motivated, and their performance improves significantly when they receive this special badge of honor.

These individuals also care greatly about their connections and superiors. If you can manage a larger team (personally, I struggle to manage more than eight people reporting to me at the same time), you can arrange for these individuals to report directly to you. It is not uncommon for principal engineers (or whoever holds that role in your company) to report directly to the CTO.

For individuals other than managers, you can continue to use “rookie”, “junior”, and “senior” titles, or invent unique titles for your company. Some companies do not use any of these titles at all. For example, in some companies, everyone from a new graduate to a twenty-year professional is considered a “specialist”. In this case, the salary determines the differentiation, rather than the titles themselves. This approach can provide good results if the company’s culture supports it.

Some companies use a tracking system that assigns tracks with names like A1, B2, B3, Expert1, and Expert2. This system is effective in large enterprises because it places less emphasis on titles and instead focuses on levels within the payroll structure.

Mediocre People Syndrome

When I join a new company, I make an effort to first understand the team dynamics. I find out who the hardworking bees are, who bears all the burden, who feeds on others, and who is mediocre. Depending on the team size, this analysis process takes a few weeks to a few months. During this process, some colleagues will probably try to manipulate you. Avoid forming opinions based on one person’s judgments. Learn to look from several perspectives.

If you need to make drastic decisions and assemble a world-class team with the resources at hand, consider upskilling or replacing your team of “mediocre” people first. While it may be easy to spot those who are “low performers”, whose failures are immediately apparent, “mediocre” people can be more difficult to identify and can have a greater negative impact on your company in the long run.

If your company lacks a system for recognizing “top performers”, chances are they have already left. While low performers are easily identified, mediocre performers often go unnoticed for years, and their performance gradually becomes the standard. Over time, chronic mediocrity will make it harder to attract star candidates.

In fact, it’s the mediocre performers who do much more harm than low performers. Spotting and addressing the latter is an easy task, but doing the same for the former requires a strategy and a system.

Do whatever you can to hire higher-quality people to replace mediocre ones, possibly by offering higher pay. Eventually your company’s standards will inevitably improve. This will also signal that inadequacy is no longer tolerated in the company. Low performers will either start looking for opportunities elsewhere or learn to improve. Sometimes, these people can be motivated to perform better. Who knows, maybe some mediocre ones were preventing them from shining.

Throughout my career, I have had to let go of hundreds of people at the companies I have worked with. However, I have managed to maintain a friendly relationship with almost all of them. In fact, a few have even told me that the greatest favor I have ever done for them was to terminate their jobs. Sometimes, people are unaware of their inadequacies, and someone (in this case, me) needs to guide them to face the truth.

I have observed numerous instances where individuals, who are retained in companies due to necessity despite their average track record, gradually become stagnant over time. I believe the greatest disservice we can do to these individuals is to remain apathetic to their lack of progress. Someone needs to communicate the truth to them, and if warranted, their employment should be terminated. This will serve as a wake-up call, helping them confront reality head-on. It is crucial to be honest with individuals who are on the verge of wasting years and becoming stagnant in their careers.

Ultimately, when we make the difficult decision to lay off employees, we are not ending their careers. Instead, we are providing them with an opportunity to thrive in a different setting. Just because they may not have succeeded here doesn’t mean they won’t find success elsewhere.

Let’s conclude this section by providing a list of phrases that can help identify inadequate individuals during the calibration period.

  • “I should be considered as exceeding since I did everything that was assigned to me.”
  • “I’ve been given challenging tasks, and the expectations placed on me were unrealistic from the beginning.”
  • “I’ve always performed at a high level, and any shortcomings are due to external factors beyond my control.”
  • “I work overtime every day when others leave at 6 o’clock.”
  • “I was always obedient and never questioned what my manager said.”

All of these sentences are clear signals of a passive personality. While average people do their part, they often lack the imagination to move your company and team forward. Unfortunately, some companies reward behaviors like working overtime to finish three hours of work in twelve hours. This will end up with a culture where mediocre people can stay employed for many years, even if they are detrimental to the company.

As a strong and competent CTO, it is your duty to identify such people, replace them, and raise the bar and standards to a certain point.

Contents

All proceeds from the book go to planting trees. Trees and the PDF · Amazon ↗