I have a Bachelor's of Science in Construction Management, from Colorado State University (Go Rams!). How on Earth did I end up with a decade of software engineering experience?
I graduated in 2007, and went to work for CH2M Hill, a large engineering firm that has now been acquired by another company. They had thousands of employees all over the world and I had done 2 internships there during my university time.
Then... 2008 happened. I was on a "Junior Construction Manager Pathway" with lofty goals of working on some of the large mega projects and programs that CH2M Hill took on, such as the Thames Waterway, London Olympics and others. Of course with the giant financial crisis that went on worldwide, I was fortunate just to have a job and my role changed. I went from "training" to being a "fill in" where I could, bouncing between approximately 12 different places over the next seven years. In order, I went to:
There are some other stops to job sites, and offices, in other towns but those are the major projects I worked on. The saying I like to use is that "everyone put their wallets back in their pockets", understandably so. Its hard to justify a $50 million (USD) water treatment plant when you don't know what will happen next financially. And these projects required millions of usually government funded money.
It was, I would say, 2 weeks after starting a project in Salem that I decided I wanted to go back to school. I wasn't interested in the project at all, and it probably shown in my work. I had little to no mentorship and was doing tasks that I felt I was drastically overqualified for, or completely unqualified for. I had primarily worked on civil works (dirt, asphalt, concrete) and was taken out of that world near the tail end.
During this time, I had been making little games in Flixel and GameMaker, and had been really enjoying it. I'm not a great artist, musician, or anything like that but akin to my construction time, I had been enjoying the process of seeing something start as a blank canvas and it was fun to tinker in some narratives, even if short. It was this, along with another part of my life at the time, that made me decide to go back to university to study Computer Science. I already had a Bachelor's of Science, had decent grades, applied back to Colorado State and was in, simple enough.
I really enjoyed my time as a student again, I was more efficient with time management, saw some old friends, and made some new ones in CS. Some of the math was a bit difficult to wrap my head around at first as I had not been in an academic scenario for nearly a decade by that point and "construction math" is arithmetic with some slight trigonometry, and rarely used. Calculate the volume of concrete needed, in cubic yards, for a culvert and then figure out how many concrete trucks we'll need as they can only reliably hold 8 cubic yards. That sort of thing. Additionally, the price of university had gone up quite a bit in those 8 or so years away and I needed a job, which caused me not to do as great as I would have liked in some classes.
About 2 years in, I found the Ruby, Python, and JavaScript programming languages and really enjoyed them. This was around 2013 when interpreted languages and their frameworks were really coming into their stride with Rails, Django, and Express.
I found a coding bootcamp called Dev Bootcamp that taught exactly these things. Ruby programming, Ruby on Rails programming, and this was before React and a multitude of other JS frameworks took over but Ajax requests, SQL... it was immersive and hands on. My CS education was great but very theoretical, discussing Big O notation, Graphs, Trees, and solving problems that were well, not "fun", though I understood their importance. About half way through the bootcamp I decided to not go back to CSU to finish my Bachelor's and decided to gamble on myself (more than I already had with a career change) and just apply anywhere and everywhere. I had a couple thousand dollars left (not much for San Francisco), was living in a hostel, and would just go to Starbucks most days and work on projects and apply to jobs. After about 1.5 months, Wildflower Health hired me, and though my software engineer career has had its ups and downs (along with the industry as a whole), I can't thank them enough for it. Coincidentally, I received my offer letter the same day the San Francisco Giants won the World Series. That was a fun day.
And that's how I became a software engineer.