16

How can I make a career shift from being a software developer to something less stressful without completely disregarding my background and skills?

Some details:

  • I've been working as a software developer for 8 years.
  • I have a B.S. in Computer Science.
  • I've had 6 jobs during this time, all ending either due to stress or stressfully-high expectations.

I've become progressively unhappier, even depressed, with these jobs over this time, and am starting to consider that the career may not be for me at all.

I'm seriously considering changing careers, but I want to keep it related to my skillset.

Is it possible to make a career "half-switch" to something related that may fit my personality better while still utilizing at least some of my skills?

What positions exist that can use my Computer Science and Software Development background at least somewhat while being less fast-paced and anxiety-inducing than traditional Software Development? What would be the best way to go about finding an alternative career/position that allows me to make use of my existing skills?

closed as off-topic by IDrinkandIKnowThings, gnat, PeteCon, Dukeling, Jim G. Oct 31 '18 at 1:12

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking for advice on a specific choice, such as what job to take or what skills to learn, are difficult to answer objectively and are rarely useful for anyone else. Instead of asking which decision to make, try asking how to make the decision, or for more specific details about one element of the decision. (More information)" – IDrinkandIKnowThings, PeteCon, Dukeling
If this question can be reworded to fit the rules in the help center, please edit the question.

  • Comments are not for extended discussion; this conversation has been moved to chat. – Snow Oct 31 '18 at 6:44
  • It's a diagnostic question. Some software roles have unrealistic expectations around time and people. The root cause of the – user1605665 Oct 31 '18 at 7:17
9

I have been working in development for over 30 years. I have been in jobs that were hell. The one I've been in for the past 10 years has been mostly a delight. The difference? Not 'what' I'm doing, but 'who' I'm doing it with, how they relate to each other, and what the overall corporate culture is.

Unless you truly simply don't like development itself, I'd suggest reconsidering what you believe the problem to be, use the analytical skills you've developed as a developer to determine the specific things that are causing you stress, and see if there is an employment situation out there that better fits the person you are.

  • I kind of agree with this somewhat. It's theoretically possible that I could be happy working with the right people, and that I just haven't found any such place yet. Although, I've found that it's very difficult to judge this aspect in just an interview or the like, without actually getting the job and seeing what it's like first-hand. – Southpaw Hare Oct 30 '18 at 20:21
  • 2
    The "who" part is a very good point. glassdoor includes comments from past and present employees, and those can give a glimpse of working life on the inside. Take the comments with a grain of salt. – donjuedo Oct 30 '18 at 20:48
  • 3
    "It's theoretically possible that I could be happy". To this remark my very best friend who happens to be a therapist would point out that only you can decide to be happy or otherwise, regardless of your environment. (At my last interview my would-be boss asked why I wanted the job. I told him my wife thought there was nothing sexier than a man with a paycheck. When he hired me after that, I knew the corporate culture was a good fit.) – mickeyf Oct 30 '18 at 21:48
  • 2
    Upvoted. The easiest jobs to get are with employers with high turnover who are desperate for staff. If possible, try to be more discriminating about accepting offers. – Gary Myers Oct 30 '18 at 22:20
15

By your own account, you've had 6 jobs in 8 years and you "have a hard time understanding large legacy codebases." Each job switch brings its own stresses: new rules to learn, new pecking order and new legacy code base.

I recommend first staying at one job longer. Even the ugliest code base should start to make sense after a while or you'll have more seniority to refactor it.

I recommend you taking some time to read about and interact more closely with the roles you're interested in at your current job if possible. I've spent some time in a lot of software engineering jobs: Test Automation Engineer, Software Engineer, DevOps Engineer, Technical Program Manager and Product Manager. It's all relative, but I found software engineer by far the least stressful. The manager roles are more difficult because it's about getting other people to do things while having no formal authority over them. There's a lot more politics involved. For DevOps Engineer being on-call rotation while on the weekend means I can't fully relax. For Test Automation Engineer, black box testing is okay, but white box testing without the ability to change the other people's code (refactor/comment) that you're testing is pretty terrible.

There are pros and cons to each of the roles I listed, but I think you need to define what "stressful" means to you.

  • 2
    It's usually not quite as simple as your first suggestion. It's not just a case of me deciding that I don't want to keep trying - I'm also often failing to meet expectations of learning these codebases fast enough. In many cases, I'd be forced to leave if I didn't choose to myself, one way or another. – Southpaw Hare Oct 30 '18 at 21:38
  • 1
    @Southpaw Hare, sure I understand. I think your question is a bit misleading though. You're just going to be trading one stress for another by switching roles or you're picking the wrong jobs (or they pick you). – jcmack Oct 30 '18 at 21:50
9

There are some testing positions out there, in which a knowledge of development is likely to be useful. You will have an advantage in automating tests, if nothing else. When I was on a testing gig, I found a horrible bug around 5 PM on Friday, and had a relaxing weekend. My wife also liked me better when I was testing than when I was developing.

2

Difficult question.

Problem is that software development industry is notoriously high stress, due to paranoid perception of the management that all developers are slackers given the chance.

All the Agile etc is created to control every single thing you do at work.

Every person generally have different strong suits and weaker ones, and it takes a great manager to distribute the work personally for each according to his abilities.

These managers are like unicorns, everyone knows about them but rarely worked with one. I was fortunate to, thou, and because of that see mistakes other managers make, treating their team as bunch of resources disregarding personal suites.

Due to low stress tolerance, for you i can suggest to consider switch to training.

In that setting you will have much more structured environment when presenting, experience will come in handy in achieving Microsoft and Unix trainer certifications. But being a trainer you would need to find your work for yourself, or start at one of the training centers.

Perhaps school will not need even trainer certifications, education may be enough.

  • Some management is paranoid that all developers are slackers. Some forms of agile and/or as implemented at some companies, is designed to squeeze more work out of you. Some managers are great, a larger share are terrible, the majority are in the range of benign (neither good nor bad), in my limited experience. – stannius Oct 30 '18 at 19:16
  • yep, my point exactly – Strader Oct 30 '18 at 21:57
  • 1
    "Problem is that software development industry is notoriously high stress" - citation needed. "paranoid perception of the management that all developers are slackers given the chance" - citation needed. "All the Agile etc is created to control every single thing you do at work" - citation needed. – BittermanAndy Oct 30 '18 at 22:23
  • 1
    I used "citation needed" as shorthand for "please provide some kind of evidence in support of this questionable claim" - nothing to do with famous people. For example, "Agile is created to control every single thing you do at work" is simply factually incorrect, and saying that something is "notorious" implies that it's widely considered as such, yet I'm aware of no evidence that software dev is widely considered, or notoriously, "high stress". Answers should be supported by evidence, not just "well, I reckon...". – BittermanAndy Oct 31 '18 at 14:28
  • 1
    @Strader, you hit the nail head on. Agile definitely created to control every single thing you do, that makes more sense since it never helped me do my job so I always wondered what was its intention. And yes management assumes you are lazy as an engineer and assumes you are lying about what you know how to do, unless you present them with a piece of paper OR you are on LinkedIn. Bizarre because you can game LinkedIn, but you can't game Stack Overflow Developer Story and reputations and badges and yet these owners dont respect Stack Exchange or Indorse.com – Daniel Mar 11 at 14:42
2

You might be well suited for a sales role in a software consulting firm, where deep understanding of software development is an important part of qualifying leads and projects. There are other development adjacent roles out there where coding skills and knowledge are a benefit but you are not writing actual code. Quality assurance, for example.

However, you might not want to give up on straight development work yet, if you seek out roles in companies that place importance on work life balance, or large non tech companies who need developers to maintain and build internal systems, you can find realistic low stress software development work. There are lots of these jobs out there, and they sometimes have trouble recruiting for them. Company culture, as much as specific work, plays a big role in how stressful a job is going to be.

  • 7
    A sales role might be different stress, not less stress – cdkMoose Oct 30 '18 at 17:56
  • That's true, the latter part of this answer applies to to sales also, it's more about company culture than the specific job description. – Cameron Roberts Oct 30 '18 at 19:30
  • 2
    um sales is much more stressful than writing code! – bharal Oct 30 '18 at 21:24
  • Depends on where and what you are selling. Sales for a software consultancy is not, in my experience, a high stress role. It involves sitting down with customers and walking through the challenges they are facing, proposing potential software based solutions your firm can provide, and then working through scoping and design so that the developers can estimate on the work. Sure if you are pushing some product to meet targets and sales goals as part of a high-stress sales team it's a stressful role, but that's not what custom software sales looks like. – Cameron Roberts Oct 31 '18 at 14:42
1

What would be the best way to go about finding an alternative career/position that allows me to make use of my existing skills?

The best way to find such positions is to talk to folks who hold positions which may be of interest.

Since you've been in the field for 8 years at 6 different jobs, you clearly have been exposed to folks who work in allied fields.

Approach some of them, ask to talk over lunch or coffee. Ask what they like and don't like about their role. Ask how they got to where they are. Ask them the kind of stress they see in their role, since that seems to be your primary pain point.

Over the years, I've talked with many coworkers about what it was like to hold the position I was holding at the time. I told them the good points and the bad points. And if they wanted I offered an opinion on how they might fare in such a position. I'm sure others would do that for you.

1

I would recommend getting the following books:

  1. What color is your parachute
  2. Brag The art of tooting your own horn without blowing it
  3. How to stop worrying and start living

Those books can help you arrive at your choice.

In the mean time, start networking and talking to people in the periphery of IT, try to find people who were programmers and shifted positions so that you can see what the transition is like. Talk to recruiters if you can and ask them about career shifts.

See if you can find anything on linked in, meetup, Facebook or other social media, and just talk to anyone who will listen and ask them if they know anybody who knows anybody.

0

Let's go with you don't want to be a developer anymore... period. There's a ton of roles around development, a few have already been mentioned, but I haven't seen QA (Quality Assurance) / BA (Business Analyst) roles mentioned and those are a lot closer to development than say a product manager or trainer lol. I've met people in IT who went from development to QA and they seemed pretty content: You work with developers, knowing a bit about development is extremely advantageous, and it's easier to forecast the workload because it hinges on development. BA would be a bit tougher, but may be more engaging, as it involves more work forming the workload (methodology agnostic).

  • If you go to QA - not a bad option - be careful to get a position that has test automation included and not just blackbox / run their code. – javadba Oct 30 '18 at 23:59
  • @javadba to add, good test automation helps make the QA role a lot less stressful. – RandomUs1r Oct 31 '18 at 14:30
0

What is/are your goals here - are you looking to find a happier work environment, or more personally appealing work?

Your question & comments mention that you have difficulty with high-stress/high-turnover environments. @mickeyf and several other commenters - myself included - can all attest that it is possible to find positive work environments in the software development business.

Glassdoor and other job-review sites are helpful, but you can also learn some pointed questions to ask recruiters/interviewers that may help you gain a "feel" for the workplace prior to accepting an offer. There are loads of books and articles on the subject, and it tends to be culture-sensitive, so it's hard to give specifics without knowing country/region/field/age/etc.

Certain fields within software are particularly good (or bad) in terms of turnover, autonomy, and work-life balance. My experience is that startups, game companies, and many mobile shops tend to dazzle with "cute" amenities and high signing bonuses, but are actually hard-driving workhouses. Larger, more established companies/entities with enough people to cover the work, and a broad worker base beyond tech, are better at letting you find your pace - although a crappy division/department manager can still spoil this.

As for personal appeal - what is it about legacy codebases that is putting you off? Unfortunately dealing with someone else's lousy code is often part of the job - even in software-adjacent fields, that ghost still haunts LOL. But one of the questions you can ask, or even glean from the job posting, is how much of the job entails maintaining existing code versus building something new.

It's worth taking the time to find a workplace+position that builds you up instead of grinding you down. Right now I'm making about 60% of what I could in the private sector (not including benefits, which are a significant plus). But I work with friendly, competent people, in a low-turnover environment (academia), and after initially cleaning up a legacy prototype (3-6mos), I now own the entire project (3.5yrs ongoing).

Do the research, learn the interview questions, and do a little soul-searching, and hopefully you'll find a place that suits you - and your skills.

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