End the perverse incentives. Pay your people well if they're doing a good job, regardless of how long they've been doing the same job or what their title is. Reward seniority and loyalty. Suddenly, you'll find that employee retention goes through the roof, and you don't have to worry about hiring new people all the time.
That said, companies are often wrong to hire externally as they misattribute their problems to their employees instead of to their own leadership. It is easier for them to blame others instead of themselves.
The other issue I ran into was being so good at the position I was in that I was "unpromotable". Got told that a lot as an IC. Was then told even though I was fully qualified for the promotion, I would not get it nor the accompanying salary.
Comparing peoples performance objectively in a large organisation is essentially impossible. Only the people working closely with someone really have any idea, and even then they only see part of the picture.
In the backend of the org, this is harder to do, because the impact is hard to measure and comes to fruition later in the game.
One solution is to have small teams of engineers that own their companies - ie, millions of tiny startups. That way, brilliant contributions lead to large profits for the contributor.
But how engineers can be fairly compensated in large orgs, I'm not sure. This is a fundamentally hard problem. Removing the salary ranges might help.
My Position has always been "More Money, with less responsibility, is the best promotion one could ever get"
Nah, that has been proven to not be true (at least in most cases).
What usually happens is a combination of various factors, money being one of them. And when money is part of it it usually psychologically functions as a proxy for whether your company/boss cares for you.
Most people want confirmation of their own beliefs about themselves -- they want the company/boss/coworkers to be showing respect and show that they value your work. People want to see that their work is accomplishing something and a lot of people can go to great lengths to lie to themselves that this is the case. And a lot of people also want progress, they want to see themselves doing new things, getting more responsibility, advancing their careers.
I hired and said goodbye to A LOT of software developers. And I do understand that it is difficult to get an honest, unbiased response when you ask them for the reasons for their decisions to leave.
But at the same time you get to experience trying to get people to stay and seeing what works and what does not. Giving raises works relatively rarely -- it only seems to delay. They are already discontent with their job and the higher salary only functions as a sort of gold handcuffs. After quarter century of doing this I literally am still to see a situation when a developer is offered a higher salary and suddenly becomes enthusiastic about their job to have a long fruitful career.
So what does work? Trying to find what causes them to be discontent in the first place and trying to address it. Do they feel they worked for too long in one project? Are they bored intellectually? Are they not getting along with their current boss? Changing the project without any raise is in my experience one of highest success rate things you can do in this situation. That success rate may not be very high (people tend to leave anyway) but at least I have a lot of good stories of people who changed teams and things clicked for them and they liked their new team. The only things that worked better in the past are changing the project WITH upgrade to the salary to reflect the market, and, for the ultimate highest employee-keeping potential - promotion to manager.
If people really did care mostly only about money, upping their salary should have greater success rate than moving them to another team and yet it is the opposite.
Now... this all assumes software developers and we know software developers are not exactly starving. If you are earning very little compared to your needs or when those needs grow suddenly people tend to really start paying way more attention to just monetary compensation.
It is like they haven't taken the time to even make a rudimentary calculation on the costs involved in keeping the employee versus replacing them.
Also on the flip side, if you've been in a role longer than say, 4 years, you should interview at other companies. You're probably getting underpaid. (Even if you've gotten a promotion). You don't have to jump ship, just see what's available.
Currently the approach is “well we lost someone with 10 years of experience _at our company_ I guess we’ll replace them with some with 10 years of experience elsewhere. Problem solved!”
But really, to bring the moneyball analogy, the guy who left was hitting .380, while the guy you brought in will maybe be a .300 hitter a few years from now once he ramps up closer to the level of the .380 hitter.
So what recruitment should be doing is figuring out how many individual people they actually need to bring in to replace their .380 hitter. That calculation should also inform how much they’re will to incentivize the .380 hitter to stay.
Thank you for bearing with my drawn-out analogy!
- Dissolve good teams.
- Losing great employees for nothing
- Prohibition of documenting procedures (Yes, I've worked on one of these)
- Encouraging bullying behavior.
- 50% of time lost in meetings.
The explanation of all this is that... 99% of the companies where I worked the objective was not profit, they existed only for someone to demonstrate control over other people. Meetings is showing the power of "request a meeting". An employee asks for a raise? We don't give in to employees, etc.
If you understand this, all the weird stuff makes sense.
My current employer is a prime example of this stupid mentality causing issues.
They’ve gotten better about it but since I started little over two years ago they’ve had probably 60% turn over of full time team leader and higher staffers. Our poor VP spent the last 3 years arguing with our Japanese President and others about the need for retention policies as we have such a high staff turn over that it was/is costing us money in overtime etc. we were in a bit of a death spiral last year that we’ve luckily pulled out of but we lost so many people due to COVID and similar that we were working people mandatory 12 hour shifts with mandatory OT and kept having /more people/ quit. For obvious reasons. And then new hires wouldn’t last through their first paycheck.
They had to up base pays and bite the bullet and hire a ton of people all at once to try and get shift times lower.
It’s one of those things that makes me glad I’m IT. I’m a critical employee and they bend over backwards to accommodate me when I need it. I try to not abuse that though :)
We are a tier 1 parts supplier for Honda and we operate damn near 24/7/365
https://www.technologyreview.com/2022/09/15/1059470/customer...
After 11 years in Enterprise IT it's been my impression that we are very short sighted. We give everything to our sales and they sell everything between heaven and earth without a thought on how we can deliver it. And once the contract is signed, no effort is made to deliver or manage, just move on to the next big contract signing.
So just as they prioritize hiring and ignore retention, they also prioritize contract signing and ignore lifecycle management. It's the same short sighted thinking in another area.
Trying to retain people they don’t respect already seems unlikely.
Senior software engineer (10 years of exp.) joins company X. Year salary: 80K EUR. This salary is not exclusive of "tier-1 top companies"(but let's not start a discussion about how low or high this number is, please)
- After 1 year. Good performance, everyone is happy. Raise of 15%. New salary = 92K EUR
- After 2 years. Great performance, everyone is happy. Raise of 15%. New salary = 105800 EUR... now this salary is starting to look unrealistic
- After 3 years. Great performance, he's the de-facto tech lead of the team. Raise of 15%. New salary = 121670 EUR. Now this is salary is rare for for non-tier 1 companies
At this point the senior engineer considers leaving because in year 4, it's impossible he'll get a 15% raise again (that would make around 140K EUR, and company X is not Google/FB/Amazon/Microsoft). So, he switches companies. Company hires a new senior software engineer for 90K EUR. The cycle starts again.
If I were in a position to implement things I’d simply get rid of raises all together and simple give people only stock and/or profit share. If they’re doing well the raise will come to them automatically. Of course this has perverse incentives in itself too.
Forgetting the Asbestos – how we lose knowledge and technologies [https://news.ycombinator.com/item?id=33320294]
Especially in startups losing knowledge is a huge problem -- I claim -- and a fundamental management issue as productivity models and other resource management models (theories) do not account for memory.
Who had someone left or themselves left only for X system to start dying in production? Or for a lot of info to have been lost because it existed on slack or on the conversation participants heads?
Startups can simply not afford to lose some/most people. Best case that knowledge is at the hands of competition.
Transactional attitudes begets itself.
In terms of compensation and hiring, commonly the package is defined by HR while the performance is reviewed by your team manager. There are even places where the criteria of evaluation is defined by HR.
That's also why I'm very optimistic about start-ups. Company can never dominate a market forever. And the end of the day, all companies implode
I have a phrase that sums up the process:
How you hire is whom you hire.
Put another way, if recruiting / hiring is off target, that's only going to magnify going forward.
[1]https://www.vox.com/recode/23170900/leaked-amazon-memo-wareh...
Well, it is the same with companies.
In both case this leads to suboptimal results at 'system level' (a well-known problem in system optimisation).
Duh. Most people learn the job on the job.