Under the cut – about whether everything is so scary, through the eyes of specialists from “Maxilekt”, who have already passed through a similar choice.
A mental labor specialist needs to constantly develop, and not only for the sake of demand on the labor market. Expanding the spectrum of knowledge is a personal need, for some even a source of self-realization.
This need can be covered in different ways. You can periodically radically change the subject area, for example, from developing some kind of integration things, go to big data or even leave IT altogether by choosing another industry. But usually there are few who want to start all over again, therefore they are avoided jumping “from a quarry” (into an unfamiliar area), preferring to look for development paths nearby. We’ll talk about this.
You will go to the right, developing the skills of a leader – you will become a team leader or a PM
The obvious way for the developer to develop is in team leads, project managers or even higher up the administrative ladder – towards managing an ever larger team.
Becoming a team leader, yesterday’s developer is still immersed in the project, but he has more administrative responsibilities – interacting with customers, managing a team, assigning tasks, monitoring progress and deadlines, evaluating new stages of the project, etc. The solution to all these issues requires a lot of communication. And an attempt to make these communications more effective entails the development of skills in conflict management, risk assessment, delegation, etc., so that in a mode of continuous training, there will simply be no place for a sense of routine.
Of course, not everyone likes it. If before moving to a leadership level, questions of personal motivation and management of working time were not taken under control, you may feel that you are literally torn to pieces during the working day. But when these first difficulties can be overcome, leadership status will become a new challenge and even acquire the shade of a certain romance.
Alas, at the same time, all this means that the proportion of working time devoted to writing the code directly will be reduced. And this inevitably leads to a loss of qualification in this topic. In order to return to the position of a linear developer after a few months from a leading position, you will need to catch up. And if a year or two passes, so much will be lost that you will have to spend a lot of time returning. Although our market observations show that after a year or two, part of the new managers really returns to development, so the path back is not closed.
Do not take the transition to the level of team leaders and higher as an honorable end to a career. This is a development in a different direction. The competencies that are necessary (and inevitably develop) as a leader – the ability to look at a problem more broadly and solve tasks of a higher level, soft skills – open up access to fundamentally different, interesting things. For example, to choosing a technology stack, building a team, choosing an architecture on a project. For each of these issues, a lot of particular factors will have to be taken into account, from prevalence to the development prospects of candidate platforms. Having a large background behind you and a strategic vision of the leader, you can solve such problems. And your decision will be of key importance to the project.
It must be remembered that the manager’s path is not a universal answer to all questions. He is not for everyone. From the first leading stage, you will have to learn to be responsible for everything that happens around you – primarily for the team, timing and budget of the project. You will have to get out of your cozy IT world and at the same time speak with supporters of different views on the situation – with development and business – acting as a kind of translator. Roughly speaking, it will not be possible to explain the need to optimize the code only by saying that it is “ugly”. You will have to delve into the details and present the business consequences of each of the solution options.
You’ll go to the left, go deeper into technology – you will become a principal
Not everyone in this world should go to managers, because not everyone sees this as the crown of their careers (whether this is better than writing code can be argued endlessly).
Solving problems in their field, everyone gets experience – i.e. in a sense, everyone is growing technically, some are faster, some are slower. Technical specialization does not have its own “ceiling”. As you develop in this direction, you focus on more complex technological things, you understand them more deeply. When you grow far beyond the borders of a senior, you become a kind of “guru”, for whom Western companies even have their own name – principal.
There are not so many competent niche specialists able to twist and process huge amounts of data, build low-latency architecture or versed in Java performance, so the demand and value of a person as a specialist is growing. Although the range of vacancies is narrowing, and the range of expected skills is increasing. In addition to solving technical problems, for example, a principal expert can be assigned the task of a code review, due to which his own experience will become the property of the team (the key point is that he must explain why he should do this and not otherwise). As for the money, here is how lucky. Developers probably have no more salaries than managers, but stability and predictability are usually higher.
Technological development in our rapidly changing world is a state of continuous learning. It would seem that age does not contribute to accelerating learning (blocking further development in this direction), but in this status there is no need to chase the latest frameworks and libraries published yesterday. In addition to deep knowledge, experience-based intuition begins to work in a person. So do not think that at 40 the life of the developer ends;)
You’ll go straight, you will develop responsibility – you will become an architect
Usually, everything is limited to considering the two options listed above. In fact, there are many ways. Unable to consider everything without exception, I want to focus on another group of probabilities. If not so much developing soft skills as taking responsibility, yesterday the senior comes to the level of a system architect or a technical lead explicitly allocated to the team (exactly how this role is called in the project depends on the particular company).
As you move along this path, you take responsibility for creating ever larger and more complex systems. By the way, this is also characteristic of principal. If you promise that you have expertise in the performance of complex systems, you take responsibility for it. But the degree of this responsibility is distinguished from a qualified developer who writes particularly important pieces of code, a system architect and technical expert.
In general, the architectural direction of development is easier to perceive as a cross between the technological and managerial paths. Both there and there has its own share of responsibility, but in the first case responsibility for systems is important, in the second for people (if a complex system is not implemented, the customer will go to the manager first, and if at that moment the manager tries to shift responsibility for developers, this is a bad manager). But unlike a manager, an architect may not have such pumped-up soft skills.
Despite the fact that an architect or a technician needs more technical knowledge than a manager’s position, they also write code to a lesser extent than ordinary developers.
Before folding elsewhere, assess the risks
Sometimes you want not to change the terms of reference, but to keep everything as it is, but add a little drive to the work itself. And the first impulse is to change the company in order to look for a more “fun” team. But here it is important to understand that the drive often comes with risks. Stable projects are usually the most boring. A drive is associated with creating your own product or participating in a startup that may not take off due to a marketing miss, mistakes with the target audience, or a million other reasons, sometimes not even related to the final development (the features of the product launch process are a topic for a separate conversation).
The question that you need to ask yourself is simple: do life circumstances in an emergency allow you to sit for a while without money and go on a job search? If you don’t like other ways, soberly assessing the risks, you can at least prepare an airbag before looking for a drive.
We can talk about risks in the context of any of these paths. Even the development along the technological branch, where, apart from deepening into your favorite area, it would seem, you don’t need to do anything on purpose, is a decision for which you will have to bear responsibility at least to yourself.
How is your career path going? Have you consciously chosen this direction of development? Who do you see yourself in the future?
This article is the fourth part of our IT career career publication series.
The first part is here.
The second part is here.
The third part is here.
P.S. We publish our articles on several Runet sites. Subscribe to our pages in VK, FB or Telegram-channel to learn about all our publications and other Maxilect news.
P.P.S. Happy New Year 2020! We wish you to move in the right direction in the New Year!