Definitely winding career path
I’ve had a unique career, starting as a structural engineer and transitioning to software engineering. My story is becoming less and less unique, and I hope by sharing my process, I can encourage others to consider career changes as well.
First loves: architecture and structures
My interests were quite varied when I first started considering my future. I was always more inclined toward math and science, and was excited about engineering. At first, it was mechanical engineering that caught my eye. And then I got excited about structures; the closeness to architecture and design but with a connection to the physical requirements were the inspirations for me to focus on civil engineering. I had enjoyed coding in introductory computer science classes, but to be honest, I was afraid I wouldn’t be able to cut it.
I thought I’d go with a field that I was doing fairly well at. Not to mention, I had a penchant for design and loved the physical aspect of architecture and engineering. I could see what I was designing, and there were real life applications of what I wanted to do. It seemed to be the perfect fit.
Finding what I actually wanted to do
All of my studies in structural engineering were interesting; I had a great department when I was starting in the field, and learned more interesting behaviors as I got more specialized. But then industry was different - what I had studied and what I was doing were different.
I didn’t love the rote work, and it felt as if the field struggled to innovate, especially with such lean margins. I got interested in coding more, teaching myself Python at night after working a full day.
It led me to discover the field of predictive analytics, using machine learning. I got so excited by the idea of learning something new that I decided to do a bootcamp focused on that, creating a project based on a large data set of photos and videos: Predicting Travel Patterns Using Flickr
Needless to say, I had no idea what I was actually doing there. I applied some out of the box machine learning algorithms from a free library and made some predictions based off that. But the process was so much fun that I sacrificed sleep for the purpose of doing the project. That’s when I knew for sure I wanted to switch.
That’s when I got my first break - I was interviewing for a position as a structural engineer and ended up chatting with the head of R & D, and when I talked about my interest in predictive analytics, it seemed to be a great fit. I ended up with an offer there and went to work in the research group.
On the first day, I was asked to start writing a web app. And that’s when I started learning web development; on the job, as I needed.
Transitioning away from structural engineering
I loved learning to develop web applications. There was instant feedback to what I was doing all the time, and I loved the mixture of my interest in coding with some knowledge I'd developed of architecture and engineering.
One of my favorite projects there was called Asterisk, and it was a web application that would take a 3D model of a building massing and, through the use of a geometry service written in C# and a machine learning service written in Python, stitch together results to product a structural frame for that building massing, complete with metrics. It inspired the work we had done at a hackathon for a project called metashape, whose goal was to catalog qualities of buildings and cluster similar buildings together.
Once I was fully immersed in web development, I even got the chance to teach a small workshop on building web applications using Vuejs, MongoDB, Node and Express for the web application setup, and McNeel's Rhino Compute to provide geometry actions. The application would again take a closed mass and, provided with floor elevations, provide a list of floor areas.
This type of application was the essence of why I loved programming and why I ultimately chose software engineering - I had found a way to build an interface that would provide someone with the information and tools that they wanted. Getting to work in tech and learn more about building applications appealing to millions of people in a well-designed, scalable, and approachable way drives my motivation now.