Live data from Hacker News

Why don't tech companies pay their engineers to stay?

marker.medium.com

51–60 of 515 posts

Re: Why don't tech companies pay their engineers to stay?

#51
post #11

To chime in with my own anecdotal opinion that is likely to anger some people... in my experience most developers do their best work after about 6-8 months of starting a job at a new company, and that comes to an end after about 24-36 months of working at the same company. After that the vast majority of people just stagnate, get complacent, the job stops being interesting to them and they move on. After observing th…

By retaining a person who has "stagnated" after 3 years (setting aside the ambiguity of what you mean by "stagnate"), you avoid:

1) Three years of lesser performance from the new employee as they climb that curve

2) The very real risk that your new hire will not be successful, or if they are successful, will not achieve the same level of performance.

Also, I invite you to challenge what you consider "stagnation". It is not possible to continue linear improvement in a given role: good employees achieve mastery, and while they will still be improving that might not be evident to their managers who are looking only at work outputs. If a company does not want employees who are masters at their task, but rather want people to move up or move out (counter-productive as that might be), then it is literally middle management's job to find new roles for successful engineers, and I suppose fire the previously successful engineer if they're not up to the task. Complaining about an engineer "stagnating" in the same role after they've mastered it is just lazy thinking and lazy management.

Re: Why don't tech companies pay their engineers to stay?

#52
post #35
post #3

> The hard truth that many companies struggle to wrap their heads around is that they should be paying their long-tenured engineers above market rate. From an ethical point of view, maybe. From a rational point of view, maybe not. Jobs are "sticky" — it's a pain to apply for jobs, arrange interviews, deal with the possibility of getting rejected. And if you do get an offer and accept you will be leaving colleagues th…

Software engineers especially can take on side projects to supplement their income. Maybe a bit less focus on the day job to reflect the below market pay. Keeps things in balance.

The vast majority of companies ask for a 'we own everything you breathe' agreement as a prerequisite for employment. The vast majority of employed software engineers don't have the luxury to work on side projects, unless they relinquish the IP to their employer for no additional compenstation, which renders monetization moot.

Re: Why don't tech companies pay their engineers to stay?

#53
post #2

You have to see this from the point of view of a middle-manager whose main concern is his own career and salary. First, it's much easier to manage junior than seniors, more so when you are not an engineer yourself. Also, it's more likely you get a better salary when managing a large team of junior than a small team of senior. Even better, you can become a manager of managers if there is a bunch of juniors to manage.…

>>Another problem is that an employee cannot earn more than his boss, and non-tech managers salaries cap at a certain point. This is only a problem in some places and is made up problem by management. Why can't someone make more then there boss, besides ego?

It's a problem that reliably recurs everywhere because organisations are made up of people and people are unwilling to be managers over other people who make more money than them. They quit. You need managers and if you want to keep them they need to make more than their direct reports.

Re: Why don't tech companies pay their engineers to stay?

#54

Earlier quoted context omitted.

> For example, I genuinely don't know if software developers have more of an impact than the product designers Explains why this mentality exists. Middle management cannot see the impact.

Truly, sometimes I wonder if ICs should be allowed to fire managers if managers can't see what brings value.

Software engineers are allowed to fire managers. It's called quitting and becoming a consultant. It often leads to a large pay bump, but also comes along with assuming all the bullshit that your manager does for you, so it's not for everyone.

Re: Why don't tech companies pay their engineers to stay?

#55
post #19

> they gain domain knowledge that is specific to that company, and that stuff is incredibly valuable. The wild thing is that it’s only valuable to that one company! From the engineer point of view, this is a bad deal as the knowledge they get is precisely not transferrable to another company. So staying is a risk (these skills won't even exist elsewhere) and there is a lost opportunity for the employee. They could be…

Author here! My intention with "domain knowledge" point is mostly about all the non-coding stuff. Things like how your company functions, who to talk to about different issues, deep product knowledge and understanding the customers. I actually think transferrable skills grow as well, usually more on the technical side but also on the soft skills side in a generic way. I think the non-transferrable stuff is somewhat unavoidable because of the nature of products, domains, and organizations being meaningfully different.

Re: Why don't tech companies pay their engineers to stay?

#56
There are some great rationales from people here who hire, and gave me a different viewpoint, so I appreciate why companies do that. They do so because of economic reasons - people stop becoming productive after a year, as Kranar notes, or people don't want to leave because it's a pain in the ass to apply for a new job as well as leaving friends behind.

.

One thing I personally have said for a long time, is that when you are just starting your career, you should get it in your head to change jobs as much as possible - so through your 20s to mid-30s. The reason is because a job move will almost always increase your pay, much more than any company ever will.

The trajectory of income earnings at your early stages will be the most dramatic because there is a ceiling, for the most part (there will always be outliers), on how much you can earn, no matter what. You'll never see a programmer making $2 million, doing programming, for example. So if you start up at $60,000, just for example, the faster you get to $150K or $200K, if possible in your specialty if you have one, the better, because incremental increases will slow down at that point, no matter what. It will be much more difficult to get a job at $200K, as it will be to get to $75K. (Don't worry about the exact numbers, I'm just using them as an example).

When you're in your in the 32 years old to 35 years old, you can start looking for a long-term job that has your values and interests.

It used to be that companies wanted people at their jobs for a long time because it showed stability, and that they would stay with the new company a long time. I'm sure there are companies like that still out there, but if you change jobs a lot, like every 2 years, hiring companies will more likely look at your history and think you are a "hot commodity" that everyone wants to hire which causes more competition from hiring companies.

There's also the fact that if you go from $50K to &75K to $100K over 6 years, rather than $60K to $76K over 6 years, the hiring company will find it much easier to increase th pay the person making $100K to $130K, rather than pay the $76K person to $130K. Even if both have the same exact skill level. It's just human nature. And it is kind of true. The person making $100K knows their value and goes out and gets it, the other is more complacent, whether you think that or not or have all kinds of reasons why this is not true. Those are your reasons, not the hiring company's reasons.

Finally, the other thing about changing jobs a lot at the beginning of your career and making more money is that when you do get a raise, let's say 10% raise for the two people in this example, the person staying at the same company for 6 years and goes from $50K to $78K will get a raise of $7,800 (and the same with a bonus), while the person going from $50K to $100K will get go get a $10,000 raise (and bonus). And that difference will keep getting larger the more money you make, obviously.

Fuck loyalty to the company - they have zero for you. And your friends will still be your friends as you all disburse over time to new companies, and you will have a nice network over the country. Plus you will make new friends at your new company and expand your network even more.

And, by the way, your absolute best way to get more job offers and higher pay, is by giving talks and publishing. I know one guy that gives technical talks twice a week, anywhere there's two or more people. I talked to him about it, and he said that he gets at 2-5 job offers per day sent to him. When you do public speaking, you become a thought leader, or industry leader. The same goes if you publish something - in a well-known website or a chapter in a book compilation, or whatever. You are again a thought leader.

Re: Why don't tech companies pay their engineers to stay?

#57

The flaw with this argument is the assumption that the value add of a given skillset is approximately equivalent in different environments. We see this for example on a larger scale in OLED tech, where a key OLED engineer in South Korea might be worth $250k to the Korean Economy but worth $2.5M to the Chinese economy, which is why poaching was halted by classifying the job as a national security interest. The profit/…

Author here! I'm not arguing that software engineers should necessarily be paid in proportion to the end economic result of their employment. Although that's an interesting point for another article perhaps! Rather simply that companies tend to undervalue domain specific knowledge and forget how costly and time consuming it is to hire and retrain new team members. This should be taken into account when considering compensation structures to retain your top talent when considering the open market is always available to them.

Re: Why don't tech companies pay their engineers to stay?

#58
post #11

To chime in with my own anecdotal opinion that is likely to anger some people... in my experience most developers do their best work after about 6-8 months of starting a job at a new company, and that comes to an end after about 24-36 months of working at the same company. After that the vast majority of people just stagnate, get complacent, the job stops being interesting to them and they move on. After observing th…

I'm not fully convinced that this is just about the devs. 2-3 years is also about how long it takes for a nascent project to transition into a mature one, and when that happens the culture and energy of the team tends to shift. The same dev that thrives in one setting might end up out of place in the other.

New devs are also unburdened by maintenance work.

Re: Why don't tech companies pay their engineers to stay?

#59

Earlier quoted context omitted.

Truly, sometimes I wonder if ICs should be allowed to fire managers if managers can't see what brings value.

Software engineers are allowed to fire managers. It's called quitting and becoming a consultant. It often leads to a large pay bump, but also comes along with assuming all the bullshit that your manager does for you, so it's not for everyone.

No. Firing is not the same as becoming a consultant. ICs should be able to fire managers, along with their health benefits. Let managers take recourse as consultants.

Re: Why don't tech companies pay their engineers to stay?

#60
post #47

Many companies do pay for people to stay, but its debatable if its worth it. The last company I worked for gave me significant golden handcuffs. Probably 30-40% more than I could get elsewhere. They had a "cost of replacement player" policy, where they count the cost of hiring, sourcing, training over the years, etc, and come up with a number thats almost always way above market rate for people who have been around a…

Devs also leave after completing all the meaningful, interesting work and finding there is none left. It feels good to build and launch a product - or even add features that can have an impact on the bottom line. It is something very different to work on a list of features that you know very few people, if anyone at all, are going to use. Same goes for maintenance.
Post reply on HN