Back when I started off my career as a software engineer, as every other respectable software engineer I used to think of management as the high and mighty, holier than thou pain in the ass. These people coming up with their suits and bossing people around without really knowing what it is that they talk about. To my naive software engineer mind it was inconceivable that these kinds of people exist and actually existed and actually worked at a job where they managed and handled engineers who seemed to know better. And for most of the part it was actually true.
These people in management who I typically met in the past had set my mind in the mode that all management folks were idiots who knew nothing about technology and were just sitting in their comfortable positions sucking up to other management folks higher up the chain. These so called management folks that I met back then were typically folks who had either graduated up the ranks through a couple of years of development experience and through sucking up to higher management and people who thought that management was more about ordering people to work while they just sat and took credit for the work that was done.
All the above was true until a few years into my career that I came across some managers who did not do that, but instead actually tried to direct people along various product decisions, enable developers to get their work done, try and help make the bigger picture clearer, manage conflict between people as developers typically tend to have bloated egos and having them satisfied is not the easiest task. These managers or who I would terms as true directors really do a great job and help the smooth functioning of the company overall. If in the machinery of the company the developers were the wheels and cogs, these managers would be the lubrication that allows the wheels and cogs move easily and smoothly and lead to an efficient functioning of the machinery that is the company.
Over time, meeting such managers has led me to a clearer opinion. We need managers who are enablers and help direct the boat with the bigger picture in mind. They are the counsellors that the developers and engineers can lean on. A new breed of such managers have come out now, the engineering managers who truly know about engineering and the engineer mindset and this mindset helps them to do the already existing managerial job much better. These beings have an engineer’s intellect and also a high level of emotional intelligence that allows them to navigate much more easily. And as time has passed by, what I realize now is that code and technology is the easy part, management is the more difficult of the two, since the human machine is not as easily comprehended.