I often see people posting on the /r/cscareerquestions subreddit questions about what is involved in migrating to a career of software development. I’m in the enviable position of having completed that step, and I’ll share my background in this article and will cover my migration to software development in a future post.
I graduated in 2008 with an Engineering bachelor’s degree in Mechatronics. I enjoyed the work, and the combination of electronic, mechanical and programming was appealing to me.
I ended up working as a vanilla mechanical engineer due to the job market at the time. I did it for 3 years, during which I worked on:
Amongst other things.
Deep down I wasn’t getting the enjoyment I wanted out of it, mostly because there was nothing technologically oriented in my work. I made sure pipes were being delivered, I made sure mechanical steelwork was in the right place at the right time.
I switched to control systems engineering after 3 years. This was already a big career change and I had to start from the bottom again as a graduate. Working in control systems/process controls was amazing, and much much closer to my original vision of mechtronic engineering. I was working on:
So far so good! I was working with computers, I was working on industrial machinery, I was doing something I was actually good at.
One of the disadvantages of working in the mining industry is that you need to be away from home for long periods of time. During my six years of my time in the mining industry, I was probably away for three of those. The last site gig I had required me to be away for an entire year, for 3 months at a time. In the middle of a jungle in Ghana, West Africa. It was a unique experience, but not one that I was willing to repeat.
After a couple of years, I eventually got laid off from my (2nd) gig as a control systems engineer. Looking for further work posed a few problems:
As I laid in bed after three months of job hunting, my girlfriend just said to me:
You’re spending all your time tinkering around with computers. Why don’t you look for work in software development?
That got me thinking…