Ways to Go Forward with Your Software Engineering Career

Image by Igor Link from Pixabay

Software engineering is not a typical job thus does not offer a traditional career ladder. A lot of choices are included in the process and there is nothing to lose.

The best engineers, on the other hand, have simple available options. They can either proceed into the domain of management, or they can continue to code and receive higher tasks and perks along the way as an individual contributor.

Today everything is different in comparison to the past. In the past, the managerial titles were on the top of the pyramid but today, the real success comes from your own strengths. The same applies to developers. They can grow and they can step at the top of their career in a short matter of time.

It is important to mention that there are a couple of methods adopted from the past. For example, in the 70s, Microsoft executives created and later implemented formal technical progression. This happened because a couple of their best engineers refused to stop coding for managerial tasks. It is interesting that this dual-track is still somehow working and it is used by Google and Facebook.

We ask the same questions over and over again. Why do successful engineers often end up with a managerial position? Do they desire this or someone else puts them in that position? The Peter Principle gives the answers. In short words, every employee will rise through promotion until they reach a level of incompetence. Imagine, you are a successful engineer and suddenly a team has been given to you and you have to manage and run that team. If you do not know anything about management and if that is not your ambition at all, then you have to take a step back and continue deploying codes. Big truth lies behind the principle, under those circumstances.

One of Uber’s engineering managers, Par Trivedi tells the situation as it is and gives us evidence that supports everything we have said above. He says that sometimes young engineers think that managerial positions bring better paycheck and recognition. This is the reason why they decide to take the manager position and end up hating the job because that is not in fact what they seek in the first place. He added that a lot of engineers go back on the IC path after a short matter of time.

Ben Pfaff is a senior IC. He is the perfect example of how can one engineer get a better paycheck and recognition without managerial positions. He could have become a manager but he refused and continued doing the thing he loves. Thanks to the network visualization, he has become a principal engineer at VMware, he created OpenFlow and Open vSwitch and at the same time got the status.

Unfortunately, not everyone can work at Microsoft thus get a comprehensible career path. Fortunately, you can make an IC path by yourself with comparable compensation. In the end, we all know that senior staff engineers share the market value with engineering managers. Why is this happening? Why they are equally paid?

Soham Mehta explains how we can spot the relevant skills for engineering managers. Soham says that we have to use a scale here, from 1 to 10. 10 is the position of the person that has the best technical skills. He says that these people should not consider managerial positions and should stay where they are in order to improve in their field. Engineers with grade 10 bring more impact to the corporation in a technical role. When it comes to the engineers with grade 7 or 8, he says that these people are the best fit and can be awesome managers in the future. According to him, the other numbers only indicate that the person is not able to neither handle nor gain the trust of the team he gets.

Conclusion? If you are the best programmer in your corporation, stay and continue programming. Like this, you are going to be able to use your potential to develop the best technologies.

The status – It is not always clear whether ICs or managers have more influence or prestige. Well according to a few examples gathered on the way, we have come to one conclusion. People that are higher up in the technical field are significantly more influential than the directors of the companies.

Trivedi says that there is no hierarchy in the technical world. For example, he explains that the engineering manager does not have the power when it comes to deadlines or what the team will work on. The manager is more focused on integration issues or unblocking projects.

Let’s be even more real for a moment. Managing other engineers is neither simple nor easy job. First of all, you enter in a field that is not quite familiar and second you have to manage people, not machines. People are not machines as we all know and you can’t control them.

Required skills – If you are an engineer that loves to communicate, easily solves problems or interacts around the corporation then, the position manager is the right choice for you. According to Brent Jenkins, senior director at Ticketfly, the following things make the best managers:

Engineers who do not code often but have amazing technical skills. These people should have good technical skills because after all if they are not good at their job nobody from the team will ever listen to them. Also, you have to remember that you should not check on critical codes. You have a whole team for that now.

Ability to learn. Yes, engineers that transform into managers must have the ability to learn strong people management skills or to improve the ones they already have. This means that there are no more technical problems for you. You solve people’s problems now.

Make your developers be aligned and focused most of the time. Although engineers are quick problem-solvers they from time to time-shift their focus to something unnecessary and get out of track. Your job is to prioritize what is important.

Able to manage former friends. Yes, you are managing all your previous colleagues right now and this may be the most difficult challenge for you.

Keep information to yourself. As a manager, you now know and you are aware of a lot of things, previously unknown to you. You should not reveal everything to your team. Focus and tell them what is important. Sometimes it is hard to keep things to ourselves but if that information does not help your team or is not aligned to your vision there is no need for sharing.

The decision you have to make is not easy but as you can see from above you have a lot of options. It is important to focus on your passion and you should not end up being unhappy with your choice.