Why Programmers Shouldn’t Stay in One Company for a Long Time
Tags: Software Engineering, Programming, Software Development, Careers, Technology

Why Programmers Shouldn’t Stay in One Company for a Long Time

Recently I was talking with one of my programmers who joined my company two months ago. He has joined as a junior programmer, and he never stays in a company for more than one and a half years.

He is not alone. Most of the good programmers I have seen leave their jobs after 1–3 years unless they are the company's shareholders.

There are many reasons why developers do that, and it’s very normal. We will talk about why developers do that, but let’s see some statistics on how normal they are now.

Statistics

It was not long ago when an employee spent their entire life in a company. But things have changed now. It’s easier to find a new job now.

The scenario is still the same in some sectors. But in the technology world, it’s almost impossible to think that programmers/developers will stay in a job for more than 10–15 years.

You can find some cases where a programmer is in a job for ten or more years. But if you ask a programmer who has been in the industry for less than five years, most of them will say they are not interested in staying in a job for a long time.

Using Hackerlife, I made a graph that shows the data collected from more than ten thousand software engineers who live in San Francisco. The graph shows the median tenure of a programmer in some tech giants.

Credit: Author

The visualization above focuses on large corporations. Almost 50% of the programmers of these large corporations leave in two years, and 75% leave around three to three and a half years.

Whereas the average tenure of other industry professionals is 4.2 years, this is very low. And the tech giants are actually more capable of keeping the programmers. The scenario is much worse in startups and medium-level tech companies.

My experiences with programmers

I have met many programmers during interviews as a recruiter. I always ask about their last jobs: where they worked, how long they worked there, or why they left.

I can’t say the exact numbers because I didn’t count, but I have found almost 70–80% of candidates left their jobs within two years.

I rarely found any candidates who worked for more than five years in a company. Maybe 2–3 candidates out of 200+ candidates. I have seen less because we are a startup. Developers who have worked in a company for a long time normally don’t come to work for a startup.

Why Programmers Shouldn’t Stay For a Long Time

Learning opportunity

This is the biggest reason why a programmer should change their job after a certain time. In the early stage of programmers’ careers, they need to learn a lot.

Both the new programmer and the company learn a lot from each other in the first year. The company learns from their previous experience, and the programmer learns from their tech stack, projects, and senior developers.

After one year in a company, a programmer builds things and becomes an important employee. But often, the programmers don’t feel the same way.

So, after one year, there is nothing much for the programmers to learn from the company. If the company is a tech giant, then, of course, there will be. But in small and medium-sized companies, the learning opportunity becomes narrower.

That’s probably one of the reasons why programmers leave small companies faster. The average tenure of software engineers in small companies is only 1.5 years, where it’s 2.3 years for large companies.

Credit: Author

The question is, where does the learning end? Honestly, it never does. That doesn’t mean you have to change jobs this frequently all your work life.

After around ten years (more or less), you can be promoted to a position where you don’t have to change jobs that much. But that’s another long discussion.

Better Career

Tech stacks are changing faster than ever. That’s why learning is a never-ending process for programmers. It’s one of the main reasons why programming is one of the unique kinds of jobs in the world.

Programmers should change their jobs not only for learning but also for better careers too. Doing the job in one company makes career growth slower.

Normally, a company doesn’t progress as fast as programmers develop their skills. In this situation, the company can’t fulfill the developers’ demands.

So even if you are loyal and dedicated, and even if you find many learning opportunities, you should leave if you feel you deserve a better career.

Last words

So, when should you leave a job? There is no right answer, honestly. You have to find your answer. I just shared my opinion and some statistics.

I have also seen my programmer friends. Those who changed jobs are better positioned than those who stayed in a single company for a long time. It will also help you to become more confident.

If your current company falls into some crisis or you are fired suddenly, you won’t be in much trouble. And if you are not happy or not being treated well, you should definitely leave sooner rather than later.

How many companies have you worked for? Please share your experience with us in the comment!