In the software development industry these days it is virtually impossible to build a team with same team members and maintain that for a long time. In long time i am talking about years and years.
Here i tell you all the particular reasons why. No cliches. Just raw feelings.
Change is the only Constant…
… As the saying goes.
Most tech people (Developers, Testers, Architects etc…) like changes. We as tech people are tech focus. We love tech but tech landscape changes so quick in the modern day and age. So we tech people chase new tech. Not one aspiring tech lover would be willing to stay constant, otherwise they would risk being obsolete. Unless, you want to climb up the management ladder…
So expect changes.
Job opportunities emails/messages
Do you ever constantly get job opportunities emails from recruiters/talent acquisitions? Or do you get job opportunities messages from LinkedIn messages/in-mail?
And i haven’t even mentioned the annoying recruiter phone calls…
It is annoying. Isn’t it?
Especially when you are not looking for a new role. Especially when you have only started your new role only a couple of weeks or months.
But you have a moment to yourself and think…
It is an attractive opportunity, right?
Well… developer mind then thinks “time for another change then”
Changing jobs can get higher pay increase than pay rise from performance reviews
Unless you are spectacular in what you do, amazing on what you have done, or good at negotiating a good pay increase, it is highly unlikely you are going to get a very high pay rise from performance reviews (be it annual, bi-annual, or quarterly).
On average, it is common to only get around 2–3 % increase at most. Some would be lucky and get much higher but it is not that common though.
Some people say:
If you don’t ask then you don’t
Which is so so true. But, developers are commonly weighing up the pros and cons and evaluating the trade-off between gambling for a pay rise which they are extremely unlikely to ever get against trying for a much higher salary for a new job.
In the current marketplace, and especially with a industry that is constantly changing and in extreme high demand, in particular in a location like London for example… there are just so much more opportunities out there.
So developers would rather take a risk and try to bargain for a much higher salary on a new job.
Getting bored within the same team — Doing the same stuff again and again
Some developers just naturally get bored of the same environment. They just want a change. They just want a completely new scenery.
Also, imaging being in the same team, doing the same mundane task over and over again. Doing the donkey work that no other developers would do. The work that you do more, you feel it is no benefit to your own career. You would feel you don’t learn anything at all.
Dislike certain colleague(s)
Sometimes you just don’t like a certain colleague and you just can’t help it. There’s nothing you or that person/people can do about it. You raise the issue to your line manager or team leader but he or she plays it down and doesn’t do anything that you feel is useful to the situation.
These things happen. Sometimes when you join team, you just don’t like a particular person for some reason. Maybe it is just simply a personality clash. Or maybe it is the difference in values and ethos between the people.
In summary, you just don’t click with them. Maybe not a good team fit.
So developers would commonly think…
“Well… why bother with all this crap… I’ll just leave and move on…”
Hitting the limit
If you’re a junior developer, eventually after some time (maybe x number of years later) you would feel that you’ve reached the “limit” in terms of growth. And there’s not much more to learn or not much more space for you to grow into.
You would feel by then you become either a Senior Developer or feel it is about the right time to become a Software Architect. But then, the company/ your department, your line manager, team lead or whoever is not willing to officially promote you into such a role. Simply because:
- In their eyes, you are still a lesser experienced junior developer
- In their eyes you are still the developer you once was when you initially joined
- Team cannot have another “Senior” developer because there is already one OR the team cannot have more than one Architect and there is already one
Then at this point, the developer would think, well… there is no more space for me to progress even further.
Solution — move on.