views:

678

answers:

7

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.

+10  A: 

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.

tvanfosson
+6  A: 

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!

Steve Moyer
+2  A: 

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.

Doug T.
+6  A: 

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.

Wedge
A: 

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.

nzpcmad
+1  A: 

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

Robert Gould
+2  A: 

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.

JB King