DR

Why I Switched to a Career in Software Engineering

In 2020, I made the decision to quit my mechanical engineering job and to start work as a software engineer. I entered Hack Reactor, a 3-month intensive coding bootcamp, which was an excellent way to quickly learn the necessary skills to become a professional software engineer.

Below are some of the reasons that I decided to switch into software. If you’re interested in switching into a career in software, you may find the below list valuable, as you ponder whether making the change is right for you.

Interesting Problems

Software engineers consistently work on interesting problems. As a programmer, you’re essentially a well-paid puzzle solver. Mechanical engineering has its fair share of interesting problems too, but I found that too often, I would be sizing or locating a hole, selecting fastener sizes, or dotting my I’s and crossing my T’s.

Building

As a mechanical engineer, if I wanted to create something, I needed to have an expensive project approved, and the project would likely take years. As a software engineer, you can build basically anything you want with a laptop and an internet connection. When I was getting started with programming, I built a simple Twitter clone in a weekend and I was hooked.

Range of Opportunities

When I worked as a mechanical engineer in Portland, I would regularly look at the job opportunities in the area. There were a few exciting options, but not too many. Some cities are an aerospace hub or have a cool large company in the area, unfortunately Portland had a limited number of interesting opportunities. Software has tons of opportunities in basically every city. Also, every industry needs software! If you are interested in music, gaming, luxury brands, insurance, or literally anything – there’s a good chance that industry has a strong demand for software engineers.

Working Remotely

At the time of writing this, it is July 2022. Many jobs are now fully remote, so this reasoning may be a bit dated. However, software engineering is possibly the most remote-ready job. Many current remote jobs may move back into the office in a post-Covid work (if that’s even a thing), but software engineering will always have a plethora of remote roles. The ability to work from anywhere is really appealing to me.

Perks

It’s no secret that software engineering is an excellent field from a “perks” perspective (e.g. salary, vacation, work-life balance, remote opportunities, etc.). I believe that this trend is only going to continue. The field is growing substantially. If you would bet that the internet and computing is going to be a big part of the future (and in my opinion, you’d be silly not to) then it’s clear that software engineers will always be highly valued.

Regret Minimization

When Jeff Bezos left an investing job to start Amazon, he used what he calls the Regret Minimization Framework. He wasn’t sure if starting Amazon would work out, but he knew that he’d always regret not trying. I had similar reasoning for making this switch. It seemed like a positive move and I’d always regret not giving it a shot. Plus, if I decided I didn’t like it, I was confident I’d be able to move back into mechanical engineering (and with a new set of valuable skills). This was a powerful mindset that gave me confidence in my decision.

Building my “Skill Stack”

In Scott Adams’s “How to Fail at Almost Everything and Still Win Big,” he argues that there are two pathways to great results in one’s career:

  • Becoming the best at one specific thing (99th percentile or higher)
  • Becoming good at two or more skills (75th percentile or higher)

I’m a believer in the second path. So, I want to develop multiple skills to a strong degree, but I’m less interested in becoming world-class in one particular category. Right now, the talent stack I’m aiming for is to become great in the following:

  • Programming
  • Soft Skills (e.g. public speaking, communication skills, leadership, etc.)
  • Content Creation (e.g. video creation, writing, etc.)

If you’re personally interested in making the switch, ensure that programming is something that you would enjoy. The resources that I’d suggest to get started with programming would be the following:

All of those courses are free and excellent! If you enjoy the courses, keep going, and don’t be afraid to make the leap!