Playing With Magic: Why I Chose to Pursue a Career in Software Engineering

Posted by Joel Kelly on April 5, 2020

I’ll be honest - when I started writing code for the first time, it was an incredibly frustrating experience.

It was a simple assignment - some sort of very basic data processing and visualization to be done during my first semester as a mechanical engineering student at Duke. I can remember being so frustrated, because the IF/ELSEIF/ELSE logical tree structure just hadn’t clicked yet in my head. I couldn’t understand the AND and OR relationships I was supposed to be implementing - and to this day, I am so thankful that I raised my hand and asked for help.

A good friend of mine who was also in the class sat down with me and explained how logic works in writing code. He explained it in such a way that as soon as he was done explaining, it seemed like the easiest thing in the world to me. I laughed once I realized - code always does exactly what is supposed to, when it is supposed to, and errors only occur because humans have put in the instructions incorrectly!

It was like magic, but also logical and not rocket science. I loved it. I actively looked forward to completing the data visualization portion of the labs in that class, because writing that code (which was in MATLAB) gave me so much joy… and not just seeing the final product, I actually loved the process of arriving at the solution as well!

Fast forward a few semesters. I was way ahead of my mechanical engineering curriculum in terms of completing various requirements, so I decided to take a computer science elective since I fondly remembered the nights spent writing my MATLAB scripts for those labs. It was certainly challenging, especially since it was an additional class on top of my already packed semester with engineering courses and a math requirement. However, through all of the late nights, I once again realized that I loved the process of writing code. I loved de-bugging - yes, you read that correctly (I still do!). I loved the concept of algorithms, and all of the fun and creative ways to arrive at the same solution.

Unfortunately, I never latched on to that subject. I took some more electives, and ended up working in the technology space as a Technology Consultant - which meant I was working with software engineers, but wasn’t actually writing code or building whatever product we were working on. I guess it took some time to really sink in… but I didn’t want to just be directing operations. I wanted to be building. I actively enjoy the process of writing code in a program, so why would I deny myself joy and the chance at a career that I’ll actually love? Well, the answer is that I won’t.

I’m going to play with that magic every day - and I’m going to become a software engineer.