Manager vs Programmer

    At the moment there is a rather serious gap in understanding each other's work between programmers and managers. We will gradually narrow this gap, on both sides. Ideally, of course, I want the border to disappear altogether, and a new profession will appear - a business programmer, but let's be realistic, if we manage to bring together the vision of the reality of managers and programmers, then life will definitely become better.

    So, let's try to figure out what the programmer and the manager have in common, and what they are different at the moment.


    A programmer, in the sense of a real programmer, is a person who writes programs. For simplicity, in order not to get confused in the endless list of modern technologies, we will talk about 1C programmers.

    The key function of the programmer is to make changes to the system. There are, of course, secondary functions, such as training, implementation, and sometimes, with poor organization of work, secondary work begins to prevail over the main one, but nevertheless, the main thing is making changes. The programmer creates new functionality - documents, reference books, subsystems, reports, processing, exchanges, interfaces, etc.

    Today, users work with one system, with certain performance indicators, scale of functionality, convenience, etc. Tomorrow, after the programmer makes changes, they work with another system. It usually gets better, faster, healthier and more convenient. Of course, everyone happens, sometimes the system becomes worse for a short period of time, but then the programmer will figure everything out and everything will fall into place - the system will become better.

    The programmer either does not work at all, or minimally participates in the system as a user. It is clear that he, as an employee of the company, also conducts in it his tasks, budgets, sometimes a report card. But his main job is to improve the system.

    Bad programmer

    In addition to real programmers, there are still not real, or bad programmers. This is partly due to the incorrect use of the term "programmer" - for example, sometimes so called system administrators. Sometimes even they call themselves programmers themselves - just to not explain to users each time what the difference is.

    But even among those who have to be a programmer, there are bad guys. These are the ones who are supposed to make changes to the system according to their positions, and they are only engaged in its administration and operation. Especially often this situation is found among 1C programmers.

    For example, the programmer is engaged in closing the month, instead of or together with the chief accountant. It helps to calculate salary, prepare reports, uploads to the site, even deals with the automatic installation of updates from the vendor. In fact, this is not a programmer, but an advanced user who took over the most complex operations with the system, and feeds on this without passing on his knowledge to users or real system administrators.

    The key difference of a bad programmer is that he does not make changes to the system, but only uses it. For him, the system, of course, is no longer a black box, as for most users, but without knowing its devices from the inside, and even less, having no experience in upgrading it, it remains a user, even if advanced. He knows a little more than other users, is familiar with several advanced tools, including, possibly, with the console of reports, but he does not make changes in behavior, functionality, performance.

    The system remains unchanged, that with a bad programmer, that without him.


    A manager is a person who manages a complex system. It includes people, an automated system, business processes, departments, a motivation system, goals, a management system, a policy, relations with higher levels, horizontal communications, etc.

    A real manager is a person who makes changes to this complex system.

    The manager constantly monitors the state of the system, sees (or feels) where failures occur, understands the causes of unsatisfactory results, and makes the appropriate changes. It can change the motivation system to spend less time on manual control, forcing people to want to achieve results on their own. It can make changes to the automated system (by programmers hands), if it does not give the necessary numbers or does not help in management. It may work with a view to a system if it is not sufficiently clear, or does not correspond to reality, does not motivate and does not move forward. It can fix the management system if it disagrees with business processes, and only interferes with its bureaucracy. It can optimize business processes if it sees failures, downtime, loss, or meaningless work.

    A manager is a business system programmer. He does not write code, but the essence of his work is exactly the same, just the methods of “making changes” differ. The programmer needs to write code, draw forms, poke around in the data composition system. The manager needs to talk to people, create regulatory documents, set tasks, recruit or dismiss employees. Other methods, the goal is the same - making changes.

    Today, people work in the same business system, with the same rules, business processes, goals, placement in the office, motivation scheme. Tomorrow, after the launch of changes, they fall into another system - and this is the work of the manager.

    Bad manager

    There are not real managers in the world - those who deal only with the guidance of the entrusted system. They do not make any changes, do not particularly analyze the indicators, but simply lead. They distribute tasks, give a kick, set deadlines, go to meetings, etc.

    Bad managers know a few “buttons” in the system, and are more or less able to use them. But, more correctly, they do not know how, but they have the right. For example, they can fire and hire people, force them to go to work on weekends, change the priority of tasks, raise salaries a little, issue small bonuses, yell and use foul language. Anyone except a bad manager, these tools are not subject to.

    The use of these tools does not make changes to the system, it is like the user settings made outside. The same programmer uses a bad programmer. These are a few levers and buttons, sometimes - sliders, by adjusting which you can slightly change the behavior of the system.

    Significant changes with these tools can not be made. Radical changes are within the system, but a bad manager doesn’t look inside. He prefers to imitate change — for example, venturing to reduce costs or staff. From the outside, it really looks like a stormy change, but the essence of the system does not change.

    The simplest and most accessible lever is the staff. Because the most popular way to change among bad managers is the expansion of the state. If the superiors scold the bad manager for insufficient results, he usually refers to the staff. In most cases - asks to add regular units.

    Bad managers can not do anything, can not do with efficiency, i.e. cost of the result, or efficiency. If he has 3 people in his department who work with a certain efficiency, then the only way to increase the overall result of the department is to increase staff. The efficiency either does not change, or drops slightly due to management problems, but the overall performance of the system increases.

    A good manager in such a situation can apply efforts and change the efficiency, thereby obtaining a similar performance, but without changes in the number of staff. A bad manager cannot do this, because efficiency or efficiency is a property of the system, it is inside, not outside. There is no outside lever system called "Efficiency" that could be tweaked.

    In the same way, there is no “Performance” lever in the information system settings, which a bad programmer could have adjusted. Of course, some pseudo-levers exist, but they do not have a cardinal effect on performance.


    So, there are bad and good programmers, there are bad and good managers.

    In fact, the “bad” and “good” marks are not important, you can throw them away if you start calling things by their proper names.

    If a person monitors the state of the information system, puts updates, helps to close the month, picks up the settings, and even makes a shrink base, he is not a programmer. You can call it, for example, "database administrator". Then everything falls into place, and a choice appears.

    If the business needs only that maintaining the state of the system in its current state, then we need not the programmer, but the administrator. If you need a fundamental, or at least a noticeable change in development, performance, functionality - you need a programmer who knows how to make changes to the system.

    If the business needs only that maintaining the work of a department, service, function or an entire business unit in its current state, then you need not a manager, but a nurse, or an administrator, or a dispatcher, or a shepherd — choose any name. If cardinal, or at least noticeable changes are needed in some part of the business system, then a manager is needed who can make changes to this system.

    It’s easy to check if you are a programmer or an administrator - just look at the code that he wrote (or ask him to show this code himself). No matter how silly this may sound, in my practice there were several times guys who called themselves programmers, while not writing code for years.

    Checking whether you have a manager or a dispatcher is also easy - ask him to tell about the changes made to the business system and their consequences. Although, the consequences should be obvious if you are a supervisor.


    As you can see, there are a lot of analogies between managers and programmers. And between the good and the bad.

    As a percentage of good / bad, programmers, of course, win — simply because their systems are simpler. Creating a table in a database, drawing an input form for it, and filling in with numbers is much easier than getting an employee to work on a daily plan.

    With managers, things are much worse - only a few percent are involved in real changes among them. And with this we need to do something.

    Also popular now: