In my short career I’ve noticed that employers are notorious for underpaying you to the point that people with 3-4 years of experience are getting paid the same as freshers. The management always has an excuse to not increase pay or increase it very minimally. The best way to increase pay has been to keep moving every 2-3 years from one company to the next if switching means at least 1.5x or 2x the current salary.
This means major interview prep requiring solving leetcode style questions, solving system design questions, then some more. I just wanted to how often do you prepare? Are you always interview ready or start prepping a few months before switching jobs?
Switching every 2-3 years? Sounds about right. The only time I’ve stuck around longer was if there was a really good reason (like an RSU vesting schedule). It seems as though most companies will prioritise getting new people in rather than retention of existing staff. The other issue I’ve seen is that sometimes people who stick around at the same company for a while get a bit institutionalised and have difficulties switching to another company. Where I’m currently working in all hands meetings there’s usually a work anniversary section and some people have been at the company for over 30 years. I just couldn’t imagine that.
My last few jobs have only lasted 6 months though. One of them lied to me in the interview and when I started it turned out I was doing nothing but dealing with legacy systems. Another had some interesting problems which meant I had 3 managers in 6 months. Then I got an intern who couldn’t program because he was related to one of the senior guys in the office.
Anyway, in terms of interviewing, personally I tend to just prep a few months before I start looking. Just do a load of leetcode, read up on some system design crap, that kind of thing. It all feels like a bit of a farce to be honest because everyone asks the same questions and by now everyone knows what will be asked and what the standard answers are. It’s just a case of being able to memorise the standard answers.
Over a decade later I’m still with my first employer.
I could make more elsewhere, but I suspect at max 2x after twelve years - not 2x every 4 years. Did I receive more reasonable raises than they happen in your experience?
With other things I value about my work environment and employer, my pay is fair and good enough for me to stay.
I’m so glad I don’t have to hassle with prep and interviews. (I had one phase where I did but ultimately stayed with my employer in a bit of a different setup.)
It’s strange because I have never had leetcode questions. I’m a C++ developer and, when I switch, I’m always asked about my previous jobs, and maybe my experience in C++20 with a few questions like “what objects of the C++20 STL have you used so far?”
I guess it depends on the country (I’m in France) and the language I want to work with (mostly C++ for me but I can do everything else).
I worked for my first company for a decade. I cannot stress enough how much this held my career and technical growth back. I got raises in that position - in one case a good one - but none of them compared to how fast my salary went up once I started hopping jobs from time to time.
I’m finally to the point after twenty five years where I’m making enough for the cost of living and I almost don’t care about pay - it’s much more about culture and finding a good team.
A 50% pay bump is unusual though. I’d expect more like 10-20% depending on the current market. I’m in the middle of a job search and I’ll be damned lucky not to take a shave because there are so many laid off developers now. If someone offered me a 50% bump I’d take that in a heartbeat if there were no red flags. Although I’d need a massive freaking raise to go back to an office - QoL is so much better working remotely 90-100%.