I recall a regular piece of advice for software engineers: “change your job every two years.”
There’s innumerable Google results for this, even from as recently as 2022 — but none of them really seem that high-quality?
I’m really, really enjoying my current (somewhat unusual, hard-to-replicate) position; am about a year and a half into it; but I also don’t want to relax into that and have it cost me in the long-run, career advancement wise.
So, what’ve y’all been doing? Especially in the post-pandemic/fully-remote world, does that advice still apply?
- haruki ( @h_a_r_u_k_i@programming.dev ) English13•1 year ago
2 years are a bit extreme. I think 4-5 years is a good option. But if only if I don’t like the company (culture, people, policy, etc.) or I don’t see any advancement in my career.
- SJ_Zero ( @SJ_Zero@lemmy.fbxl.net ) English11•1 year ago
I feel like you should be careful trying to just optimize for the most money.
2 years seems really short, like your boss would just finally have you producing good code and knowing all the specific pitfalls of a certain codebase and then the door slams shut behind you.
I come from a different culture, but I’ve found 4 years is the right cadence for me. If you’re keeping your nose to the grindstone and doing what you’re supposed to, it seems like about every 4 years everything ends up changing.
Doesn’t even mean leaving. Often it means advancement.
- JackbyDev ( @JackbyDev@programming.dev ) English5•1 year ago
I don’t know, if I can get a really nice pay raise by going somewhere else and am not getting any pay raise where I am despite finally being able to “produce good code” I’d be angry and want to leave. You should do good work, yes, but this mentality of the fact that you have some degree self sacrifice being somehow more important than salary is naive and exploitative as well. If your company values you then you pay should reflect that. It isn’t charity. (Unless you actually are working for a charity but that’s different haha.)
- SJ_Zero ( @SJ_Zero@lemmy.fbxl.net ) English1•1 year ago
If your skill set is just getting up to speed, that seems limiting to me.
I know I’ve ignored many resumes with people who jump jobs every 2 years because those first 2 years you’re getting paid to be varying degrees of incompetent and useless within a team. Moreover, someone who leaves every 2 years will never be in a position where they actually have to deal with long-term problems.
If you don’t think you’re getting paid enough, well enough go out and do some capitalism. But going into any given job with the intention of quitting almost immediately to optimize your pay, I don’t think that’s necessarily the right way of doing it either. Employment is actually a 2-way street in good companies.
I can’t quite wrap my head around the claim that a new hire is (should be?) useless for two years — I’d say I had my head wrapped fairly well around my primary corners of the codebase within six-ish months; and at my current year-n-six, I’ve had reaso to (at least cursorily) trawl through prolly ~halfish of our several million lines of OCaml — I feel I can speak fairly knowledgeably about all sorts of angles of this organization’s architecture, make directional decisions about the interfacing surfaces between Our Part and the rest of the org, etc, etc.
Similarly, that feels fairly true across the team: doesn’t take people more than a couple months to onboard; and they’re making major architectural decisions within about a year.
Is the difference perhaps in organization size (we’re <100; maybe larger teams are slower? More code, more bureaucracy?) Or, failing that, I’m tempted to crow about the successes of pragmatically-applied FP — it’s pretty trivial to onboard into some new section of our product, thanks to OCaml’s strengths vs. weaknesses … hm.
One other possible explanation: I do suspect my organization attracts above-average talent … but I also meta-suspect that suspicion is self-serving, so … :P
- JackbyDev ( @JackbyDev@programming.dev ) English9•1 year ago
The sad reality in this field (and probably most jobs) is that unless you have a really good boss and a good HR it is very difficult to get large pay raises. The best way to get a large pay raise is to get a new job. Of course it isn’t magical, you can’t just infinitely get more. Do some research and try to see what your fair market value is. If you think you can get a lot and more and want to leave, leave!
It is always worth mentioning to your manager that you don’t feel you’re being properly compensated in a 1 one 1 if that’s true. Don’t phrase it as you’re looking to leave or anything, just ask what it takes to get a big raise.
So, in short, if you’re happy don’t leave. If you’re unhappy, especially because you want more money, that’s where the “new job every 2 years” thing comes from. For better or worse pensions aren’t really a thing anymore and there’s not much value for loyalty.
- sillypuddy ( @sillypuddy@mander.xyz ) English5•1 year ago
I would second this.
I’ve been at my current company as a senior SW engineer since 2015. Mostly because it’s a good company, I like the people, I have mentors, the culture is good, and it’s all remote. It’s for a government contractor which means I ended up getting switched to a different project every few years when a project begins to sunset. Most of my experience is with various government contractors and this is the only one that’s been able to transition me to other project. I’m currently working on my 3rd major project with this company and various minor projects in between.
My annual raises have been about 3~5%, but even then I began to feel like it wasn’t enough. During my last transition, I mentioned to my new boss that I felt like I wasn’t being compensated enough. He asked me to name my price and I said something reasonable. He was able to give me exactly that and a few months later during the typical raise cycle I got another 5% on top.
I really think a lot of companies don’t put much thought into retention once someone is brought onboard. You just get scooped up and they do the 3~5% living expenses increase but not much beyond that. If you’re feeling like you’re not being compensated fairly, definitely bring it up to a manager or someone in the chain of command that can do something about it.
- Elanor ( @LogicRaven@programming.dev ) English9•1 year ago
Don’t leave a good place because of FOMO.
I have worked 5+ years at my first work place. Good WLB, growing skills, promotions, good people. Most people who left tried to come back.
Why do you think staying can cost you career advancement wise? What are your goals?
What is unusual about your current position? If your current position is very nieche or skills are not transferable, that could become a risk for your career.
- holdthemayo ( @holdthemayo@programming.dev ) English9•1 year ago
If the company offers no real growth technical, responsibility or compensation yes
- potoo22 ( @potoo22@programming.dev ) English7•1 year ago
If you want more money and aren’t happy with your job, then yes. Look for a new position after 2 years.
If you’re on the young side, you should aim for financial stability since you’re starting lower. Once you get to a good place financially, then you can settle in if you find a job you like.
I’m doing well financially, with a house and decent disposal income. My current job isn’t too demanding, is flexible with my time, and let’s me work from home without surveillance software. I could make more money in a different job, but I feel it’ll be hard to find another employer who isn’t profits before employees. So I think I’m good and settled in this position.
- Jim ( @jim@programming.dev ) English5•1 year ago
I think it’s good advice to keep your options open and look around to see if there’s any good opportunities every year. It’s good to keep your ear to the ground, even if it’s just networking or browsing through openings and talking to recruiters. But no, you don’t have to change jobs every X number of years.
- mrkite ( @mrkite@programming.dev ) English5•1 year ago
2 years seems insane to me. I wouldn’t hire anyone who has a resume full of job hopping every other year.
- ericjmorey ( @ericjmorey@programming.dev ) English3•1 year ago
What if it was a promotion every 2 years?
- mrkite ( @mrkite@programming.dev ) English2•1 year ago
You still worked for the same company… programmers job trees aren’t that deep. Either you got promoted out of programming or the promotion isn’t worth mentioning.
- JackbyDev ( @JackbyDev@programming.dev ) English4•1 year ago
This is pretty bad advice and I’m really surprised to see it in a community for “experienced devs”.
- malloc ( @malloc@programming.dev ) English4•1 year ago
If you are in your 20s, single, motivated, and good at interviewing, then I say go for it.
- em7 ( @em7@programming.dev ) English3•1 year ago
Well, I’d advise anyone to constantly look for opportunities. I used to job-hop roughly every 2-3 years because I got a better opportunity. But I stayed more than 6 years at my previous workplace. Not the best financial decision but I liked my job in applied research.
- wccrawford ( @wccrawford@lemmyonline.com ) English3•1 year ago
2 years? It used to be 3 years. It’s one way to get constant raises, as a company is unlikely to keep up with your value otherwise. That said, “unlikely” is the key word there. I’ve been lucky in finding companies that kept up with that value, at least until I fell out of favor with management. And at some point you’re basically topped out anyhow unless you want to deal with FAANG-like stress. And I don’t.
But yes, if you’re being undervalued, you should look at changing jobs and fixing that.
- MXX53 ( @MXX53@programming.dev ) English2•1 year ago
It took me about two years to end up in a scenario where I was able to demonstrate a bunch of knowledge that would have otherwise gone unnoticed. I’m at about 5.5 years at my current job and currently a Solution Architect. I have stayed where I am at because in the last 5 years I have gone up 30k in salary and my next job change in October will be another 10k. I don’t plan on leaving any time soon.
- ph4ntorn ( @ph4ntorn@programming.dev ) English2•1 year ago
I’ve never left a job for more money, and I’ve still seen my salary double about once every 7 years (which is about 10% growth per year) not accounting for inflation. Some years my salary went down and some years it didn’t move much, but the years it jumped made up for the slow years. There have been times where my salary stagnated while I stayed at a job, but there have also been a few times where I got raises of 10% or more without changing jobs. I could name a lot of factors in my salary growth (some luck-related), but regular job hopping hasn’t been one of them. I’ve stayed 4-6 years at a few different places, and when it was time to move on, I could ask for big salary bumps.
If you like your current role, if you’re making enough money to live comfortably, and you’re continuing to grow, I wouldn’t hop jobs just because conventional wisdom says you should. Your salary may fall bellow the market while you stay put, but that doesn’t mean your skills will fall behind. If you are worried about either your skills or your salary falling behind, you can always talk to your manager about correcting those things before you jump to looking for a new job.
In fact, I would argue at some point before moving up to senior level or into engineering manager, it is useful to be at a single company for at least 3 years. That gives you time to systems evolve over time and how decisions play out. That’s not to say there isn’t also value in jumping around and seeing the different ways different places operate. But, staying put has some value.
- kersplort ( @kersplort@programming.dev ) English2•1 year ago
Job hopping at a fixed time is silly. Don’t leave a situation where you’re growing, getting new opportunities and doing interesting work because generalized advice on the internet told you to. Leave when you’re not happy, not growing, and not getting paid what you’re worth.
The timing right now isn’t great either - the market is flooded with recent layoffs, and companies are trying to pick them up at a discount.
- drdnl ( @drdnl@programming.dev ) English1•1 year ago
Feel like you only received half of, possible good, advice:
I used ‘two years, up or out’, in my career. Who cares if you work somewhere for a longer period of time as long you keep progressing in all the various metrics of career progression?
It’s when things become stale that out is a good idea