views:

684

answers:

11

Maybe this is a naive question, I don't know but here's what have been happenig to me lately.

I've always thought real coders, real programmers were the ones to make the code. I agree a good coder does actually matter (as opposed to hiring just a good software architect but hiring standard coders).

Lately nontheless, I've been more and more into the project management and administration part. That way coding is getting far away every day and I'm starting to realise I'm starting to enjoy a job description I used to hate so today I'm concerned about "resources", "budget", "requirements" and "time".

I have the opportunity to stop coding (on my work) and start managing which might as weel be (but just might) a good salary increase in the long term. I know is a very vague question, very subjective one and I really like coding A LOT, should I accept the offering and stop coding? What would you do? (Remember I won't be getting a raise now but in a possible future)

Edit: The title is about how I used to think about management peope which just give you a power point presentation and "thought" they knew what they were talking about. Now I'm facing the possibility of becoming one of them (hopefully actually knowing what I'm talking about)

Edit: Thanks everyone for your answers, they are great, I wish I could accept more than one!! I finally accpeted the Stu answers because it was really inspiring but really the rest of the answers were just great. I think I'll give a try to the "managemente" world ... hope I'll be really able to come back...

A: 

I think you should quit your job all together and go into the mascot biz. Talk about a good time.

Bob Dizzle
+2  A: 

If you enjoy resources and budget and requirements, go for the project management side of the world. I would much rather have a manager that has been in the trenches in code than one who has not.

Be warned: once you go over to the dark side, you can't come back - at least at that company.

Robert
+4  A: 

I made the transition from coder to manager. I did the manager thing for about 6 years. My largest team was 10 people.

I learned a lot as a manager. I learned about how teams work, and how to make them work well. I learned about what affect I have on the people around me.

The transition meant less money for me over my career. That's because I was a better coder than manager, so I did better work when I was a coder.

I also learned that I enjoy coding more than managing. That matters to me a lot more than any extra money I might have made (but didn't). When I switched back to being a coder, I brought all that I had learned as a manager with me. It was enormously helpful.

Jay Bazuzi
A: 

I would not leave my job for a management position. I love figuring this stuff out, working on problems, and seeing parts that I helped write turn into function-complete apps. I learned a few years back that this is what I really love doing. Who knows? In the future, that may change. You would have to give me one heckuva pay raise to get me to do something I wouldn't really like doing.

People who change light bulbs on skyscrapers make more than me, too. And I wouldn't do that, either.

Jarrett Meyer
+1  A: 

If you love coding, I think you'll find it difficult to find happiness as a manager. At the end of each day, its much more difficult to have a feeling of accomplishment because you no longer have the satisfaction of completing small milestones such as working functions and modules. Trying to "stay technical" is difficult because you spend a lot more times in meetings and just communicating in general.

I spent a few years in technical leadership/project management roles, and eventually moved back into development, although it required changing companies. I was working primarily with offshore programmers and often felt like I had become an "email engineer." At this point, I'm happier as a "do-er" rather than a manager, but I feel like I have to move back into management at some point to keep my career from stagnating.

Cory Engebretson
+6  A: 

Back in 2001, I was in this situation and "accepted th challenge". My team size varied between 4 and 12. The results were mixed, from my perspective.

Pros:

  • It dramatically broadened my perspective on business, organizations and management. Very educational. I started out a long-haired, introverted, aloha-shirt wearing, coder's coder...and woke up to the broader picture.
  • I love system architecture work, and the role allowed me to keep doing this stuff
  • I met many more bright, solid folks in a variety of roles than I ever did just coding...including Sales and Marketing types! (Before my foray into management, I would never have imagined that was possible.)

Cons:

  • The role, after so many years (3.5) was too stressful on my soul. Gained weight, drank too much, hair started turning grey. I even lost the ability to read a chapter of a book without a self induced interruption--it was like a case of mid-life ADD. It took a year long sabbatical to recover.
  • I was away from the hard technical stuff too long. It was difficult to sell myself as a coder again. Fact was, I had "project manager" stamped on my forehead even though I didn't want that. As rdemi eludes to, it is hard to come back from the dark side!
  • I had to put my then egalitarian belief structure to the test. It was shattered. Not all coders are built of the same bytes.
  • I have had to layoff a lot of good people. It was hard on everyone.

Result?

  • I am a better programmer for the experience.

My recommendation? If you have the will, take a stab at it. Just be fully prepared to walk away!

Stu Thompson
Good answer. I'm on that sabbatical now...
Jay Bazuzi
+2  A: 

I find management and coding to make an excellent combination within one job.

Of course, it depends on your organisation and your preference. But I like to understand the broadest possible subset of the world, and be able to factor in the largest number of possible considerations in doing my work.

If I'm coding a least-cost-routing algorithm and I happen to know:

  1. the real-world usage scenarios, because I have been involved in requirements gathering
  2. the resource it's going to take to implement an optimisation, because I have been involved in estimating
  3. the other priorities competing for my time, because I have been involved in project scoping
  4. the other people available who could also implement the optimisation, because I have been involved in recruiting and evaluating the team
  5. how much business benefit the change will create, because I understand the number of people I'll impact and the cost of their time
  6. what I'll have to go through to negotiate a new delivery schedule, because I've been involved in the planning meetings and know why we are meant to deliver it this quarter
  7. whether the optimisation will make a long-term difference to the company because I've kept in touch with next year's marketing strategy for productising this project

then I'll make a much better decision about whether to go ahead with the optimisation, and this will actually influence my decision about how to do it.

Naturally some people prefer to concentrate on a smaller subset of the problem, but I revel in understanding everything and applying as much knowledge as possible to each task. It also keeps life interesting to be involved in so many aspects of a business.

Leigh Caldwell
+5  A: 

Like Jay and Stu, I too have come full circle. I became a manager because, I suppose, I had some kind of aptitude for it. I returned to programming after four years and two bad experiences unrelated to my performance (company merger then small business woes). At peak I was managing 20+ developers plus contractors, recruited for offshore developers in India, and had the title "head of development".

For me it was a sad management day when I realised that I really ought not to be programming right now, that I should in fact be tending to an urgent but politically difficult situation.

Some reflections...

  • Programming is where the magic happens. Take away the programmers and you have no product, no software, nothing to talk about.

  • As a manager your programming skills will recede. You will, in time, become one of those guys frustrated because you know what you want to happen, but you have no idea how to make it happen.

  • As a manager, people will bug you all the time. It's not their fault, and it's your job to deal with it.

  • As a manager in a medium to large business you might have a little more scope to change things for the better, but you might also be disappointed and frustrated by politics and inertia.

  • There is a great deal of satisfaction to be had from helping technicians (programmers, testers, analysts) get their job done. Removing obstacles, especially bureaucratic hassles, is one of the best and most helpful things you can do for your developers.

Ed Guiness
A: 

I would say that a great programmer needs to have more skills than just excellent coding.

Taking on several different roles in a project or organization will increase the understanding of all the fluffy stuff around the nitty-gritty code, like what are we really trying to achive with the application/project/program etc and are we really creating what the customer/end user expect? You might need architecture skills, to see the bigger picture, project management skills, to understand/insight in development models/project models, business analyst (not really sure what to call this role in english, but someone who helps the customer specifying all the customer demands), to understand and get an insight on the customer, etc etc etc.

Taking on an other role, what ever that role may be (almost), will give you an understaning of how to actually deliver in a project, be a part of something bigger than "just a coder"

:)

//w

superwiren
A: 

Keep in mind that managers typically work longer hours than coders - which explains the extra pay. the pay increase may not be worth the extra 5, 10, or 20 hours per week you put in to make sure your team is putting in at least their 40.

Adam Davis
A: 

I too find myself doing more and more management. I find it very rewarding as my duties include being a mentor and teacher.

But as for your question, I don't understand why you must eliminate coding from your job completely. This is not something I'd recommend as you will eventually become a lot more out of touch with the code.

Sure, you can tell yourself that you will continue to code in your spare time... but you must remember that management means more responsibility which in turn means more stress. You need to take time off to unwind, which sometimes could mean a personal coding project.. but it's very different from professional work.

I say go for the management position, but try to keep some involvement in the code itself. Even if it's just 10% of your time.

Hugh Buchanan
"I don't understand why you must eliminate coding from your job completely." Why? Because managing a team, a product and your internal customers can be all consuming. One get's to the point where they *know* they are coding for fun, and neglecting higher non-coding priorities.
Stu Thompson