I recently heard that the average tenure engineers in tech companies is less than two years. If true, it’s a mind-boggling critique on the tech industry. What’s wrong with companies that can’t retain people for more than a year or two? Seriously – who wants to work for a team where people aren’t around long enough to banter about the second season of Westworld?
I know there are many factors in play, especially in hot tech markets, but there’s one totally avoidable fault that is all too common: being stupid with growth opportunities.
Software engineering is one of those fields where skills often increase exponentially with time, especially early in a career. Unfortunately businesses seem loath to account for this growth in terms of new opportunities or increased compensation. For example, companies set salaries at the time of hire and this is what the employee is stuck with for their tenure at the company – with the exception perhaps of an annual cost of living increase. At the same time, the employee is gaining experience, adding to their skills portfolio, and generally compounding their market value. Within a year or two the gap between their new market value and their actual compensation has grown quite large. As most business shudder at the idea of giving large raises on a percentage basis, the gap continues to grow and the employee eventually makes the rational decisions to move to another company that will recognize their new market value, leaving the original company with en expensive gap in their workforce and massive loss in knowledge capital.
In addition, many companies take a highly individualist approach to compensation with a goal of getting maximum talent for the lowest price. While this is textbook MBA, it fails in practice simply because it doesn’t take into account human psychology around relative inequality: when people feel they are not being treated fairly they get demotivated. This purely free-market approach leads to a situation in which people doing the same work have massive disparities in compensation simply because some people are better negotiators than others. The facts will eventually get out, leaving the person on the low end bitter and both people feeling like they can’t trust their own company. This is a failing strategy in the long term.
This is what I’ve seen at most companies I’ve been in or around, and this was essentially the situation at Bonial in 2014. There was a very high variance in compensation – on the extreme end we had a cases in which developers were being paid half the salary of other developers on the same team despite similar experience and skills. Salaries were also static – the contract salary didn’t change unless the employee mustered the courage to renegotiate the contract. The negotiation sessions themselves were no treat for either the employee or their manager – in the absence of any framework they were essentially contests of wills, generally leaving both parties unsatisfied.
So we set out to develop a system that would facilitate a career path and maintain relative fairness across the organization. We modeled it on a framework I’d developed previously which can be visualized as follows:
Basically, as a person gains experience (heading from bottom-left to top-right) they earn the chance to be promoted, which comes with higher compensation but also higher expectations. They can also explore both technical specialist and management tracks as they become more senior, and even move back and forth between them.
The hallmarks of this system are:
- Systematic: Compensation is guided by domain skills – actual contributions to the business and market value – not on negotiation skills.
- Fair: People at the same career/skill level will be compensated similarly.
- Regular: Conversation about career level and compensation happens at least once per year, initiated by the company.
- Motivational: People have an understanding of what they need to demonstrate to be promoted.
- Flexible: People have three avenues for increased compensation:
- Raises – modest boosts in compensation for growth within their current career level based on solid performance. This happens in between promotions.
- Promotions – increases to compensation based on an employee qualifying for the next career level (with increased expectations and responsibilities). This is where the big increases are and what everyone should be striving for.
- Market increases – increases due to adjustment of the entire salary band based on an evaluation of the general market.
From a management perspective, this system also has some additional upsides:
- Easy to budget. Instead of planning with names and specific salaries, one can build a budget based on headcount of certain skill/levels.
- Easy to adjust. If the team decides it needs a mobile developer or a test automator instead of a backend developer, for example, it simply trades one of it’s authorized positions for one of a similar value. Likewise it can shift around seniority as needed to meet its goals.
- Mechanism for feedback. By reserving promotions and raises for the deserving contributors, this system provides an implicit feedback mechanism.
So far the system seems to be working well at Bonial, measured as much by what isn’t happening as what is. For example, people who have left the team seldom call out compensation as their primary motivator. We’ve also had few complaints about people feeling they are not being paid fairly compared to their peers.
As a side note, we conduct regular employee satisfaction surveys and ask how employees feel about their compensation. Interestingly, their responses on their feeling about compensation vs market do not strongly correlate with their overall satisfaction. What does correlate? Their projects, the tech they work with, their growth opportunities, the competence of their team mates, and their leads. So these are the areas we have and will continue to invest in.
Some closing thoughts:
- Professionals want to know they are being compensated fairly both within the company and within the market. That way they can focus on what they’re creating, not be worried about their pay.
- Professionals want the opportunity to grow and to be recognized (and rewarded) for their growth. Providing a growth path inside the company improves employee retention and reduces costs related to talent flight.
- Compensation is an asymmetric demotivator. Low or unfair compensation will demotivate, but overly high compensation isn’t generally a motivator. So make sure you’re out of the “demotivating” range and then focus on key motivators, especially in the area of day-to-day satisfaction.