I have been a software developer for 11 years. During these years I worked for number of companies, sometimes changing places twice or three times a year.

They say it takes 10 years to reach 'expert' level, and while I don't think I am an expert by any measure and I have certainly met lots of people who are more knowledgeable, smarter and more focused than I am, however I think it is safe to say that I had my fair share of the whole programming thing and would like to move into something else.

I still get the thrill when a piece of code I've been working on finally starts doing what it supposed to do and things fall into places; I still like discovering new techniques and learning new technologies, although it has got kind of repetitive - I can already see the patterns in this process. It was fun to crack open new things like python, node.js, html5 etc. but after some time it has lost some of its appeal.

Psychology and people's behaviour has always been something interesting for me, especially the practical, applicable bits. Recently I've been to some communication skills training and I realised that I have been missing out on the great deal of fun stuff - how people work and communicate, especially in subconscious, non-verbal area.

I also find fields of Design, typography and UX to be quite interesting, maybe because they are deeply rooted in human psychology and have to take into account various behavioural quirks.

Currently I am thinking of making a career change - ideally moving somewhere my technical skills would still be beneficial in some shape or form. Obviously I have some financial commitments already and would prefer a rather gradual transition.

What are the steps I can take to figure out what I really like and what can make an interesting career going further?

  • The answers so far are full of suggestions for possible career changes, but I interpreted your question to be more about a process you can use to find your own possibilities. Which did you intend?
    – ColleenV
    May 5, 2015 at 19:59
  • You could become an elementary computer teacher like I did, provided you are willing to accept like 1/2-1/3 of your current salary to start. Uh... my IT job sucks so it wasn't that much of a pay drop for me though. Jul 17, 2015 at 21:27
  • 1
    Closed (55 up-votes and nearly 3 and a half years after the fact)...yet no less than Jeff Atwood himself cross-linked to this post while closing this question as a duplicate. Considering the favorable response to this one as well as its - IMO - concreteness, generality, and potential helpfulness to a wide audience, I would humbly suggest reopening.
    – tjbtech
    May 5, 2017 at 23:03

5 Answers 5


For a software developer there are a number of paths you can go in your career.

  1. Management, which is further divided into
    • People Management
    • Project Management
  2. Top-most level of software engineer/architect. See this relevant discussion
  3. Breaking off into independent consulting.
  4. Doing a start-up or small business
  5. Academia

Based on your question, I think the latter 2 choices might be what you're looking for. It seems you're interested in Human-Computer Interaction, and that is something you can explore in a Master's Degree or PhD.

Otherwise, you're describing a position that dons a few hats: technical/developer skills, design, communication. That type of position you would only find if you joined a startup (where you're oftentimes expected to wear more than one hat) or started your own thing.

I'd recommend the book Quitter. It will "help bridge the gap between your day job and dream job". :)

  • 2
    I would further decompose item 1 into 1a) People Management and 1b) Project Management (since at many firms they are different jobs). Apr 11, 2012 at 1:01
  • 2
    I would not recommend a late career PhD or a Master's degree within what can broadly be considered the same discipline. Your options after that will be very limited (PhD) or essentially more of the same (M.S. in same discipline). If you choose a Master's, I would recommend a more distantly related field (e.g. Linguistics) where having a broader background will be advantageous.
    – Eric
    Jan 13, 2015 at 2:44
  • I agree with the assessment from @Eric. I did this and it offered very little value beyond the "brag" factor.
    – Jane S
    May 5, 2015 at 22:13

Even once the technical stuff is no longer the challenge, people will always remain a challenge. Learning to communicate technical concepts to non technical people is a rewarding endeavor. That can mean management, pre sales engineering, or a whole host of stuff.

Ultimately, computers are easy because they will always do what you tell them. People are not - so if you can learn to interface between the two, you'll never get bored (frustrated, maybe. Psychotic, possibly, but bored, never. ) Being able to bridge the two is a career.

  • Sometimes being a consultant puts you more in a teaching role. You mastered the techniques, but now how do you fare teaching, guiding and coaching others? Indeed, computers are easy, people are challenging. Apr 11, 2012 at 1:48
  • 2
    Hmmm...I have the opposite opinion. Most people bore me. Computers, nope. There's an endless amount of things to do and learn with a computer.
    – Dunk
    Aug 7, 2012 at 20:34
  • this's what i'm looking for only if it pays well. I'm a 7 years experienced Magento developer but i'm like lost in the field and have no idea what i want but this one sound about right. i'm good with magento but ever since i left a product based setup, i'm not happy at all.
    – R T
    Oct 29, 2017 at 10:45

One possibility which hasn't been mentioned by other answers is becoming a Scrum Master. As you are fascinated by people and human interactions, this could be an interesting path, especially if you are interested in Agile software development methods or specifically Scrum.

The Scrum Master is not project manager, nor team lead, albeit in some places they can mix the two roles (which may not be ideal, but as you have a solid developer background, it may actually ease your transition). The Scrum Master works on bringing out the best of his/her team, by mentoring, coaching, challenging, motivating, questioning current approaches and ways of thinking etc. Eventually a seasoned Scrum Master may grow into an Agile Coach and/or start an independent consultancy.

The other prominent role in Scrum is the Product Owner, this might also be a viable option for you although this may be a less technical role (depending on the domain and the type of product).


These are excellent answers but there are potentially a few other careers for you, depending on your skill set and interests:

  1. A move to finance. There is a significant demand for experienced software engineers at places like banks and hedge funds for machine learning, algorithmic trading and portfolio management roles. These roles can be a great entry-point for a software engineer looking to transition careers while getting recognized for their prior experience. An example list of such roles is here: http://tapwage.com/channel/artificial-intelligence-meets-financial-intelligence

  2. A move to a senior role at a startup. Look on a site like angel list (www.angel.co) where there are a lot of startups looking for co-founders, CTO's and senior technologists, to not just code or architect applications, but to help construct the vision and be part of the venture at an early stage. Many of these roles can leverage your technology background early on, while giving you room to grow into other roles like product management, marketing or sales as the venture grows. These could also be roles that utilize your diverse skills and interest like design, UI, human psychology.

  3. Finally, you may not have considered non-profits and sustainable for-profit organizations (B-Corps). Organizations like the Bill & Melinda Gates Foundation are constantly seeking skilled technologists. Like startups, these could be broader roles where you utilize your technology and programming skills while also leveraging your other interests to identify how innovative social solutions can be deployed - whether its in education, or healthcare, or agriculture.


From what you're expressing it doesn't matter what you go into, you will always find a point it's less 'exciting' than when you first started.

Imagine you did psychology all these years and are just now looking at coding and programming and thinking 'I think I want to code now, that looks far more interesting to me'. Everyone does this, it's inevitable that we get bored if we do the same thing all the time. You could try further growing, create new systems and technologies with the stuff you've learned - don't get stuck in the rut of 'only learning something if I haven't touched it yet' become better and more proficient in the things you do know, expand on them, reach places no one has in your current tech before, push the industry, etc... work on a program that dives into these things - maybe make a program with an AI that reacts on these psychological inner subconscious reactions while talking to people in the field and try to make it your full time job and go independent - something not a lot of people could do because they don't have the skills you have.

Molding your skills to fit into the things your interested in would be best for you financially while also letting you fully explore and dive into them on the levels you want - merge your interests and your talents.

Not the answer you're looking for? Browse other questions tagged .