Job hopping throws a lot of value away. How can we do better as an industry?
I'm JS developer with 13 years of professional experience. I'm always happy to teach my craft.
Search for a command to run...
I'm JS developer with 13 years of professional experience. I'm always happy to teach my craft.
No comments yet. Be the first to comment.
I’ve been working in programming for the last 16 years. Let’s see what changes I see in our industry that are enabled by generative AI. Rapid prototyping The last few months, I’ve been working on a set of WordPress plugins, related to event organizat...
Writing unit tests takes time and effort. Nonetheless, many teams insist on writing them anyway—that’s because of the benefits they bring to a project. Those benefits are mainly the following: fast feedback—unit tests speed up each iteration of twea...

Pure functions are the perfect case for unit testing. For a given input, we always expect the same output—there is no internal state involved. Let’s take a look at a few examples and some simple tests that check if the methods work as expected. Jasmi...

Let’s say you have a job interview in a few days. How should you prepare for it so that you can make an informed decision about joining the company, as well as make sure that your interests are taken care of? Prepare your questions An interview is a ...

Creating example projects is a common way of showing your skills to potential employers. Let’s take a look at what’s important to keep in mind when building personal projects with an eye toward impressing prospective employers. Simplicity Building ap...

I’ve been working for the same client since 2015. 8 years at the same company is way longer than the 2–3 years that you stay in one place while job hopping. Let’s analyze the possibilities we have as developers in our careers.
Job hopping is the practice of changing your workplace as often as possible, without looking suspicious on your CV. So, you get a job, learn technologies that the company uses and the internal process and the product they build, and then you start searching for a new job.
Job hopping is often recommended to devs as a way of making sure your compensation is up to the market rate. When you look for a job, you’ll naturally pay a lot of attention to the job market. If you are lucky, you’ll get offers from different companies and make them pitch against each other.
Another advantage is expanding your professional network: when you change companies, or even teams, you can meet new people who work in the industry. If they have a good experience working with you, they can be a valuable connection later on in your career.
Staying a long time working on the same project is more productive. It can take a few months to get onboarded on a new project, and during this time you need a lot of oversight—or you make a lot of mistakes. Staying long term is an especially good match for companies that maintain and develop their own products. The projects are never ending, and they always need someone around to make sure the necessary changes can be made to the code.
Similarly, even companies that deal with shorter projects benefit from developers staying a long time. With time, you get experience with the technology stack that the company uses, and you can be very productive when some of the projects you built are reopened for updates or maintenance.
By staying at the same company, you contribute to its institutional knowledge. You remember the past discussions and reasoning behind all the decisions that shaped the current state of the code and the infrastructure. The same goes for the emergencies and the fixes. Something that would take hours for a new person can be just fifteen minutes for you if you remember similar problems from the past.
In time, you develop a better understanding of everything related to your job. You understand the product and how it’s helping the customers. Maybe you met some customer and over the course of that relationship you developed a better picture of the users of the application. You get to know the terminology of the industry in which the product is working, and there is less that has to be explained to you as you start building new features.
After 8 years in one place, I have an advantage over any other developer: I know a lot about our codebase because I wrote a big part of it. In our repository, I’m an author of more than half of the commits, and at least half of the rest went through a thorough review with me. This knowledge is something specific to the project I work on—were I to change jobs, neither me nor my employer will get any use from it.
So, we have seen the advantages of job hopping for the employees and the value the long tenure has for the companies. Creating a lot of value for the company could be a common goal for both parties—after all, if the pie becomes bigger, there should be more for everybody. To make it work in the long term, both parties need to find a way to share this value fairly so that the employee will not leave.
Job hopping feels a bit like a workaround for lack of well-prepared salary negotiation. From the employee perspective, negotiating your salary is stressful:
At the same time, for the company representatives:
This means that you need to prepare well. My go-to recommendation for that are resources from fearless salary negotiation. It’s a good, actionable guide that helped me a lot.
The company you work for knows exactly how much you earn—or for how little you accepted working for them. But there is no reason for your new salary to stay within some relation to your current salary—especially if you were severely underpaid for a long time. Getting a 50% pay raise is not generous, if after it you are still below the market.
The only reasonable baseline salary is how much people with your experience are paid on the market. You will need to do some basic research to make sure your information is up-to-date: what is paid now for your current skill set. You most likely learned something new since you started your job, and the market changed as well.
While preparing for the negotiations, it’s good to analyze the best alternative to a negotiated agreement for both you and your employer. For company, not reaching a deal with you can mean:
For you, the alternative can be as easy as getting back to the original idea of looking for a new job. In that case, you already have some market research done, and you have your negotiation skills refreshed.
Another possibility to find a common ground with your employer is to negotiate working fewer hours, for the same pay. When you ask for a significantly better salary, you will very likely get either a straight no, or some version of “we would love to pay you better, but we have no budget for it”. Working fewer hours is a perfect solution for getting a better rate for you, and not affecting the company budget too much. Because you already know the project well, in the short to mid term, you will always be more productive than a possible replacement that would join for full time. And based on my experience, freeing a few hours or a whole day every week makes more of a difference to the quality of life than money.
We’ve spent a lot of time thinking about how to stay with the same company. Not all companies are worth the effort. Let’s see a few good reasons to leave:
Salary negotiation is one of the topics I often discuss at my free mentoring sessions. If you are interested in analyzing your case, you can check out the mentoring page on my website.