The other day I had a discussion about leadership and management. When we came to an argument that there’s no chance to advance to a position where you can facilitate leadership and management skills in discussed organization several people (from present and from past) automatically came to my mind. They all have the same problem which they may overlook.
They all are (or were) great engineers. People you’d love to have on your team. But at some point of their careers they started to think about having their own teams, managing their own people. Hey, that’s natural career path for great engineers, isn’t it?
Well, actually it is not.
Do a simple exercise. Think who you consider as a great engineer, no matter if he’s a star book author or your colleague no one outside your company knows about. Now what do they do to pay the rent? I guess they are (surprise, surprise) engineers, tech leads, freelancers, independent consultants or entrepreneurs. I guess there are none who would be called a manager in the first place, even when they happen to do some managerial work from time to time.
Why? Because these two paths are mutually exclusive. You can’t keep your technical expertise on respected level in the meantime, between performance review of your team member and 3-hour status meeting with your manager. You either keep your hands busy with writing code or you get disconnected with other developers out there.
On the other hand what makes you a great engineer usually makes you a poor manager at the same time. If you spend all day long coding, you don’t have enough time for people in your team. And they do need your attention. They do much more often than you’d think. If you’re going to be a decent manager big part of your time will be reserved on managerial tasks. There won’t be enough time left to keep on technical track. Sorry.
That’s why all these people who I thought of have to (or had to) make a decision which way they are (were) going to choose. Technical leadership path means most of the time you won’t have people to manage but you may be respected as an architect, designer, senior engineer. If you’re lucky enough you can even get one of these fancy business cards with title of Chief Scientist or Chief Guru or maybe just a simple Co-Owner.
Managerial path on the other hand will make you feel lame during basically every technical discussion out there but yes, you will have people to manage. If you’re lucky, and I mean lucky, not competent, you’ll become VP or something.
You have to choose. Or you had to some time ago. What’s your choice? What do you regret about it?

Subscribe RSS feed
Follow on Twitter
Subscribe by email




{ 14 comments… read them below or add one }
Agree
I fear that you are right and that this is programmer's horrible truth :)
One thing I am sure for now, you can't be architect/leader etc. and not be a active programmer.
Still I will try to walk this impossible road of half manager/half programmer…
Vukoje,
I fully agree you can't be a competent architect while not being a programmer any more. E.g. I can say a lot about architecture, I can have great advice on the subject but I won't work out whole architecture There's too much about modern technologies I just don't know since I don't code any more.
Talking about trying to be half programmer and half manager, well, soon you'll just have to make a decision which one you like more. Other way you'll struggle to have enough time for either one.
Yap, you were right, it can’t be done :(
I guess that one programmer can become so valuable that having him just write code isn’t efficient enough. You have to fin a way to scale his knowledge/influence and that can be done through some sort of delegation/leadership/managing.
So the trick is to add some management but to stay strong in technology or it will all lose sense. I have tried to be Scrum Master, Product Owner and Technical Leader. The result is that I suck in every area.
But I have in my mind a combination that would work. :)
Vukoje,
If you look for a way to leverage knowledge and experience you shouldn’t think about management but about technical leadership. This doesn’t have to (and shouldn’t if you ask me) be done through promoting a person to management position where he gets a team to supervise. You should rather think about all kind of guru roles, where a person has all the engineering tasks but is also a go-to guy when itcomes to technical advice or even decisions.
Call them tech leads, architects or whatever, but don’t give them teams to manage since all these administrative tasks (like performance reviews, budgeting etc) steal a lot of time. Time which you could use either on coaching others or on engineering tasks.
I was thinking more coaching, task distribution, code checking/testing, maybe motivation… not budgeting and reviews.
Does this make any difference in you opinion?
Yes, at least partially. If you avoid being a manager of a group (formally) you save a lot of time which you’d spend on non-engineering-related tasks. If you want to make much use of your technical expertise make as much of your duties as possible engineering-related. This basically means you should prefer not to manage people directly.
But choosing to stay away from management also means you won’t distribute tasks or motivate people (at least not the way most people consider it should be done).
From what you write I understand you have power to decide what exactly you’re going to do. If I were you I’d choose one side, either people management or technical leadership, and stick with it as much as possible. If your choice is technical leadership you can always switch to people management later. The other way around it’s much harder.
Thanks Pawel, I have a much clearer picture now.
I think that the reason why I am under impression that I can do this is because I have really really good and close collaboration with my HR manager and Product Manager.
Being a manager does not necessarily mean you have to give up on technical track. You can be a hands-on coder, architect as well as manager at the same time. It is just a matter of time management. If one cannot do time management, he cannot be a good manager nor a good engineer.
Yes.. In almost all the organization I have worked, what you say is correct. That is because all these policies are set by bunch of MBAs who don’t want to think outside the box (what they learned). They think that what they learned is what they need to use.
Yogish,
Yes, being a manager doesn’t automatically mean you have to abandon technical track at all. But I keep my point that excellence in either one management or development takes too much time to be able to do both.
You may be average manager and great coder. You may be average coder and great manager. This actually mean you can do both, but there isn’t much value of your average skill. It would probably be much better to focus on on your stronger side.
I can hardly imagine people who can excel in both areas but I don’t say they don’t exists. I’d love to see an example. But even though they would be very, very rare.
I agree that management stereotypes don’t help but that’s not where is the source of the problem. Good manager would overcome organizational constraints in 9 cases out of 10. Heck, I saw multiple great teams built in companies which are basically hostile for healthy groups.
Personally I stopped tricking myself that I can catch on with technical track long ago. I see people trying to combine these two all the time and they’re failing all the time and it happens in a wide range of different organizations. If someone finally succeeds, good for them, but I wouldn’t bet with my own money.
I agree with Yogish. However, companies are fearful of either loosing you for being too valuable or having to pay you more.
Also, how would you be a manager if you are not a part of the technical knowledge and projects?. It is never good for a manager to choose one or the other . A manager who picks and chooses is a bad manager.
@nikhil – Can’t agree. Actually in terms of technical, hands-on, project-related experience I had basically none in every team I led since 2004. I had to choose: I could focus on learning new programming languages and keeping my technical sword sharp or focus on the thing I was paid for – managing people.
I made my choice and I don’t feel like I was a bad manager.
Of course it is very different when you’re promoted in a team you worked in for longer time so you get kick start basically for free. But even then, if you don’t spend significant time actively sharpening your skills, they will be slowly but continuously disappearing.
If I was a great developer in 2003 (I wasn’t but that’s not the point) would I still be one now? No. Unless I kept actively working as one. If I spent, say, one third of my time as a developer would I still be great? A half, maybe? Now would I be able to become that much better manager over this time? No, not really. And believe me, I was a crappy manager back then.
I will give you the same challenge I gave Yogish – give me an example of someone who achieved this, someone who is widely considered both: a great developer and a great manager. If achieving that was easy I believe we should have truckload of such people.
Just as you mentioned one has to keep developing skills even if you get promoted in a group. This means you have to keep technical skills current to be able to lead your group. It is also a personal choice, if one just wants to be a manager or an employee or both. It also depends on one potential. Today economy is pressing huge demands on employees. However, employees are not receiving enough returns. Sure, it does build a good resume, but you also get trapped as a prisoner and often employers make sure you do not get any promotions. So off record you are so called lead! doing all managerial duties as well, while the real manager has no idea, since he has decided to pick the management of project track, which only involves meetings of which he has no idea what they are talking about in the meeting since he is now away from technical world as well.
@nikhil – I don’t know where you work, but you should seriously consider changing the team. Or the job if that is how things look like in the whole organization.
I would say that you’re wrong on so many levels but I won’t as I know there are places such as the one you describe. BTW: if you feel like a prisoner you have two choices: either serve your sentence or escape :)