up vote 9 down vote favorite
2
share [g+] share [fb]

A lot of graduates ask about getting into this field, but I know there are times when I (as well as many others) think about leaving, too. My issue is that I love solving problems and the act of creating something that people enjoy using, and that is what keeps bringing me back. Lately, though, programming has become less of the act of creation and about solving problems, and has become more about being "a monkey at a keyboard". Can you offer any advice with regard to:

  • What fields would offer equivalent problem-solving challenges consistently?
  • How you would go about doing the research, or considering the career change?
  • Basically anything else you think would be helpful in this situation.

EDIT:

I guess I should clarify and say that I've been in the field about 10 years, and I have had my fair share of working environments. The place where I am at now, and even the previous two jobs, the people I worked with have been great. I've been very lucky in that respect. I'm beginning to wonder if the next step for me has little to do with actual programming and more to do with business analysis or strategic consulting. I would hate to get too much onto the business side of things though, as I like being around tech folks more.

link|improve this question

Try being a professional landlord. You have not spent all that $$$ have you? Or you have? Then back to work, code monkey! Wait, you have 3 kids??? Oh man you are screwed. – Job Feb 24 '11 at 2:44
feedback

migrated from stackoverflow.com Feb 23 '11 at 23:11

This question came from our site for professional and enthusiast programmers.

9 Answers

up vote 11 down vote accepted

Before I'd consider a career change, I'd consider a job change. I have any number of interesting projects (to me) that allow me to explore new technologies and techniques. I really don't think it's a question of the field so much as either your personality or your particular job. I suspect that it may just be your job.

link|improve this answer
feedback

If you're turning into a "monkey at a keyboard" then you're definitely doing it wrong.

Software development is very much an intellectual activity that requires great creativity and ingenuity.

Stop thinking of yourself as a piece of meat that translates information into machine understandable form and start thinking of yourself as a craftsman, artisan, or inventor. Hone your craft and seek out more rewarding work.

link|improve this answer
easily said than done... especially when the company considers programmers like coding monkeys. You would be surprised how many consider a good architect or software engineer is one that no longer codes but only write specification in Word format. there is this weird implicit ascension path that leaves active coding behind very quickly and frowns upon it. This said... When placed in front of such a place just change jobs but when one faced this situation in most places they worked at it does wear you down. – Newtopian Feb 24 '11 at 2:25
feedback

You need to get into a more research oriented part of the development process. I spend a lot of time pondering problems and their solutions, sometimes get to right proof-of-concept, laboratory or test code and end my research with one or more papers describing what needs to be built. Unfortunately, the title for this position is not nearly so standard as "software engineer". Try:

  • Business Process Analyst
  • Systems Engineer
  • Information Architect
  • Analyst
  • Systems Analyst

Use your problem solving skills on the front end and let the younger monkeys pound the keyboard. Note, I'm assuming that you have reasonable communications skills. Research doesn't do any good if you can't hand it off!

link|improve this answer
feedback

Is it the career or is it your specific environment? Software engineering is such a diverse field with many diverse groups to work for. Maybe its just the enviroment you are in.

I've heard of places where people sit around like code monkeys all day, I've heard of places where people have more free time to work on the interesting problems. The culture can vary so much from place to place that I'd suggest trying another shop before throwing in the towel.

link|improve this answer
feedback

Any job can have its share of problem-solving challenges, particularly if the definition of a problem is vague, e.g. if I am a waiter, how often do I check up on tables, when I do X and how do I optimize any trip I make within the restaurant, how do I get better tips, etc. Yes there may be some mundane or eccentric answers but it is something that I don't think many people consider in their lives.

Academia would seem like one avenue if you want to get into new things and researching various technologies. A key point is what kind of work environment do you want to have? You could be a consultant that helps smaller shops get a grip on the Software Development Life Cycle or make suggestions to improve their productivity. Which kinds of software development methodologies, e.g. waterfall, extreme, agile, do you prefer and where do you think you could find those?

12 Questions that matter may be another way to get the introspection you could use to see what makes sense in terms of where you want to go.

link|improve this answer
feedback

Instead of a career change, how about a "management" change?

I'm not suggesting line management but rather something like "Tech Lead" or "Team Lead".

That allows you to use your hard-earned experience and utilise your problem-solving skills but removes you from the "code monkey" production line.

link|improve this answer
feedback

Or become an entrepreneur if you think you can manage it. That's probably as exciting, and chaotic, as it can get

link|improve this answer
feedback

I know exactly how you feel. I am also someone with around 10 years experience and thinking about similar questions.

I am well paid and am well respected as a software engineer and architect. At my level the only way 'up' (in terms of how my company sees things) is to move into management or creating new business opportunities. I have tried various roles in these areas but they mostly boil down to filling in spreadsheets and reports. OK you help out the junior team members using your experience, but it's not the same. It isn't nearly as intellectually challenging as designing and developing software yourself. I don't see myself as a 'code monkey', but I get the impression that my company is starting to see me this way and that I should be moving up to a 'higher level' in their eyes.

It's unfortunate that a management positions are considered above architects/developers even through the job is much less skilled IMO.

link|improve this answer
feedback

What about getting into a specific field or interest and exploring options with those? Personally, I got into performance and, hopefully soon, some windbg/debugging stuff. I'm sure that there are plenty of other positions available that tailor to whatever interests you have in the various fields.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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