When Is the Perfect Time to Move on as a Developer?

post cover image

February 11, 2020 by Alex

If you want to have a simple, easy, comfy, safe and secure job, then stop reading this post right this moment!

Still here?

Good. Let’s do this then!

20yrs of experience or 1yr repeated 20 times?

If you’ve been a developer for a while, you probably have noticed that there are folks with double-digit experience in years.

But they are not as good as you wish they were.

They focus on wrong things, they are stuck in the past way of doing things, and use outdated technology, or want to spend as much as possible of their time in the meeting.

(so that they don’t have to do actual work).

There is a term in the industry for these developers: “1 year of experience repeated N times.”

Of course, it’s not so black and white, and you can have somebody who has legit 3-4 years of experience, but then they got stuck in a situation that didn’t really allow them to acquire new skills, and they were repeating these 3-4 years (or subset of them) for a while now.

So we have a whole range, from people who are plain harmful to the team, product, and the company, who just want a safe and secure job and do as least work as possible.

And somewhere in the middle, we have well-meaning folks who have lost their ability to learn new things, improve, and are terrified of stepping outside of their comfort zone. They may be a good worker or inadvertently block others from improving and delivering value quickly.

Finally, you have someone who had 20 years of experience, and this experience was always unique, challenging, and still extending their comfort zone further and further.

These are top performers who help each team member around them and deliver exceptional results. And if you ask them tomorrow what they learned yesterday—they’ll always have something interesting to say.

Unfortunately, it’s way to easy to fall into a trap and get stuck in the middle, or even worse.

It’s way too easy to become “1 year repeated 20 times.”

When you finish reading this article, you’ll be well-equipped to prevent that from happening and even become exceptional with real 20 years of experience.

But before we jump into solutions, why not dive deeper into the problem?

Problem: wasting experience years

This problem occurs when you are wasting entire years of your experience, just doing a secure, comfy job, where you don’t need to challenge yourself or learn anything (or much).

One thing is to waste years entirely (sure way to become an epitome of “1 year repeated 20 times”), and another thing is to have the quality of these years of experience reduced.

What do I mean by reduced?

That’s when you are still learning a bit, and it’s a bit challenging, but it is way below what you can really handle, and it is not really stretching your comfort zone enough.

Real experience is gained outside of your comfort zone.

How does this happen?

For example, you may be good enough with the technology at your job, and you can handle 98% of the work with your closed eyes.

Then the process—it’s just working for you, okay, even though there are definite improvements that can be done to get 50-80% efficiency gains, but no—why touch what works.

Why risk it?

Why step outside of your comfort zone, and pull your team with you?

That’s the line of thinking that gets the person, the team, and the organization into the reduced quality of experience mode.

Also, the reduced quality of performance as a long-term result of this all.

Another problem with such complacency is that the longer you don’t step out of your comfort zone, the harder it’ll be to do in the future. Eventually, it becomes a terrifying step and almost nigh impossible to do.

Don’t ever let it get to this point!

The right mindset is one of continuous improvement and growth.

In this mindset, you’re going to be improving yourself, your team, people around you, product, codebase, and the company you’re in (and maybe even the world) all the time, with small incremental, but definite steps.

Of course, you’re going to fail.

And that’s good. Failures are the signs of learning, and of you attempting to do something very likely to be worth it.

People who don’t fail—do not learn.

This mindset is how you maximize your own experience quality and get the most out of your time and how you become a top performer.

Hello, dear skeptic

I know what you might be thinking:

It’s a terrible idea only to do new things, and only learn, because you have to become good at something via repetition and practice, before you can perform at a decent level.

If that’s what you’re thinking, I cannot agree more with you!

I don’t advocate limiting yourself to doing new things only.

Instead, you should get your existing skills to an excellent level until things start to get more comfortable. And that is the right moment to add some more skills or responsibilities to your repertoire.

This way, you always maintain a constant cumulative level of challenge while delivering excellent quality work.

Alright, let’s get technical with how you can keep ever-increasing the quality of your experience years:

Practice and get better at what you’re already doing

If you are already doing something well, and it’s quite easy to deliver your work, then it’s time to start challenging yourself.


You establish restrictions:

  • Try to do it faster while keeping the same level of quality;
  • Try to improve quality, while spending the same amount of time;
  • Help others to do this better—become multiplier.

In essence, practice, deliver, fail, get feedback, learn from it, and improve.

Every day.

If you do that, soon you’re going to reach a point where the amount of effort and time it takes to improve is just too much for the increase of effectiveness or quality.

This is where you can start handling some more responsibilities:

Get more responsibilities

For example, you’re getting really good at 2 out of the 3 necessary skills to do your job, and your boss is pleased with both of your current responsibilities.

Then it’s time to look around you and see what should be done, but it’s not getting done, or not consistently, and no one is responsible for.

But your gut really tells you these things have to get done consistently.

Get the ownership of that. Just start doing that. Learn in the process. Take that responsibility.

Of course, you’ll make mistakes. But you have your saving grace—you’re trying to make things better for everybody around you.

Once you get 10-20% of the mastery of that responsibility and see some good outcomes, go to your boss and “make it official.”

If it so happens that there are no responsibilities around you to take ownership of, then you should go with a new skill:

Get more skills

For example, you’re handling all responsibilities that suit you, and all of your three skills are at the level where improving them doesn’t make too much sense anymore. They’re that good.

Then it’s time to hunt some more skills for your belt.

First, look at what new skills you want to have (try to guess what you may need in the future), or what you think you’ll love to do.

Second, take a look at your environment, what skills are lacking in it? That’ll be beneficial to either the team, product, or company as a whole.

Now, intersect the two. What’s left is what you should be learning, practicing, and start applying at your job.

Again, practice, deliver, fail, get feedback, improve, and repeat.

Now, there is a dark side to all of that. Let’s chat about it:

What you SHOULD NOT do

If you realize that what you want to learn doesn’t fit your current company or role, then forcing it into your job will bring a lot of harm to the people around you, product, and your company.

An excellent example of that’d be a new fancy programming language or technology. But you have to come up with almost implausible excuses to use it at your job.

My personal work ethics tells me that this is a horrible idea then.

Therefore, this is not something you want to do.

Don’t be too selfish.

But what if you see this skill or that responsibility as a vital component of your future career?

Well, if you really think so, then there is a solution for you:

It’s time to move on

For instance, you are in the unfortunate situation where what you want to get better at, doesn’t benefit your employer or your team (or even harms them).

Then it’s time to start searching for a new job, and if your company is big enough, investigate what other roles/departments you can move in, where it’d work well.

Your goal is to start learning and practicing it on your own (and in 10% time if you have that benefit at your company), but not force it into your day-to-day work (to do no harm).

In parallel, talk to people.

A lot of them.

Learn what companies are out there, and who may need your current skillset plus what you’re trying to learn.

Reach out to them and try to get through the interview process. You probably will have to play a number game, because, while you’re expert in a few topics, you’re still learning this one.

Look for something that will fit your chosen direction as best as possible, and where you, learning this on the job, will be precious to the team and a company as well.

I cannot stress enough—it’s going to be challenging.

And it’s well worth it!

Also, since you are changing roles/companies, it’s an excellent opportunity to negotiate a higher paycheck. For example, with this website for developers you can share your salary info and find out how much people earn at the other company you are negotiating with.

Finally, depending on your aspirations and goals for the future, it may be a good idea to start your own thing:

Go independent

If your ambitions cannot be satisfied anymore by any organization around you (or even remotely, in a different country), then you’re likely to be ripe to go independent.

What do I mean by that?

Well, there are three options:

  • become a freelancer,
  • start your own product company,
  • start a service company or agency.

There is, of course, a whole lot to learn there. And a lot of potential failures to encounter.

And that’s good. As we established, this increases the quality of your years of experience!

There are trade-offs to these options, and probably more I haven’t thought about yet. I’m not going to cover these in this post—it’s already getting long! (sorry about that)

What I should tell you, is that there are few things you should do before going independent:

  1. Make sure to save some money for N months—you need that runway because success won’t come on day one.

  2. Line up a job or contractor opportunity in N months for the worst-case scenario where you have failed a lot of times and never succeeded getting anything off the ground.

    Just remember, failing is not a bad thing. If you are failing and failing often—that’s great. (Just don’t forget to learn and improve between failures).

    It’s much worse if you are not failing for a long while, only to run out of all your saved money and realize that the whole venture was one big failure, and you haven’t had an opportunity to learn from it. And now it’s too late.

  3. Get a mentor. Almost every successful independent person had a mentor. That’s one of the primary ways you’re going to get feedback on what you do and improve.

  4. Seek external feedback as often as you can. Sometimes, in business, what appears to be a failure to you, may actually be a bud of the enormous success that you can’t see because you lack a specific type of experience.

That’s the hardest path, and it’s well worth the effort. Good luck, and let’s summarize:


As you know, some folks have 20 years of experience, but actually, just one year repeated 20 times. Let’s call it “the left side” of the scale.

And then there are outstanding professionals, who have only, what 7 years, but all of these years are unique experiences that make them exponentially better than the former. These are probably top performers in their field. Let’s call it “the right side” of the scale.

(pun intended)

And then there is everything in between.

So how does one get closer to the right side?

  1. Don’t chase only “new and unique” all the time—make sure you actually get good at skills and responsibilities before you add more things to your repertoire.

  2. Challenge yourself every day. Be ready to answer the question “what did you learn yesterday” with something substantial. Perhaps add “how did you fail last week” to the list of these must-be-able-to-answer questions.

    In fact, answer these questions every day, if you can help it.

    Never become complacent and have an “easy job.”

  3. Get more skills that’ll help your team/product/company to become more successful when your current skillset starts to near the “easy job” state.

  4. Become responsible for more (and more important/challenging) things.

  5. Make sure that what you’re adding to your “toolbelt” is actually valuable to people around you, your product, your company, or your customers.

  6. If your path forward makes the above not true, then it’s time to switch a job. Don’t forget to negotiate a larger paycheck, as this is the easiest time to do that! Use this to find out what is the pay at the company you are negotiating with.

  7. Finally, if such a company doesn’t exist (or is inaccessible to you)—then create one! Become independent.

Now it’s your turn!

Quality of the years of your experience is entirely in your hands. Don’t let weak excuses make you think that somebody else is responsible for your career.

You are the only one.

And you owe yourself to get as close as you can to “the right side” of this experience scale.

So get out there, and never ever stop learning!

Photo by Joshua Coleman from Unsplash