Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Many times, a developer has suggested that I become a team leader because I'm motivated, but during my career in the IT industry, I've seen so many people who are great at programming, move into management and they are miserable. I've also seen many managers return to programming stating "I'm a technical person, I like technical problems". If this is such a common thing, why do developers feel compelled to leave the technical domain and move into management? Sure you'll have more money and more control, but if you don't enjoy your work and take your problems out on your team, that's hardly economic of your time.

Secondly, I've been asked in developer interviews, "Would you consider leading a team?" and I'm always tempted to cite the Peter Principle based on what I've seen. I am interested in furthering myself, but not in the way the company may want i.e "Vice President of department blah". To be honest, I've seen this more often in the corporate world than in small development houses and it's always put me off ever going back to a corporate environment. I just feel that this is becoming more and more the norm and it's impacting team morale and degrading the quality of the work.

Question: Based on what I've said, Is it a smart move for a technical person to move into management?

share|improve this question

closed as off topic by Mark Trapp Aug 29 '11 at 18:27

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

What's the question again? –  Frank Shearar Feb 24 '11 at 15:56
I'm questioning the value of moving from development into management based on my observations that it's caused more harm than good. –  Desolate Planet Feb 24 '11 at 15:59
@Desolate you're pre-empting the Peter Principle. Possibly not a good idea for your personal development. –  Alison Feb 24 '11 at 16:45
-1. Did you have a question that you wanted to ask and get answers to? –  Alex Feinman Feb 24 '11 at 17:00
-1. This is not a question, it's a rant. I love rants, but they belong on blogs, not on question & answer sites. Question & answer sites are for questions and answers. –  Jörg W Mittag Feb 24 '11 at 19:31

11 Answers 11

up vote 14 down vote accepted

(If you believe the Peter Principle, and believe that management is a step up from developing:)

Until you've hit your ceiling you don't know where it is. Therefore never accepting the management job means you will never find out if you've reached your full potential.

share|improve this answer
Your answer presumes that management is necessarily at a higher level than engineering. I would call that a dubious proposition at best. –  Adam Crossland Feb 24 '11 at 16:12
A dubious proposition to people who understand the importance of what we do. Rarely a dubious proposition to the people who are deciding the pay scales... –  glenatron Feb 24 '11 at 16:20
@Adam, I agree my answer relies on this assumption, which is why I said the same in my original answer. –  Alison Feb 24 '11 at 16:44
@Adam: it highly depends on the type of management. It could be technical and involves more "architecture" / "design" decisions than HR stuff, in which case it's definitely a step up. –  Matthieu M. Feb 24 '11 at 17:56
If you don't want to do management, then there is no point in getting yourself promoted just to find out if you are good at it. –  DJClayworth Jun 7 '11 at 20:04

It's funny you should say that. I've seen the Dilbert principle at work much more often than the Peter principle. (That is, the most useless person is promoted because their loss won't impact actual production much. In some cases, it even gives it a boost.)

But I wouldn't want to go too far from technology either. Coordinating a small team is something a lead developer will be somewhat proficient in, but all the higher levels of management are essentially requiring a different mindset. I don't see it as a step up professionally, more like a step sideways, if not straight down.

share|improve this answer
Yeah, this is common too. I've seen a good mixture of both mind you, but I've never seen it boost productivity or morale, certainly not in the long term. –  Desolate Planet Feb 24 '11 at 16:07
@Desolate Planet No, not in the long term. Just as long as a sigh of relief lasts. –  biziclop Feb 24 '11 at 16:15

If you don't want to be a manager, you shouldn't be a manager.

A good manager is a manager precisely because they see the good they can do as a manager. Therefore, they have the drive to get into that position to start making those things happen.

If you can't see the good that would come from being the team leader or the manager, you really should stay where you are at. The excuse, "I like technical problems" is really a red herring. Many good managers (who want to stay where they are at) like technical problems, too.

share|improve this answer

I think that many of us have chosen to be programmers/engineers because it suits our talents and personalities so well. Being a manager or leader of engineers requires entirely different traits, talents and aptitudes. Recognizing that fact and thinking about what makes you happy about your job is what is at the crux of making an intelligent decision about moving from a contributor's role to a management/lead position.

share|improve this answer
It's often been said that managing programmers is like herding cats. Also, in larger organizations, a manager needs to shield his reports from crap raining down from above, and occasionally take a kicking from management without passing the kicking on down the line. To manage programmers well requires great people skills, emotional intelligence, patience, self-discipline, wisdom, and an ability to "let things go" rather than fighting pointless battles. Those are skills and aptitudes I greatly respect, and have determined I don't have at all by trying to do the job. I'm happy to code. –  Bob Murphy Feb 24 '11 at 17:03
@Bob: having "mad knowledge of self" (thanks, Us3) is one of the cornerstones of happiness in all aspects of life. Good on you for knowing enough to know better. And your description of what is required of a software engineering manager is spot on. –  Adam Crossland Feb 24 '11 at 17:06
It was a hard road to self-knowledge and realizing I suck as a manager and entrepreneur, including two failed businesses and a lot of collateral damage to innocent bystanders. I hope other peoples' skulls aren't as thick as mine! But I also had a couple of great programming managers a couple of jobs ago, and watched what they did and how they did it with respect, amazement and awe. I still consider them both personal friends. –  Bob Murphy Feb 24 '11 at 19:35

Be careful not to shoot yourself in the foot here. In a way, you seem to be claiming poor management and leadership skills which I doubt is your intention here, or was it?

Consider what kind of advanced technical role do you want to have. Are you wanting to draw up plans and share ideas for how to tackle a problem? Do you want to be a behind the scenes person that helps get a project done but not in a formal leadership role? Just consider writing out what it is that you want to do.

While you may not want general management, don't forget that you do have to exercise some self-management in your current role and thus you should have some management skills. How well do you handle your own work load? That's where I could see someone trying to claim that they would be a poor manager may cause some problems for themselves as management may see this as a, "Maybe you shouldn't get so much freedom," kind of attitude.

I have similar leanings in terms of not desiring management and thus I am trying to find my own way to get to a better position while still being technical. Could I lead a team if it became necessary? Probably but I wouldn't want to have to sustain such a role any longer than needed is my guess.

share|improve this answer
I'm not having a stab at management in general. I've just seen so many great developers think they can move into management and do better than their current bosses and the end result is like something you've read in the book Peopleware . To put it another way, as a developer, you are used to dealing with machines and when going into management, you carry that mentality with you. That's my opinion of course. I've seen enough of this to put me right off ever considering a management position. –  Desolate Planet Feb 24 '11 at 16:03

Time is money.

Knowledge is power.

Power is work done/time.

knowledge = work/money

money = work/knowledge

Therefore, as knowledge approaches zero, money approaches infinity, regardless of work done. The Peter Principle is provable.

share|improve this answer
money = work/knowledge = work/(work/money) = work/(work/(work/knowledge)) = work/(work/(work/(work/money))) = ... –  Carson Myers May 6 '11 at 21:06
@Carson: What's your point? V=IR so I=V/R and R=V/I. The fact that R=V/(V/R) = V/(V/(V/I)) = V/(V/(V/(V/R))) does not invalidate Ohm's law. Algebra ftw. –  nmichaels May 6 '11 at 21:42

Most of these answers imply that moving into a management is "a step up" or "a step down". While in the corporate structure it may be a step up in pay scale, in reality it's not a "step" at all. Management is a completely different position than programming.

Is it wise for a programmer to move into management? To me, this implies that all programmers are the same and there is an answer for everyone. For some, it might be very wise. For others, it might be a horrible choice.

For example, for the introverted programmer, management might not make much sense. For the programmer that is an outgoing, natural leader, this might be the right path to greater happiness and career satisfaction.

share|improve this answer
"To me, this implies that all programmers are the same and there is an answer for everyone" - This is an observation I've made in the past also and (I could be wrong) I partly blame it on Software Engineering as it assumes all developers are equal and can be replaced very easily. –  Desolate Planet Aug 29 '11 at 18:31

IMO you can always give it a try. It's always easier to step down in career.

It’s better to lead others than being led by a person that is less competent than you.

share|improve this answer
"It's always easier to step down in career" - You're right, but unfortunately it's something that rarely happens. Once they have reached the upper level people tend to cling to it, usually because they have a false sense of being part of another world now and going "back down" will seldom be part of their career plan. –  guillaume31 Feb 24 '11 at 17:24
You can step sideways-ish easy enough, but down might be bad for your career. For example, Project Engineer to Software Lead would be ok. But, Project Engineer to software developer would probably be a career killer. Also, if you really suck at the higher level job it'll also tarnish your reputation so even if you do step back to somewhere you are more skilled, it'll haunt you for a long time. I've seen that happen to people a time or two. –  Dunk Feb 24 '11 at 17:35
@ian31 @Dunk You are right about that in general step down seldom happens. But since he is "aware" of bad management, he could step back to development. –  Amir Rezaei Feb 24 '11 at 17:47

In your example everyone has pointed out that a developer becoming a manager is not really a promotion but more of a career change.

The Peter Principle has some truth, but it has no real use. I guess you can be competent and never get a promotion. Promotions are often a result of previous performance. When in doubt, most people will take a promotion whether they feel qualified or not. There is no exact science to qualifying job candidates, so there are bound to be mistakes.

Most people in their very first job aren't really competent. That's why there is training and mentorship. You'll be significantly better after a few months and probably won't be earning your salary for a year or two. Then again, you may get a promotion and never earn your keep.

Gates, Jobs and Buffet are doing pretty good, but I don't see any room for advancement.

share|improve this answer
they are doing pretty "well", superman does good –  ioSamurai Sep 26 '13 at 17:13

Most people who denigrate the abilities of managing people have never managed people. I liken it to people who have never sold on commission. If you've never done something, you have only a hazy idea of how it's really done. Managing people is much more difficult than writing code, but the skills are mostly orthogonal. Computers are a logical and consistent (in most cases). People can react and respond differently from one day to another, whether they got enough sleep the night before, if they find out their co-worker gets more money for the same job, and on and on.

Plus, a good manager insulates their team from the stuff that showers from above--budget, schedules, competition that threatens to gut the product. If you are lucky, you just hear about this tangentially.

If you see most problems as technical, you will fail miserably as a manager. If you think a manager who is less technical than you is a failure, you will fail as a manager. As a manager you must delegate the technical decisions to your team. You should understand the issues/tradeoffs, but your main job is to take everything in and make the hard decisions. Sometimes you will disappoint the team by cutting a popular (to the team) feature to make a schedule. That's why a lot of people go back to developing. They don't like the feeling of no longer being a member of the team. They've spent so long poking fun at the point-haired boss and now have become one. The shame is humiliating.

share|improve this answer

during my career in the IT industry, I've seen so many people who are great at programming, move into management and they are miserable.

You're here using inductive reasoning to prove that upgrading from development into management is something wrong. I personally have seen some opposite examples too. I think being a developer or a manager is something related to the capabilities of human and the difference between people shouldn't be judged based on their profession. We rather should think that some people can become great managers, regardless of their path towards management (whether they've come from development, sales, or any other section of the company.

Personally, I think instead of asking Is it wise for developers to become managers? we should ask Is it considered wise, if a developer who thinks he/she could become a good manager, try to realize management? and my answer to this question is, yeah it's wise. If someone thinks that he/she can be more productive on another profession, then why not changing?

share|improve this answer
I agree completely and admittedly I was having a bad day when I typed this one. Most of what I said was true (based on my own experience), and I believe if you've got good people skills and you enjoy working with people, then management is a logical way forward. –  Desolate Planet Aug 29 '11 at 18:26
An old boss encouraged me to explore outside my comfort zone, I spent a lot of time mentoring students that came in and I enjoyed it. A lot of people think I've got good management skills, I but I get very annoyed at problems I see in business and tend to me very up front about it rather than be diplomatic. That puts me off trying to become a manager and it's what I've seen other managers do that cause trouble in the office. –  Desolate Planet Aug 29 '11 at 18:27
Yeah, development (or broadly speaking, technical world) is far distant from management world. In development, we're frank and straightforward. In management, you have to take diplomacy into account. :) –  Saeed Neamati Aug 29 '11 at 18:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.