Hacker News new | past | comments | ask | show | jobs | submit login
How long do software engineers stay at a job? (2021) (developerpitstop.com)
73 points by sebastianconcpt on Sept 26, 2022 | hide | past | favorite | 72 comments



The reason Netflix has a high tenure is because they actually give substantial raises. Generally you don't have new people coming into the same role making more than people already there.

They separate pay and performance. The assumption is that your performance is always at the top, or you wouldn't work there anymore. Pay is based on the most they think you can get when you leave. If they market is soaring, your pay will too.

When I was there I once got a 25% raise because that was what we had to pay to get new people into similar roles.


I'm surprised more companies don't do that, it's very smart. I remember leaving one company I generally liked because we were getting 1-2% raises per year. It didn't even cover inflation. (And before you ask: no, not just me, I knew this because of other's complaining not myself.) Also this was a very large corporation known to be good to work for! Leaving for a similar job got me a 25k increase immediately, and I know for a fact it was expensive and time consuming for them to replace me. I just don't get why companies do this to themselves. Long term, the only people that end up sticking around are the people that either can't get other jobs because of lack of skill, or they're tied to a geographical region, or they have some sort of (sometimes misplaced) loyalty. I'm not saying money is everything, but taking less than market value for half a decade seems like a terrible career plan.


Unless your previous company went out of business I'm not sure they've made an incorrect decision. They're able to get the work they need done at a lower price.

Sure they don't keep the highest performers but if they're not doing "rocket science" you don't need a rocket scientist.


Well, in that case it was for a project that required a very specific and somewhat rare set of skills (IE, you couldn't just throw a dart and hit a web developer). I was friends with a lot of people there, so I know it took them about 6 months to find a replacement, and even then the person was more expensive and had a long ramp up time to become as productive.


That's the big trick is most software companies aren't doing anything particularly novel or innovative that requires particularly skilled or inventive people. Where I work there's largely pocket of innovation where something new is brought into the company and then several other squads take that same process and apply it a few dozens times in a somewhat rote fashion.


Sure, but theres always ramp up time, domain knowledge, and the risk the new person is not as competent as they may have appeared in the interview, even if the skills are commodity


When most of the team can do the work because it's so generic the ramp up impact is more limited and there's usually some small back burner or simple work a new hire can be put on as a test and onboarding project.


Usually the replacement is at market rate, ie. the amount OP got at the new place.


Companies with these policies often end up in an uncomfortable position that they start lowering expectations to market. Over time this problem becomes bigger as the company can’t offer competitive wages anymore as the gap with existing employees is too large.

A startup that started 1-2% band adjustments in 2016 probably pays half the market rate for the same talent in 2022.


And they lose the money they'll spend on recruiting and training, so it costs more in the long run.


I'd love to see some numbers behind that.

The article calls out nearly 15%/job when switching vs 3%/yr from staying. A 12% gap adds up fast.


I'm comparing the costs of hiring a new employee versus offering a raise. The assumption is that most people will leave if they get an offer that includes a 15% raise rather than stay and only get 3%.


"the only people that end up sticking around are the people that either can't get other jobs because of lack of skill, or they're tied to a geographical region,"

Can confirm, this is me - lack of skill and tied down.

"but taking less than market value for half a decade seems like a terrible career plan."

Been taking less than market value for over a decade.


Never stay in a job that you love.


I absolutely hate it.


I had a similar experience. It was 3% counting raises for promotions. They could somewhat get away with it in a low inflation environment. Then again they had layoffs to cut costs even more.

Ironically they paid external consultants 3X the cost for skills they couldn’t keep internally.


I think it's about most corporate hiring and comp practices being tuned to weak labor markets where workers don't have many options and there's not strong competition for workers. Doesn't work well in stretches when tech is red-hot, which tends to be at least half the time, over a long time-line, at least so far.


They don't give raises because there are plenty of suckers that will happily accept the scraps they hand out.


Yep, that's me - a Grade A sucker.


A different article from the same site basically says software engineers should expect a raise every year. I do think with the market being so hot it makes people start to look elsewhere if people only get the generic 2-3% raise a year. It explains why higher paying jobs keep people for longer.

https://developerpitstop.com/how-often-do-software-engineers...


> The assumption is that your performance is always at the top

That's silly.

At the top of what? Your current level? How do they determine which level you are at? They have levels, right, it's not a communist utopia where everyone, from the junior eng, to the SVP is equal.

How is that different from any other firm which has eng levels, but relatively narrow wage bands within those levels?

If you were to say that 'they always strive to pay top-of-market for <equivalent roles in other firms>', that would make more sense.


Top of the industry. Netflix tries to hire the best in the industry and assumes that if you've been hired then you are that and will stay there.


they don't hire junior engineers, and came up with the phrase "adequate performance will be given a generous severance"

they have a "keeper test" that they use to determine who gets a severance package: basically, if your manager wouldn't fight for you to stay if you hypothetically told them you were leaving, you're at risk.

they run the company like a professional sports team

there are multiple books about their culture - it's quite different from the standard many-leveled hierarchy with strict wage bands


> they don't hire junior engineers

That doesn't answer the question. Do they have different levels of 'senior' engineer, or not? Presumably those levels have different expectations that employees are expected to meet.

Or is everyone expected to perform at the level of Jeff Dean, and is paid accordingly? Does a person leading a team of 8 get paid more? What if they are leading a group of teams, numbering 28 people?


> if your manager wouldn't fight for you to stay if you hypothetically told them you were leaving, you're at risk

This is just repackaged stack ranking.

AKA if you are an excellent developer in a team with equally excellent people you are at risk.


"[FAANG] jobs tend to be quite demanding and require developers to put in a lot of extra hours when compared to smaller businesses."

They're more demanding to _get_, I wouldn't say they're more demanding to do. At a FAANG there's also more scope for intra-company hops too. People frequently switch teams immediately after getting promoted.


FAANG jobs attract the type of people with work ethic and ambition but they most likely feel like a well paid cog in the machine, that probably explains why they ditch after 2 years.


FAANG jobs stack rank you against people working 60+ hours a week who are desperate to keep their visas. You might not be technically required to work those long hours, but if you want to keep your job, you have to, unless you're an absolute rock star. It's not "work ethic" driving those long hours. It's fear.

The hyper-capitalist notion that anyone who only wants to work 40 hours a week lacks work ethic is perverse. Jeff Bezos, for example, is proud of his Original Thought that there is "no such thing as work-life balance".


People desperate to keep their visa is not a FAANG specific problem. There are plenty of people coasting in unicorn companies and much more that just have a normal WLB. Some organizations might be the cut throats you are painting but don't generalize.

Also, Amazon != all FAANG.


I've found 3-4 years to be a better target. Less than that just ends up being lateral moves for a bigger check, and you plateau after 10 years or so without ever having gained any deep experience to push you past that plateau. On the other hand, more than 4-5 years entrenches you in one way of doing things, and you have a harder time jumping to a completely new environment.

So while I'll trust that the statistics presented in the article are accurate, I'm not sure trying to target your personal career to match the statistics is wise.


Plenty of high performers also discover organizational structure or politics isn’t serving their upward trajectory well so change companies before waiting for their ever-approaching promo


The software engineer tenure dataset is probably a really weird one where there's a normal bell curve with an average around 2 years and then another much flatter curve that goes from ~4-12 years for the folks with golden handcuffs at pre-liquidity event companies.

Edit: I don't know how or why this is on the front page of HN. This seems like a super low traffic/low effort blog.


>Edit: I don't know how or why this is on the front page of HN. This seems like a super low traffic/low effort blog.

I agree, at the moment I'm writing this comment the post has only 8 points too. Isn't it a bit to low for the front page?


8 points in 15 minutes is a pretty typical for the front page. Early votes have a lot of momentum. If it doesn't get more points soon it will fall just as quickly.


Why argumentum ad populum should be the ruling criteria for that?


Switching every two years is a red flag for employers and is called out during hiring in many companies.

Every 3-4 years seems to indicate a better uptick in interest / offers in my experience. Otherwise the concern from many Hiring Managers is: I'm going to invest my time and effort (~6 mos) in training, and that will be lost very quickly.

In my view a promotion is every 3-4 years as well (although it can be faster) at the FAANG companies. If someone is able to get a promo, that is the best time to start looking. It establishes that the individual is on an upwards trajectory so it makes it easier to hire them and convince others if the company is committee based on hiring decisions.


My usual timeline at a new job requires an average of ~6 months to be effective. After that I work hard the next year or so on leading projects and major features. I try to build my network of influence by contributing to cross-team projects, and if possible work on internal common libraries, forked open source projects. See if I can file patents.

This should lead to a promotion within ~2y, less than 3y; if that does not happen, I start looking for either a new team or new job all together.

(In some companies interviewing for another team requires the same amount of effort of interviewing outside. I usually pursue both.)

If I don't get the promotion, it usually means that either the team I work with does not have enough impactful work to justify a promotion, or manager is not interested (capable) in sponsoring for one.

Either way, I have reasons to move on.


This might work early in your career, but should plateau very quickly.

Junior to mid level in 2 years is easy.

Mid level to senior in 2 years is doable. It would definitely be considered fast in most big tech.

Senior to Staff in 2 years is not gonna happen. I'm not saying it's impossible, but it's probably extremely rare.

I agree with the concept of optimizing for growth and learning in your current role, but people should also be aware that getting to the next level is aprox. exponentially harder the further up you go.


Yes and no, very much depends on landing in the right team with the right manager. That's why it is important to realize it asap, and move on if that is not the case. So that you don't waste your time.

I also find very important to discuss the promotion with your manager in 1-1 and be clear that's what you are aiming for. Just to set the right expectations.

Staff to Senior Staff is totally doable in ~3y.


While this is interesting, I'm very curious if there's any analysis that looks at other pressures that might happen in tech that's different from the broader business world. Are acquisitions more frequent?

I say this, because in my 20+ year career, this has preceded most of my job changes:

1. A major business event: usually acquisition, or one time, a CEO just quitting outright

2. A major management restructuring from 1 week to 12 months

3. New managers try to make their mark and trigger death marches or just erode confidence

4. I leave and get a decent pay bump and realize my mental health is better

I actually consider myself to be pretty conservative about job changes. I'm at about 3.5 years per position. I've probably left money on the table too.


I was just reading a study that said: "Developers do not become fluent for at least three years in large projects."[^1] Which is sad cause I'm one of those people that like to master their work, but it feels unfair if your making less than others who just joined.

[1]:https://dl.acm.org/doi/10.1145/1882291.1882313


Why would you operate at the next level for a year to get a promotion, when you could just job hop and get the pay right now? I call that getting scammed.

I'm job hopping as soon it's beneficial to me. You can deal with the loss of my velocity I'm sure.

My advice is to make sure that your manager knows this. It's a business relationship after all.


I always find these articles a bit blind.

If the guys hoped a job every 6 month for the past 4 years then they've been hired _every_ _single_ _time_ they hopped. People hire job hoppers. If they didn't then they'd (by definition) stop job hopping. Sure maybe after the 10th hop it'll catch up to you but by that point (in this scenario) you've had the equivilant of 10 14.8% raises which IIUC is a total ~404.6% raise. So you're now "stuck" at a job making 4x what you did 5 years ago.


In my experience someone job hopping every 6 months isn't usually doing so because they've found a better role or better compensation. That's usually, but not always, a result of under performance. Most companies are reluctant to fire someone within the first 6 months and it can take that long to gather the evidence necessary to avoid a wrongful termination suit. To me it's less a sign of ambition and more a sign of someone who interviews well but doesn't work well.

In this market there are always companies who will hire someone who job hops, but that doesn't make it a good idea.


> Sure maybe after the 10th hop it'll catch up to you but by that point (in this scenario) you've had the equivilant of 10 14.8% raises which IIUC is a total ~404.6% raise.

10 raises at 14.8% each hop is 1.148^10 or 3.976 not 4.046

But still, you end up at about 4x


It's crazy what a 14-year bull market capped off with a WFH tech-boosting pandemic will do to SWE salary expectations. In these conditions, market rate outpaced wage increases at most companies, so you would need to hop to keep up.

However under normal circumstances job hopping will plateau pretty quickly, and if you don't have a promotion it starts to look pretty bad to hiring managers. I certainly would never hire a staff engineer who was not promoted to L6 equivalent in a company with a strong tech reputation.


what's really hilarious is that I followed a job hop every year and my job comp actually increased 6x over 4 years


"Once you have a few years under your belt then you can go after the big money and switch around every 12-18 months."

Always switch jobs before your project goes live and becomes legacy. (Legacy, at best. At worst, it goes live and fails embarrassingly. That's bad, if you're still there.)


I think longer than 3 years and you are committing yourself to wage depression, from what I've read from various hiring managers.


Depends on the trajectory of stock price.


If you can get a 20% bump in TC by moving that's irrespective of stock price so you'll take net loss staying put no matter what happens with stocks.


I mean depends on the trajectory of the stock price of the company you are leaving.

If you joined with a 4-year vesting package when the stock price was $10 and now it has risen to $30, you will probably be taking a big pay cut by leaving after 3 years.


Right but if you can predict stock prices that accurately you should be running a hedge fund not working as a SWE.


I'm not talking about predicting stock prices. I'm talking about looking backwards.

You said staying at a job for longer than 3 years is committing yourself to wage depression. That's not always true. If you have been at a company for 3 years and were given a 4-year grant at a $10 stock price, but today the stock price is $50, it's unlikely you'll find better compensation by leaving and should probably just stay for year #4.


Apropos of nothing, and anecdotally: 2 years seems to be about the length of time it takes for a solution to become the next problem.


Always get out before you have to answer hard questions about what you did six months or a year ago.


"A job should be like a college course that you're getting paid for. You should have a notebook where you are logging everything you learn throughout the day. Every week or two weeks, you should review this notebook and how much you've written to it. When the new notes become sparse or stop altogether, it's time to start looking for another job (and a raise)."

-- The message I would write to myself at the beginning of my career.


You know what a great way to complete screw any tech company with a complicated product or service is? People constantly leaving after less than 2 years of service. It means no one knows how things work or how to do their jobs. It creates general chaos and stress for everyone, all the while costing a ton of money and being very ineffective. This frequent job hopping is a symptom of something being clearly wrong.


There is absolutely nothing unprofessional about job hopping. Before I went full-time contractor I would get so mad that I dedicated my time and effort to BigCo and the new dev coming in is getting a way bigger salary than I. As a contractor I'm very satisfied with my rate, and when I start a new contract (6-9 months later) I make sure my rate increases. Do I need to be there for 2-4 years to understand the problem I was working on? No. I get hired to do a job. I do it. And then I go on my merry way. A lot of the engineering is essentially the same from shop to shop (except for some custom bash infrastrure) that I have specialized on a set technologies. (which happens to be what most companies use anyways)


> Becoming a role expert – 6 – 18 months – owning the role completely and helping to shape the direction of the team.

This ... seems a bit extreme. I guess if you're doing something simple.


Really ? That seems about average to me. A good leader should easily be able handle this reasonable within 6 months.


1. This is for the San Francisco area. Does it generalize to software development more generally?

2. It sounds like this is from polling people about time at their current job rather than how long it took to leave their previous job? With how fast the field keeps growing, how much skew is there from recent entrants still at their first job?


In our company, we have people who are with us for 7 to 11 years now. Our Mid to Senior Devs are with us for at least 6 years on average.

Culture plays an important role in keeping the people, it's not always about the money.


> Culture plays an important role in keeping the people, it's not always about the money.

Absolutely.

I was at my previous employer for seven years, mainly due to the fantastic culture.

In 2020 that company took a $45M series A investment that rotted the culture of the company from the inside out.

Today, the culture that remains at this company doesn’t reflect what kept me at the company, and most who were integral to the culture are no longer with the company.

It was good while it lasted.


Can you to tell me more how that funding changed people? I have an idea but I am curious to learn it from you.


It’s not that the funding changed people, rather those that built the company were either replaced, left, or laid off.


10+ years at one company for me. Pay is peanuts.


Kind of off topic, but is now a good time to job hop? I'm approaching the 4 year mark at FAANG and I'm kind of ready to see what's out there, but given the economy and such, I can't tell if this would actually be extremely stupid.


IMO, going somewhere with a stock based compensation is best done in a down market. Most of FAANG's stock price is going to be higher next year or 2 years from now than it currently is so getting a large 4yr grant is best done now.

Also, if you can't find another job right now you don't have to quit your current job so the downside is really the experience of interviewing.


You can always start job hunting and interviewing to see what is out there. Until you get a contract in front of you I wouldn't quit just yet.


I’m not sure I want to be promoted—-but I definitely have the feeling that it’s “up or out.”

I’m sure it’s different at different companies, but I’d be interested in hearing what experiences the HN community has had with that situation.


How are they archive anything in 2 years? If the job is working on major free software, they may be able to start working from Day 1. But most works aren't that open even if they relies heavily on free software.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: