“Why do you want to be a software engineer?” is not an easy question to answer. There are many reasons and they are different for each person. I wanted to share my reasons, consider this my Personal Statement!
I loved playing Battleship as a kid, but not the paper and pencil kind that dates back to World War I. I loved playing Battleship on a programmable calculator that my dad got me when I was seven. This little gadget could take in programs and produce results based on the information I provided to it. It came with an instructions booklet that contained a dozen programs and each had to be fed into the calculator, line by line, before any game could be played.
My favorite part of the process was spending 45 minutes to an hour programming a game before I could play it. If I made a mistake, I had to start over. Surprisingly, that made the process more interesting. I knew that I had to pay attention as the calculator could only perform the commands that I supplied. Therefore, the commands had to be logical, concise and, most importantly, accurate. I had no idea at the time that this was my first introduction to software development.
Fast forward about 20 years. I first heard of MOOCs (Massive Open Online Courses) when MIT and Harvard announced the creation of edX in 2012, a new open online course platform. The power of MOOCs is hard to deny, they bring education to the masses at low or no charge. By this time I was well underway in my career as a tax professional, working with interesting clients and solving issues related to optimal investment structuring and tax mitigation strategies. The news of edX creation planted a thought in my mind: there was a possibility to learn coding without going back to school and getting another degree. That was tempting.
I chose taxation as my career because it offers an opportunity to problem-solve within the given parameters of tax law. The law could definitely be dry, but the results are very real and tangible, primarily focused around increased returns on investment and reduced cash outflow (think paying less taxes). Attention to detail is important, as one word can often make a big difference.
I enjoyed working in my profession for the last 13 years. I spent the first seven years working at a large firm serving a diverse group of clients. I went from being an intern to leading my own teams that varied in size from two to twelve people. I ultimately decided to leave this firm and joined a smaller investment company that was growing its internal tax team. There I was able to focus on the needs of one company and really dive in and provide comprehensive tax advice that spanned multiple areas. I’ve been at this company for six years now.
I’ve learned a lot over the years working in a professional environment. I’ve developed relationships both inside and outside my organization and learned to utilize my network when I need some advice. I’ve learned to both be a productive member of a team and an effective leader. My current position requires frequent contact with company leadership, which can be daunting, but also exciting. I am close to the decision making process and am able to provide more tailored advice considering the interests of both the company and the shareholders.
All the while coding was in the back of my mind and every so often I looked at the classes available on platforms like edX and Coursera. This periodic search led me to the discovery of coding bootcamps that seemed to be popping up everywhere a few years ago. A restless mind is hard to tame and, upon some self reflection, I realized that I will not rest easy until I learn at least one programming language. That is how I ended up joining a self-paced software engineering program at the Flatiron School.
I wanted to ease into coding and a self-paced program provided enough structure and flexibility to do just that. The program wasn’t easy, but every time my code did exactly what it was supposed to do was terribly exciting! I was taken back to those days when, as a kid, I would spend hours playing with my programmable calculator. When the time for my final project came, I wanted to build something for myself.
One of my other passions is astrophysics and space exploration and with the number of private rocket companies increasing around the world, I found it difficult to keep up with all the rocket launches. So I decided to create a web app that would list out the upcoming rocket launches around the world. I wanted to have a database (PostgreSQL) that would store all the launches on the backend (built with Rails API) and I wanted my frontend (a React app) to send a fetch request to the backend API. It’s still a little wild to me that there was a time when I didn’t know what any of these words meant.
I prepared for my final review as well as I could. I went over all my notes and practiced talking about my code. The review was going fine until it was time for live coding. My reviewer asked that I add a search field and build some basic search functionality for my web app. It felt like this was the only topic I did not prepare for.
I think this is when my experience in tax kicked in. Don’t laugh, let me explain. Tax law is complex and there are a lot of exceptions to every rule. Nobody can be expected to know every detail, but tax professionals are expected to be able to talk about various options based on their knowledge and prior experience. Even if later you have to add to or revise your advice, you are still expected to talk about possibilities off the top of your head. So that’s what I did.
Although I’ve never built search functionality before, I started by talking about my data and how I would iterate over it. I talked about comparing my data to the input received from the search field. I planned to save the matches to a new array and put it in my state (this was a React app) to make sure that I can display them on the screen when the state is updated. By the time I was done it was clear that I talked through the entire process and the final act of building the functionality no longer felt daunting.
I passed my final review and graduated. I added that search field to my web app and pushed it to GitHub. I found that I was no longer able to go back to being a tax accountant.
As I look to the future, I am both nervous and excited. A career change is never easy, but I know that I want to be a software engineer. I also know that my prior experience is not a burden, but rather an advantage. I am able to think on my feet, to separate the important issues from the less relevant ones, and to focus on delivering an accurate work product. I’ve worked on many teams over the years and learned the importance of collaboration. I am excited to learn new things and am ready to work hard. I can’t wait for this new adventure!