Most of the software companies are suffering from the high fluctuation of their employees. It makes them big difficulties and their are losing a really huge amount of money on recruiting constantly new people and ramping them up.
On the other hand it is also bad for the developers if they can not find a place for themselves where they are feeling comfortable.
So the situation seems to be bad for everyone, but as for now there’s no solution for that.
Of course I also can not solve it, but I took some effort to analyze the situation a bit to have a picture about this whole process.
There are of course different people, different situations and different decisions which are not covered by my model, but I tried to cover the most typical career paths.
The purpose of this analysis is to help for the developers to find their optimal place as fast as possible and to help the employers to keep their employees.
It was prepared based on my own experiences, but I am interested in other opinions as well.
If you start to work at a new place (mostly new company) you will start as a novice. This covers the first weeks and months. This is about introducing yourself and exploring your new place. In this period you are having the first contact with the team, with your new boss and with your new customers, you have to show your best side. On the other hand, you need to understand the working process and the technical background of your new project and achieve your first tasks. You need to prove that you are good enough to work there.
This stage can end up in three different ways.
The first one that you or your boss decides to not continue your work there. It can happen either if you are not fitting well to the team or to the project or if the workplace does not satisfy your expectations, so you decide to leave.
Otherwise you are staying at the company. But it makes a big difference in which way you are doing it. The first way is that your boss has the impression that you are better than expected. In this case you will be in focus and you will get several opportunities to grow (new responsibilities, new roles, etc.), but this means of course also higher expectations against you. If you are accepting this challenge you are becoming a rising star: being always in focus, getting new challenges and good career opportunities for the future. There are such people in each and every organisation who are reaching new levels of the hierarchy pretty fast. But this status also has a dark side: most of the cases you will irritate your co-workers who are working there already for several years and now having such opportunities.
But it also can be that you are “just” fulfilling the expectations and you are becoming a totally average “grey” co-worker. You are part of the team, you are contributing, but you are not really stepping further in this stage of your career. It is also fine for a while, since you can learn a lot during the first period and you can feel the lack of high responsibilities. There’s sometimes opportunity to change from this state to be a rising star, but it is not typical. Usually it only happens if something is happening with the current rising star (changing to another place etc.).
After sometime you are changing your state again, for some people it is coming sooner, for others it is coming later. Being a rising star is exhausting on long term and the magic of chilling as a grey co-worker also does not take forever.
From now on there are two opportunities again: finding your comfort zone or becoming unsatisfied. And the best part, that the same is happening both with the rising star and with the grey co-worker.
As rising star you will grow until a while, but once you will reach the state when you feel that it would be uncomfortable for you to take over higher responsibilities. For some people it is a position of leading a small project team, for others it is a CEO position, it is up to your personality. In the ideal case you can keep this position for you which makes you really happy, so that you can just work from your comfort zone in the next decades.
But it also happens (unfortunately really often) that you are not reaching this state, because always more and more responsibility is pushed on you (you can keep the one which is comfortable for you), you don’t agree with the direction of the company or your salary is not following your new roles and responsibilities. Of course there’s several additional potential reasons. In this case you are becoming an unsatisfied employee.
As a grey co-worker you also have these two options: finding your comfort zone, or becoming unsatisfied. There are several people who don’t want to have high responsibilities, they just would like to do a job, which is kind of OK for them and don’t make much stress on work. If such persons think that their place in comfortable (salary is acceptable, the project is fulfilling their expectations, there a good work-life balance) then they are finding their comfort zone as an average developer. They are usually the one who are living a stressful and well-balanced life, their are doing their tasks, but nothing more and they are happy with that.
But if the average developer would like to reach more (getting higher responsibilities etc.), but their doesn’t have a chance for that they will become unsatisfied as well. It can also happen if other conditions are not optimal (salary, work environment, work-life balance etc.). It is important to mention that each developer needs different kind of motivation. For some of them work-life balance is very important, for others it is more important to have interesting projects etc.
As a boss (team manager etc.) you need to know your employees and their motivation of work. You also need to understand in which state they are in their career and what is their future expectation. If it is so you can set up actions which can keep your employees at the company.
Pay attention: if the circumstance is changing it possible that employees from the comfort zone are changing to be unsatisfied and it is also possible to happen in the other way around. But this is unfortunately not so typical.
From being an unsatisfied employee there’s a highway to burn out. Burn out is bad for both parties: developers with burn out are depressive, demotived and not effective. They are just making the team slower and they are suffering at going to work day by day. From burn out there’s no way back. If you reached this state the best what you can do is to change company as soon as possible. But it is better to do this step before reaching the burn out state.
After leaving the company you need to do a restart at a new place and it will be pretty clear more difficult then your start at your previous place: you are older, you are having less motivation, you would like to reach everything faster what is mostly not possible.
First of all you need to decide what is the position what would make you satisfied. Maybe you can figure out at the beginning that you are pretty happy as a simple developer without high responsibilities. In this case you have an easier way to your comfort zone.
Work during your first week and months based on that: if you don’t want to be a rising star just try to do the same level as the others, otherwise do your best. If at the end of this period you can already see that it won’t work at all at the company don’t hesitate to leave, instead of reaching the burn out state very fast.
If you are becoming a rising star try to keep a balance and not to grow to fast, because then you are losing the chance of reaching your comfort zone. And the most difficult: tell stop in time.
If you are a simple “grey” developer just do what is expected: not more, not less. And try to orient yourself to a position (project, topic etc.) which makes you happy.
If you are grey developer you still have some chance to become a rising star if you want. In this case just try to do your best and be patient.
If you reached your comfort zone try to keep it, try to avoid changes which can bring you out from this state.
If you are becoming unsatisfied let’s figure out if you still see any chance to find your comfort zone. You can talk about that to your boss, you can evaluate the opportunities. But if you see too low chance for that: change company before it is too late and don’t waste your time!
As a boss (team manager, team leader etc.) you need to protect your employees from reaching the burn out state. It is even better if they are not reaching the unsatisfied state, but from that state there’s still a way back. If you find any of your employees in unsatisfied state support them to find their comfort zone to be able to keep them as a valuable long term employee.
Next to your rising stars, always pay attention also on your “grey” developers, understand their goals and support them to reach it.
If your rising stars are telling “No” accept their decision, it is very important!
And maybe one last point: if you can see at new colleagues that it won’t work at all, just resign them as soon as possible, otherwise both of you will have a lot of difficulties. Sooner is always better in such situations.
Do you agree with these points? Or you have other experiences? Don’t hesitate to share them!