The world of IT today is not similar to any of the other industries - enthusiastic guys are working on the code of applications, games, corporate solutions, services. Programmers and engineers, designers and testers, system administrators and new-fangled DevOps turn ideas into software that is used by millions of people. They are inspired to write code, develop algorithms, prepare layouts and combine it into workable useful mechanisms. We, Habr's users, often talk about development, administration, new technologies and programming languages, we hack into heated arguments about the advantages of one stack over another, but we forget about an important link in any IT company - project and product managers. And yet it’s not a fact that tomorrow it’s not for you to offer to retire from the programmer’s affairs and become a manager. Motivation? Is it worth it? Ceiling? Career impasse? New horizon? Let's figure it out.

A manager in IT, his ITI backlog ...
We are implementing our
CRM system and therefore we have not only the experience of developing our own managers (these are mostly hybrids with programmers - closer to the team leaders) in
RegionSoft Developer Studio , but we also meet with other IT project managers (and not IT too, but that's another story). Over the years, we have been able to identify a number of typical signs of managers with “bad temper”.
Alas, it often happens that the managers of IT companies get people with good economic, legal, managerial education, but without the knowledge of the technical background. They can try, apply psychological techniques, attend trainings and hold ultra-long meetings, but receive not only zero results, but also earn hatred in the company. Programmers consider the manager to be an idler, the manager fears the embittered techies. And for good reason.
- Work without a goal, plan and phases of the project. Such a situation may arise if the manager is poorly aware of the stages of development and the software development process in general, that is, in fact, it is simply difficult for him to adequately plan. Confused work, throwing from task to task, constantly changing requirements exhaust all team members, leading to layoffs and professional burnout.
- Changing a project on the fly is another hateful feature of a manager. You will easily recognize this type of employee: having heard at a conference or another meeting about a new technology or fashion management models, he returns to the company with glowing eyes and begins to actively push a novelty on an old project. And this is not an experiment with the best practitioners, but a total and reckless immersion into something new. Feels like - more dunk. It leads to a failure of the project period and a sharp drop in the quality and speed of development. If a pseudo-innovator manages to enlist the support of top management - write off.
- Strategy at any cost is the motto of IT project managers working for their own bonus, but not for the benefit of the team. Such guys are ready for anything for the sake of KPI and ROI and eliminate any risks, just to not lose the cherished values of the coefficients. The most dangerous option is when the manager lobbies for the introduction of indicators into the matrix of indicators related to "unearned" achievements - such as the loyalty rate, the indicator of internal motivation and the estimated level of interaction with colleagues. As a rule, professional introverts do not pass through this sieve and remain without premiums. And there without motivation, and ... without work.
- The lack of understanding of the principles of development is the scourge of non-technical managers. Without knowing the features of code creation, the speed of the programmers, the principles of testing, the timing of putting the product into production, it is extremely difficult to come to a common denominator with R & D and become a real link within the project. Such managers like to memorize a few words of IT topics and say: “Do you have time for a feature until Friday?”, “Refactor code to work faster”, “Yes, there is only two lines to change. Why test the whole build?
Some managers think that some kind of idea is at the entrance, at the exit the greatest software in the world, and in the middle - magic. Nah, usually a great idea, a long-tedious-complex development and a product that competitors are also ahead of. And that's just a cool manager and intelligent developers of this product lead to GREAT :-) - Meeting without end is a great way to imitate activity, without achieving a result. The main thing is to have a calendar for reserving negotiations (preferably public), and the manager himself with an important look would hear the state of affairs on the project and give comments. If you try, you can call this imitation Scrum or Agile. But then there must be a board with colored pieces of paper. This is a meeting manager learned.
- The customer is always right, even when it’s definitely wrong. For some reason, the magic formula "customer is always right" from retail and service has migrated, including in the development. The manager, called upon to work, including on the client’s side, becomes not a lawyer of client interests, but a nodding god dragging the most delusional tasks from the client with a note of urgent importance. And, of course, without a compiled and signed TK.
- Ignoring personal aspects is a mistake that can be made by any manager, including a techie. In no case should not ignore the fact that you work in the environment of people - and therefore, in the environment of personality, character, mood, motivation. And if you do not take into account these features within the team, you can get the effect of a nuclear mini-bomb inside the team. Hurt everyone.
- Failure to prioritize leads to unambiguous disruptions in project deadlines, confusion in development, abandoned cases, unparsed backlog, and a crowded bug tracker. Development like any engineering does not tolerate chaos.
- Total control and micromanagement are control diseases that can attack everyone. There is nothing worse than a manager. seeking to replace everyone in the workplace and ready to climb into each stage of development.
- Lack of retrospectives is a great way to reduce team motivation and development quality. If the manager for some reason avoids analyzing the mistakes of the work done, is afraid to praise or call for qualitative changes, he will inevitably receive a team that does not know what course it is going.
- Ignoring the best practices. Other people's successes, discoveries and advantages are sometimes difficult to recognize. However, in the work such behavior is fatal - if you do not take into account the best practices, you can lag behind the competitors and, in essence, lose all the advantages. If the manager is afraid to recognize the best and actively implement it, the project is doomed.
- There is another aspect of the manager’s work that leads to negative consequences - the desire to create a friendly team, even to the detriment of efficiency and productivity. In pursuit of a comfortable psychological climate in the team and complete non-conflict, the manager drives the project to the rank of "friendly gatherings", in which everyone is good, but the work is not done. Sooner or later, this necessarily leads to conflicts and a deep managerial crisis.
Of course, all these qualities are rarely combined in one manager, but each of them is already able to shake the project on the way to the goal. However, this is not utopia - such managers have met in the work of almost every one of us. Which exit? Grow Babu Yaga in his team and transfer to managers the best programmer who knows the project before each character of the code? Option! But is it so easy - change from a programmer’s or engineer’s chair to a manager’s chair?
From programmers to managers - the path of the samurai

If we talk about career shifts of a good, very good and talented programmer, then one cannot say about the unequivocal advantage of growth in managers. There are several development paths for a programmer who has grown in a project to a professional maximum.
- Change the company and get new tasks in the framework of the new project - the easiest, but often the most undesirable outcome for all. Let's forget about it to other posts.
- Change the project within your company and develop a new direction - a great option, profitable for the company and motivating the developer. But not every company has a parallel development of several projects, this possibility may simply not be.
- Continue to grow in its place, delving into the optimization of development, increasing the functionality of the product, improving it through refactoring and using new algorithms and technologies. A great option, which is often chosen by the best programmers.
- Becoming a manager - in the event that a programmer has managerial features and is obviously ready to take on the burden of project work, and entrust the development to his own team.
- Becoming a technology evangelist - for very large companies or for very rare and ultra popular products.
A special opinion - the main developer of RegionSoft Developer Studio talks about his experience of working with managers and programmers.
In my opinion, programmers and managers are completely different entities, which are almost opposite to each other. I do not know any programmer who would become a good manager. The head of the development department, team-leader, yes, but in order to work, including promotion and work with clients, I don’t know of those. Programmers are really quite passive in terms of communication - often silent, stubborn, severe introverts, laconic, they don’t like to be pulled and they don’t like to twitch themselves either. The manager must be an extrovert, like to communicate, solve problems, plan and take initiative - of course, next to the psycho of most programmers, these are totally different types.
But there is one important feature. If a person combines the features of both a programmer and a manager, then from such an employee you get an ideal project manager or even an expert-level manager. But this is extremely rare.
An expert-level manager is always a star in any team, because he knows how to work as a “promoter” and knows the subject matter from the inside. It's like Korolev when he led the design bureau to develop a rocket. If he didn’t launch and construct these children’s racquets and airplanes, he would never be able to control a whole design bureau and create a rocket capable of conquering space.
The manager needs leadership skills in order to rally the team around himself and be able to manage it, set tasks, plan the achievement of intermediate results, etc. And, of course, in software development, in the technical field, this is especially important.
So, if programming is yours and your soul does not lie in managerial work, do not proceed. A good, talented developer will always find growth points within his favorite business and his project.
The transition from developers to development managers is a career growth from the point of view of the society, the leader, and the team. This is a pay rise, new challenges and new responsibilities. But the developer is not always ready to abandon the code and embark on new responsibilities - if only because he likes programming much more. This position deserves great respect (and salary increases - yes, gentlemen, this is evidence of almost pathological loyalty to the product and it is expensive!), But we still dwell on a more common situation: salary attracts, new tasks excite and you agree to become a manager, but where to start? How to embark on this path and become effective on it, and not fall into the trap
of Peter's principle ?
An IT manager is almost always a human orchestra. But does he always play smoothly?What you need to realize?
Any change of activity both inside the company and outside of it is a certain stress associated with a lot of questions and doubts. Even if you have known the project for many years, you still have to look at it, and at the team from the other side, turn to new sides of interaction, become the leader of your colleagues, become a leader. It is important to immediately realize a few points that will help to get together and get to work "on the wrong foot."
- The position of a manager is a growth for a programmer, a new round of development in the field of management. When the developer has achieved almost everything in the code, he should step further and manage exactly as the project requires. When you know the development processes and product features from the inside, you can change a lot in management, make the team really strong. Bonus for all risks - new challenges and the material side.
- Transition to managers is a way to overcome the achieved career ceiling. This is especially important for those professionals who want to develop within their company, and not to change jobs. This is a way to apply accumulated knowledge in a new quality.
- It’s easier for a manager to switch to a high-paying job at another company, because a programmer must delve into the code, development style, deal with not always the best “legacy” from its predecessor, and the manager comes with the ability to competently manage the project, understanding the development, but spending time to clean up a lot of code . It is initially effective (although not the fact that disassembly with a bunch of canceled!).
- Having become a manager, you should avoid micromanagement and stop delving into the smallest features of development, in every line of code, you need to enable the team to solve development tasks. However, often a manager who has grown out of a programmer continues to view builds and individual commits, often even himself continues to write code. however, sooner or later, the volume of serious managerial tasks will supplant this possibility, so it is important to correctly build delegation in the team.
- A manager is not an IT bureaucrat or a fighter on the dark side. This is a person who is able to apply his experience in order to make a living idea of a product, create software that can be used and which is capable of bringing benefits.

As for me, there is no cause for concern.- A manager is a person who works with people, and this is not discounted. Your new job is a continuous process of interaction with management, customers and, of course, the team. It is important to provide a favorable working environment, learn how to manage completely different people and at the same time not slip into a merry company or, conversely, into the dammed swamp of only “necessary and calm” people. Do you remember Vysotsky's “real wild little, so there are no leaders”? You need to stay in a good violent.
- The manager should be on the move, but in no case should move from stack to stack, from technology to technology. Technical conditions should be created for successful work - in particular, automation should be introduced where it is needed.
With automation, you can overdo it. In theory. In practice, there is an eternal underdevelopment.
And yes, you will have to face this picture in life :-)
The main thing is to love your product very, very much. Sometimes, of course, contrary to :-)So you are the manager. For a long time you were a developer, engineer, learned a lot in the project. Now you get new experience, responsibility and money in exchange for a huge amount of work, a lot of pressure and the need to make difficult decisions. You see opportunities and can influence business development.
What do you have to take?
There are several things that need to be taken as a manager: risks, the ability to listen to criticism and respond to it, a new measure of responsibility, the ability to make tough and sometimes unpopular decisions. We'll have to become the leader of our own team. However, if you have grown to a development manager, most likely you have already been an informal leader.
Biggest fear
The main fear of a manager who was a developer in the recent past is to lose qualifications, technical skills, to fall behind innovations in the stack. This fear is justified, but depends entirely on you. The manager should be at the forefront of technology and to understand all the tools as much as possible. The benefit is now a lot of information and it is easily accessible.
How to learn fast
But no matter how cool a programmer you are, when you start a job as a manager, you need to learn a lot about the nuances and subtleties of work. There are several ways to get the quintessence of someone else's experience and start quickly.
You can choose a mentor, you can go into textbooks and books, and these are the right decisions. But it is a waste of time. Therefore, it is better to learn - but the question is where. An MBA is long, expensive, and, alas, not always what is needed. Therefore it is worthwhile to turn to other opportunities to get the quintessence of others experience.
- The cheapest and most adequate opportunity is to find a mentor in the company that will allow you to enter a new track. This may be the head of the department, an experienced manager or even the general director, especially in a small company. The employee, knowing his side of work, will quickly get comfortable and will initially know about the problem points of the project.
- Delve into books, blogs, materials, do self-education. Excellent solution, but it will take a lot of time and will have a theoretical basis. Rather, it is a must-have addition to any of these methods.
- To go to the second higher education, to the magistracy, on complex courses Well, if you have the time and money ... In fact, it is quite expensive and not always effective - the university colleges, you see: there is a curriculum and restless teachers, so besides the necessary things you will learn a different course. However, if you are a recent student or you want to get into IT, it is no longer just a junior, but also a promising good man, you can try your hand.
- Get an MBA degree. Expensive, difficult, eats a lot of time, regional employers are not impressive. In addition, there are few good programs in Russia. Usually on the MBA tops are solved or almost ready tops of large corporations, in which it adds weight. But, in our experience, several other skills are valued in the IT sphere: brains, experience, skills work.
But in general, all methods are good, especially if they are mixed with sensible books and blogs of real practitioners of IT management. The main thing is to remember that you should become a leader, not
"IT-bureaucrat."
Attention, Nizhny Novgorod, we are looking for a manager!Nizhny Novgorod , we are looking for talents! We develop and implement
RegionSoft CRM . Sometimes it is very (VERY) complex and long implementation and integration projects. We need a manager with programming skills. Simply put, we are looking for an intelligent guy who cuts through development, knows how to knock people out of demand, make up TK, and convince us that for flying around a field of wheat is 4 square meters. km you need a corncobber, not a Boeing, even if you have money for this Boeing :-) Age does not matter, experience has, and a lot. Sign up for an interview at contact@regionsoft.ru and come to talk. Territorially Sormovo, remote is impossible. The work is harsh, do not say that you did not warn. People are good, the head is adequate.
Our still live Telegram channel BizBreeze . Anything about CRM and business, according to the mind, without copy-paste and 90% without advertising. Subscribe.