Leadership is not Management!

Apologies if I’m stating the bleeding obvious yet again but my previous article, Developers: you are not the sum of your technical skills, raised a bit of comment on reddit. Not a huge amount of comment since the commentary that programmers cannot be insular is fairly obvious but one point that was raised a few times was the section that dealt with being in charge of a team.

“I really, really hate that this is taken as a given. The idea that every successful, productive programmer will eventually lead a team is just… Frustrating.”

“As to being “put in charge of a team”, leaders tend to emerge whether you christen them with a title or not.”

Now there are two points here. Firstly, I completely agree that much of the industry has a mildly insane view of the career track of a developer and secondly there is a massive difference between leadership and management and should encourage qualities of the former from everyone, not just those put in charge of a team.

Almost more than any other job, developers seem to suffer from being promoted away from what they are good at. As a developer starting out, you know that you will progress from up to a senior developer but then what? Neither of the two most common next steps, Architect with their box and line drawings or Team Leads with objectives, appraisals and other management detritus are direct extensions to being a developer. Don’t get me wrong, both of these roles are incredibly important but neither are suitable for developers who want to stay on the coal face. Too many developers feel that they have to move into the Architect or Team Lead positions to move up the ladder, both in career and financial terms. Where’s the technical track for those who want to remain as individual contributors? I think that this is one of the reasons why management and leadership are conflated since we so often see our leaders promoted into management roles. It makes no sense from a corporate perspective either, businesses are effectively crippling themselves by turning productive developers into average managers at an increased cost.

It should be blindingly obvious that leadership is very different from management but we see it confused all the time. On the one hand, every manager should be a good leader but leadership is in no way restricted to managers. I mean it’s not like it’s some magic pixie dust that’s given to every junior manager. Leadership is a very complex topic and I don’t feel comfortable pretending to be an authority on the in’s and out’s of leadership but when you boil it down it’s just the ability to get people to work towards a common goal and to do so willingly. Anybody with any level of seniority should have a measure of leadership otherwise they aren’t a senior developer – they are just someone that developed for a few years. Anyone can be a leader.

So there are two things that we should acknowledge more often. Firstly, the industry needs to make roles like Principal Developer and Technical Fellow more widespread and secondly we should acknowledge the difference between management and leadership and spend more time encouraging the qualities in the latter in all our staff.

Update – there is a very interesting post here by Laura Thomson about Engineering Management that covers some of the details of management in a tech world

8 thoughts on “Leadership is not Management!

  1. Nathan

    A few years ago I moved into management. I quickly noticed I was expected to do MUCH less, but I was getting more recognition and more pay. It felt completely backwards. I went from being the go to person for all kinds of problems to someone who could have disappeared for weeks and no one would have noticed. Management was a career regression disguised as a progression, and for some reason most of the world continues to see management as a career progression. I wasn’t happy because my position made no sense to me, and almost anyone could have done the job. I took a step back, out of management (which also meant a pay cut). By stepping back I was able to contribute much more to the various teams and had a much greater impact on the happiness of my team as well as other teams, which was more important to me than the pay cut. I was continuously pushed back towards management roles, but resisted. People came to me for technical advice/leadership and went to management when they needed to deal with HR stuff and bureaucratic bullshit. If management disappeared, very few people would have noticed (as long as HR was still around). If the technical leadership left, the company would have fallen apart (because it was a tech company).

    As a result of this experience, I got my new company to take a new approach to this problem. I think the majority of management is a brain dead simple job. It is the main reason why non-technical people can manage technical people, and why a lot of people looking for an easier job try to get into management. I want management to be an entry level job for developers. Management is not leadership, and by moving it’s position in the career path, we are able to emphasize the difference. The majority of management’s job responsibilities should be placed on entry level employees and they can get promoted out of management and into technical leadership positions. However, all the technical teams I’ve ever been on have self-organized around the best technical people regardless of title. So, the technical leadership promotions are more of a formality.

    I see management as a good training ground for communicating and understanding business needs/priorities. New developers don’t tend to know how to work well on a team, so the communication/collaboration parts of management force developers to deal with this. Then new developers also have a very difficult time weighing business needs against academic engineering purity/correctness. By understanding the business side of management, developers are able to prioritize their own work, and understand when and why short-cuts need to be taken. When everyone on the team is able to communicate and self-prioritize, the need for a technical management layer disappears.

    As a result of this setup every member on the team is interchangeable for the usual mindless management tasks, and junior developers get a larger percentage of these tasks. This also causes the overall amount of mindless tasks to decrease because good developers hate mindless repetition and find ways to eliminate it. This ends up working as a much better bullshit buffer than any single manager could ever be.

    Reply
    1. Martin Post author

      Thanks for a brilliant comment Nathan. Moving management tasks to juniors is a brave idea and I’d love to know more, especially since you would assume that the juniors’ lack of knowledge would almost guarantee “car crashes” due to their lack of expertise.

      Reply
  2. Simon

    I agree with you fully on this. The problem is, like you outline that to get ahead financially you have to move into these management roles. I still don’t know why they should be getting more money, as they don’t necessarily require more skill, just different skills.

    Reply
    1. Martin Post author

      I would say that you become more valuable (or at least perceived as more valuable) to the business as you move from an individual contributor to a strategic influencer where any improvements you make can have a far greater effect. I’m not saying it’s right but I think that that is the justification. There is also the perception that expertise in this particular skill set is harder to find and so is more valuable.

      Reply
  3. Richard

    A bit naive, Nathan.
    As a manager I do a lot less coding, and a lot less concentration on set tasks, but I am multi-tasking a lot – and constantly prioritising. You also forget that there is accountability and responsibility. A new person can schedule and handle routine tasks but they can’t be held accountable or make decisions. It can be hard to manage tech people if you haven’t had some tech background. Lots of management takes a lot more skill than I think you give credit for. The fact of the matter is that most devs do not have the social skills for management – they may think they do – but others see it differently. The fact that many devs place themselves apart from others is one thing. I became a manager because I was sick of the geek bullsh*t (as you say) that many developers built as a buffer around them.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>