Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am working as a programmer for last 3 years, recently my company has promoted me as a project manager. Now I am facing resource management issues and I am not comfortable as a manager and I want to continue my profession as a programmer. I have talked to my director to step me back as a programmer but he forced me to continue as a project manager as this is one step ahead from programming. Now suggest me what should I do?

share|improve this question

closed as off topic by Mark Trapp Jan 30 '12 at 12:47

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.

"this is one step ahead then programming" - Is this your opinion or your manager's? – talonx Jul 5 '11 at 8:06
Its manager's opinion, I don't agree with him. – Siddiqui Jul 5 '11 at 8:30
Well, the only think the community here can suggest is either to press harder for demotion or to quit. I am afraid you won't find any answers more meaningful than that. – Jas Jul 5 '11 at 12:15
Can you use your skills to make your new position fun? For example scripting/automating dumb tasks? – LennyProgrammers Jul 5 '11 at 15:59
"this is one step ahead then programming" its very subjective depends both on the developer, and the company – umlcat Jul 5 '11 at 20:16
up vote 26 down vote accepted

This is unfortunately a common problem. A lot of people see the "natural" progression of software developers to be from coder -> developer -> manager.

This isn't always the best for either the person or the company. People who are good developers don't always make good managers and good managers aren't necessarily good developers (though having some experience is a good thing here).

You need to talk to your manager (or his manager - though this might be difficult if he's a director) and explain that you think you're not suited to management and will bring more value to the company by remaining a developer. You can still take on more responsibilities in the areas of design/architecture and mentoring other developers for example - both of which will be valuable to the company.

Unless the company does this and allows developers to have "career progression" while still remaining developers they're going to end up losing staff as people like you resign to stay doing something they enjoy and are good at.

share|improve this answer
What I don't understand is why it is that after a developer gains a certain amount of development experience their reward is to be moved into a position where they no longer write code. – user23157 Jul 5 '11 at 10:01
@The Mouth of a Cow - because, in a lot of companies, the only route that gives pay rises, responsibilities is to management. – ChrisF Jul 5 '11 at 10:39
I understand that bit! What I don't get is why management in the software development world generally means stopping writing code. – user23157 Jul 5 '11 at 12:17
@The Mouth - The reason is the same why getting into management in any industry stops you doing the actual job - management is a full time job. If you're doing it right you don't have time for anything else. – ChrisF Jul 5 '11 at 12:19
Ditto ChrisF, If you want to be a GOOD manager then it is a full-time job. There is always something that needs managing. If you want to suck at not only the managing part but the development part too, then develop code while also managing. When you have worked for both types of managers you will see a clear difference. – Dunk Jul 5 '11 at 15:06

De-motivation may not be related to what you think:

It can be a natural defense mechanism.

Once you move from a safe, well known and familiar to an unsafe and unknown situation, your mammalian brain can trigger stress and provoke unwanted behavior such as procrastination (fear of failure).

You mustn't neglect the psychological factor of resistance to change.

You suck at your new position, not because you are incompetent, but because you are scared. When you don't like something, it can be because of fear too.

The easiest solution to face it and fight it. Stress will become less and less problematic over time.

Before you consider going back to your developer position, read Mastery from George Leonard. He describes Psychological Homeostatis quite well.

share|improve this answer
I read the first few pages of Mastery after I saw your answer and it seems like an interesting book. Nice suggestion. – Vitor Py Jul 5 '11 at 15:26
@Chance: that's why I used words like may or can. My answer is complementary to ChrisF answer. – user2567 Jul 5 '11 at 16:59
@Pierre, I was going to edit my comment but I guess it won't let me do so after a certain period of time, so I deleted it, because it sounded much more oppositional than I intended. The basic gist was that I think you make a good point. It depends on the motivation of the asker. If it is fear of failing this needs to be examined further. If it is because this person genuinely likes programming and really doesn't like being a manager they should follow that path, which is an option for which you allow in your answer. – Chance Jul 5 '11 at 23:13

When that happened to me I got a new job and started to think about contracts rather than normal jobs.

However don’t jump ship too soon, you may find after a time you do like being a project manager.

share|improve this answer

The only and best alternative is to spill it out. Present to your manager why you are uncomfortable in your new role, what is demotivating you better if you could nominate someone from your team/peer who can do well with this.

I believe as do you that being a Manager is not everyone's cup of tea, you are good at development tell him that and add that you would more productive doing something you like. in your case you should let know why you are demotivated.

share|improve this answer

Don't be so quick to kill this thing. It might be a bit scary but there are many benefits to being a manager. It can be very good for you as a developer depending on how you approach the role. Beyond that it's good to understand where management is coming from and how they perceive the world of development. The best managers I've seen are those that understand the implications of the work they are asking for:

  • They understand the concepts involved when their developers are describing a situation or problem.
  • They know what is realistic and what is not.
  • They know how to pave the way for their developers.

This is a good situation for you and yeah it jacks up the responsibility but it does NOT kill your opportunity to code. Embrace this as a chance to take some control over your situation (and the others under you) and make yourself more productive. Keep in the game and take responsibility for a piece of the development in your project. It will keep you integrated with the rest of the team and let them know that you're not just a pointy-haired boss.

Check out this book by Lopp:

Great stuff in there on how to deal with different personalities and how to keep ur coding sharp while stepping into management. By pulling this off you'll gain respect from both management and your coders. When it works.. it REALLY feels good and makes you grow as a person.

share|improve this answer
I'm sure everyone has a different picture of what exactly a project engineer is supposed to do, but in my world, project engineer is far different from software lead. In 90% of the projects I work on it is not practical for a project engineer or project manager to be responsible for their own piece of code. They are already responsible for EVERYONE's code, hardware, documentation, drawings and whatever else is deliverable. As a manager, you have to choose, if you choose to follow your own self interests then the overall program will suffer because there isn't time to do everything. – Dunk Jul 5 '11 at 15:13

It seems to me that you are struggling with the responsibility of management and disconnect from your fellow employees. My answer would be to investigate a more laissez faire management approach. This way you can put yourself in a programming position by delegating some of your responsibilities to your team and take a more active role in the projects.

Many people enjoy taking on responsibilities and if you sell it right, it can be a big motivator. The real trick is to break it down into manageable sections that less experienced people can handle.

With a bit of luck, this will satisfy your need to program and your directors need for a team to be managed well.

share|improve this answer

If you are in a large enough organization you could always try and move to an open position with a different manager. You may even be able to find a Senior Developer position that is not a step down.

It could also be that your manager sees potential in your to be a great project manager and is trying to help you develop. If you just feel overwelmed then look to get some training. Figure out where you feel you need the most help and ask your manager for help with this. You can sometimes find some workshops that may help you could request as well.

You may also be forced to find a new company that will allow you to grow while still coding. There are companies who value programmers with experience and have positions as high as "Fellow" that still allow for programming with out the management role but with similar benefits to management as far as compensation.

share|improve this answer

You may show your boss some papers on The Peter Principle.

This principle in essence states, that all organizations based on "promotion due to competence" naturally tend towards settling all positions with incompetent people. All competent people will climb the ladder until they step on a rung on which they are incompetent - and will stop advancing then.

share|improve this answer
Is it really wise to point out to your manager that you are incompetent? – Dunk Jul 5 '11 at 15:09
@Dunk, if you want to be demoted, it might be a good idea. – user1249 Jul 6 '11 at 7:55
I don't think the goal is to be demoted because of incompetence which damages your reputation and future salary increases. The goal is to maintain a good reputation but change your job assignment. – Dunk Jul 6 '11 at 17:39
"I'm a very competent programmer. I'm not a competent manager. If you want to show appreciation to my programmer skill, give me the rise and privledges. If you want the company to lose a skilled programmer and gain a poor manager, keep doing what you're doing..." – SF. Jul 6 '11 at 18:06

Simple question: do you like being a manager? Do you want to become a manager? If yes then stick to the current job and learn. Learn from your seniors and from your own mistakes.

Do you consider yourself to be an uber-programmer and are not interested in managing people or find it too dificult to manage people? If yes, talk to your manager again. If he doesnt agree then well type out your resignation.

Everyoneone has his/her strong and weak points. Not everyone can be a good programmer and good manager at the same time. If your pluspont is programming look at progressing to a systems architech role.

share|improve this answer

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