This post is really just personal reflection, something I’ve been trying to force myself to do more of, and shares the story of how I went from loving engineering, to hating engineering, to now pursuing web development. As usual, I’m hesitant to share a lot of this, but I realize how much it would have helped me to read someone else’s experience when I was going through the worst parts of engineering school, so if this helps one kid who’s about to crack because fluid dynamics is hard as shit, then it’s worth it.
When I started college at UConn I was really excited about mechanical engineering. At the time I was running a tiny manufacturing business out of my basement with open-source 3D printers I had built, creating tiny automated gadgets with Arduino and participating in my high schools robotics team. Those experiences, coupled with the fact that I had grown up knowing a lot of engineers, led me to believe that engineering was going to be a great fit for me and I was really excited to go to school for it.
The first two years of engineering school went OK. The classes were still fairly hands on, or at least the concepts were broad or interesting enough that you could understand where they might be applied in the future (statics, for example, was a pretty enjoyable class). However, the first inkling that maybe a career in mechanical engineering wasn’t all that I had hoped it would be came as my internship experiences started to stack up.
My first internship was at an MEP firm that specialized in sustainable design. Being a junior in high school at the time, it wasn’t so much an internship as much as it was a shadow experience just to get a feel for the field, and I just went in each day for two weeks to help where I could and watch what the engineers did all day. Well, they mostly sized HVAC components. They found the requirements for the given space based on the architectural drawings, looked at a chart in a book and picked an air handler unit, and then selected it for the building. It wasn’t really very exciting, and they didn’t seem to love their jobs. It was the first time being in the “real world” and seeing everyone complain about their work seemed so strange to me. I knew, of course, that people didn’t consider work “fun” most of the time, but the level of boredom and monotony they expressed made me feel like something was just, not right. I decide maybe it was just HVAC that was boring, and an internship in another industry might be better.
So I went to a mid-sized aerospace manufacturing company. I spent 2 summers and 1 winter interning here. I started out organizing filing cabinets (typical intern stuff), and by my final summer I was given some real projects, working right alongside the engineers. I got along really well with everyone I was working with and it was a great company, but again, I couldn’t get over people’s lack of passion/excitement regarding their work. All day people would just talk about how much they wanted to go home, sitting and staring at the clock tick by minute by minute. Admittedly, I was often bored too, staring at the clock just like everyone else. The only project I truly enjoyed was making an automated quality control template in Excel that would take defect reports, store them, and then generate graphs and allow month to month tracking on each product line. I loved it because I was able to take ownership of it, and steer in any which direction in order to come up with a solution to a problem that would help the company. (Last I heard, they were still using a version of that template) Other projects besides that one became quickly repetitive. This company didn’t often design any new products, they just manufactured existing designs as people ordered them. They were very highly respected in the industry, but since they weren’t really designing anything new, it meant most projects were centered solely around manufacturing efficiency and quality control. Don’t get me wrong, these guys were doing some really high-tech stuff and there was certainly some new development going on into manufacturing techniques that had never been done before, but my overall feeling when I left was that it wasn’t somewhere I could see myself working. I decided that maybe I just needed to find a company that was a bit smaller, maybe one where each person had a larger and more dynamic role.
For my next internship, during the summer of my sophomore year, I found a company that designed and manufactured robotic packaging equipment and thought that it would be the perfect fit. I was really interested in “mecha-tronics” (the intersection of mechanical/electrical engineering) because of how much I had enjoyed the robotics team and building and working with 3D printers. Right off the bat I was working in Inventor designing parts in CAD and even sending them over to the machine shop to get them manufactured and sent out to customers. It felt good designing real parts, working on real projects, and some of the guys there were really passionate about their work. Since it was a smaller company they each had big roles and a lot of freedom to make decisions for the products, but unfortunately I learned that they were working 6-7 days a week, sometimes 10-12 hours a day. I finally found what I thought I was looking for, and yet, I still could not even begin to picture myself being happy as an engineer there.
As I entered my Junior year at UConn, shit started to fall apart real quick. School was becoming more challenging as we started getting into the core mechanical classes like fluid dynamics and thermo, and all of the passion for the field and motivation to get a great job that I needed to meet them with was nowhere to be found. After 3 different internship experiences that ended with “I don’t think I can see myself working here”, I started to wonder “Wait, why the hell am I putting myself through all of this stress and misery in school?” Yet, I wasn’t sure of what else I would do either. So I was just stuck. Lost. For a while I frantically searched for alternatives. I considered switching to civil, or maybe geology (I like rocks), but found out that I was so far into the mechanical curriculum that it would take an extra year or two of school to finish those degrees. That wasn’t a sacrifice I was willing to make, so I decided my only real choice was to stick with mechanical.
I would consider rock bottom to be the second semester of junior year. I had so little motivation to put up with any of the homework, or ridiculously hard exams that I was just in this self-defeating circle of anger. I was pissed off about how hard everything was in school, but didn’t have the motivation to study enough to the point where I fully understood the material. When tests came around, I wouldn’t do well, and then I’d be pissed off about how poorly I did. I felt like I couldn’t win, I felt hopeless, and felt like I had lost a huge piece of my identity. For so long everyone knew me as “that engineering kid” as I was tinkering with arduino or 3D printers, and now I hated it, and I didn’t really know who I was, or even who I wanted to be.
The only things that kept me going during that time were the Mountain Bike team, and the Outing Club. Every chance I got, I would escape from the living hell that was engineering school and go out and rip around the campus trails on my bike, and on the weekends we would drive hours into the White Mountains or Adirondacks to go hike, climb, cave, or whatever. I loved it, and when I think back to my overall college experience the only times that I was really happy in those last 2 years was when I was spending time with friends I met in those clubs.
I started to value spending time adventuring so much, and seeing so little value in my classes/field, that I quickly developed a fairly radical viewpoint toward life, giving up on any hope of finding a fulfilling job in engineering and instead seeking a life of adventure where I was happy. I wanted to be a dirtbag. I wanted to say “fuck all of it”, and just give up on the idea of money/success and just find happiness climbing and hiking. You don’t need money to hike, after all, which means you don’t need money to be happy. I found other people that were doing it, plenty of them, and they became my idols. People living in vans traveling around the country, or backpackers moving from country to country year after year, working seasonal jobs making just enough money to sustain themselves and having a life filled with adventure. Vanlife became my religion. I worshiped the guys that had left their high paying jobs with the idea that you didn’t need money to be happy. I started looking at American society and how much time people spend miserable, working for a paycheck only to buy things they don’t need. All of the anger that I had toward school/engineering was being channeled toward this alternative lifestyle I had decided on.
Looking back I think it was equal parts good and bad for me to fall so hard for the dirtbag lifestyle. It was bad because it was so easy and consequently addictive to say “Who cares, I’m not going to be an engineer anyway” when things weren’t going well in school. At the same time, I think I needed to be able to do that, because I don’t know how I would have made it through classes like linear systems and vibrations without that cop-out. (There’s something very wrong about letting students spend an entire semester thinking they’re failing a class, only to curve everyone up to a B+ at the end.)
Junior year finally ended, and I had a potential internship lined up for the summer at a startup in Boston that worked with 3D printers. I figured if there was any way I was going to rekindle my love for engineering, it was going to be working with what had led me to love engineering in the first place in a company that had jars of trail mix set out for employees.
I turned it down.
It was an extremely tough decision for me, but in the end I just had nothing left to give to mechanical engineering. I felt like school had extinguished every last ember that was trying to burn on inside of me trying to hold out hope for engineering.
So, I started coding. I decided I would spend the summer learning Python, and got to work going through Code Academy and started paying for Treehouse. It went well at first, and I made a lot of progress throughout the first month or so of summer, but then ran into what I now know was the “What now?” wall. Once you learn basic syntax and coding principles on Codeacademy, the curriculum just stops. Treehouse was similar, and though the curriculum went a bit farther, the pace was way too slow for me. (Once you’ve learned what a variable and boolean is 6 times on 6 different tutorial websites, it’s hard to sit through another lesson on variables and booleans). You get to the point where you know all the basics, but they don’t really give you the resources to start writing useful code outside of their little mock dev environments.
The other problem I was running into is that I was getting increasingly anxious about not really doing anything with my summer. I was coding, yes, but I was also sitting at home without a job. When I turned down that internship I thought not having a job would be awesome, but it ended up being extremely stressful because I felt like a loser. So I went on craigslist and found work. First I helped move new furniture into hotel rooms, then worked demolition (Can you picture me operating a jackhammer?) and then found an amazing job helping out an older woman who had a small sheep farm.
This was a good summer, and I learned a lot about myself at just the right time. I learned that I didn’t hate work, (something I had come to fear coming out of my internships), but that I really enjoyed it. I felt really fulfilled coming home after loading up bucket after bucket of concrete debris, or digging holes to plant trees at the farm. It was really refreshing, and I took my enjoyment doing manual labor to mean that I would totally be happy living in a van, traveling around doing seasonal work. Just before senior year came around, I bought a van, and that was the first concrete, “holy shit am I really doing this?” step toward van life.
Senior year wasn’t great, but it was better than junior year. Things were starting to wind down a bit school-wise, especially in the spring, and as graduation approached I started to have second thoughts about my whole van life idea. All of my friends were applying to jobs like crazy, and while at first I was standing firm on my alternative lifestyle plan, the peer pressure got to me and I started to send out a few applications. (3, maybe?) But that was it, because I only applied for jobs that I thought sounded interesting, and most of the job descriptions for mechanical engineering sounded wicked dull.
A month or so before graduation, my path became a bit more defined than simply “I’m gonna live in a van”, when I got an offer to be an intern mountain guide up in New Hampshire. Guiding is something I had my eye on for a while since I loved the outdoors, but since I’m not an all-star climber I didn’t think I would ever get anyone to even talk to me about getting started in the industry. Once I found the right people (through Instagram, of all places) I realized guiding had much more to do with teaching and customer service than it did with climbing ability. (Climbing knowledge, very important, ability to lead 5.10, less so). Luckily, since I had led so many trips with the outing club, I ended up being a really good candidate for an intern guide. So that was the plan, I was going to live in a van, be a mountain guide, and if all went well, I would just keep guiding.
However, I decided I wasn’t going to just guide. I was going to code. I had a job ( a really cool one), so I would be able to sustain myself and wouldn’t feel like a loser as I had the previous summer, but I would have a lot of time on my days off to really just sit down and dedicate to really learning how to code. My motivation for learning at this point was really just the culmination of every previous attempt I had made learn to code. From messing around in visual basic in middle school, taking an AP Computer Science course in high school, and then taking another computer science course in college and finally trying to learn Python after turning down that internship offer, I always ended up feeling like I was getting right up to the point where I’d be able to implement ideas and turn them into real apps, and then the class would end, or the tutorials would fizzle out. I wanted to finally crest that final hump which for so long seemed like it was just out of reach.
In addition to that, I realized that if I could get good enough at coding I could freelance or work remotely. There’s no better way to live the van life than to work remotely in a high paying job. Then you can get a decked out Sprinter!
Unfortunately my van died after only 3 weeks in New Hampshire, but that’s another story. Anyway…
I had all the drive I needed to get started learning how to code (again), and while looking for “What language should I learn?”, I stumbled across The Odin Project, a free online curriculum which taught web development with Ruby and the Rails framework. The difference between the Odin Project and Code Academy and Treehouse is that it wasn’t quite as polished, which is what makes it perfect. You don’t code inside some little virtual text editor, you actually set up a real freaking text editor and write real code files and actually upload them to github. There were so many moments within the first week of going through the curriculum that I was thinking to myself “Holy shit, is this really all I needed to do to start writing real code?” I decided that was it. No more jumping from language to language. No more getting sidetracked into the latest and greatest tutorial or free course or curriculum. I was going to just once, finish the entire curriculum, learn one language really well, and then decide where to go from there afterword.
I’m now coming into my fourth month of The Odin Project, and every day I’m feeling more and more like coding is an extremely good fit for me and I couldn’t be more excited about it. It has all of the problem solving and critical thinking that had originally drawn me to engineering, and everything just flows so well when I’m working on projects. It’s really incredible how zoned in I can get when I code. I get into a rhythm and I swear it’s like I can’t even hear things anymore and my vision doesn’t extend past my laptop screen. I love being in that state of mind, and more and more I’m realizing that if I could go back and do it all over again, I may have gone toward a computer science degree rather than mechanical engineering. I never really though about all that time I spent making little apps in visual basic back in middleschool for fun, or how during robotics club I was the “code guy”, or how the most enjoyable part of all my internships was making that automated graphing template in Excel.
I think a huge part of why computer science wasn’t really on my radar going into college was that I had no idea what the hell computer science really was. I knew tons of engineers, I knew what their jobs were, I knew what it meant to be a mechanical engineer, but I didn’t know a single software engineer or web developer. In high school we had plenty of engineering classes but not a single computer programming course (I took one online). My interest in coding just sort of got pushed to the back burner as I ended up in so many courses that were teaching engineering content.
I’m not regretful, though. I’m happy to have a 4 year degree in engineering because no matter what that holds a bit of weight, and luckily the math background makes it at least somewhat relevant to computer science/coding.
Moving forward? For now, I code. I’m trying to learn as much as I can through The Odin Project and within the next few months I’m hoping to be at the point where I can begin working on some personal projects to add to a portfolio and gain some experience implementing real solutions. By the time Spring rolls around I’ll be done with the busy winter season of guiding and I’ll be looking to move to the Boston area. I’m an extremely big believer in the idea that you need to surround yourself with people who are more experienced than you in what you’re trying to learn, and being in the Boston area would enable me to start attending meetups and grow my currently non-existent network of developers and software engineers. Luckily as a guide, I’ll be pretty qualified to work at a rock gym down there, which would be a pretty sweet gig while I continue to learn and look for my first job as a developer.
Getting that first job isn’t going to be easy, but I have very high hopes and a strong feeling that this is the right path for me, and although engineering school beat the living shit out of me in more ways than one, it failed to destroy my personal belief that (with the help of my extremely privileged background/upbringing) I can do anything I want if I truly dedicate myself to it. Engineering failed to earn that level of dedication as I lost the vision into a fulfilling career as a mechanical engineer, but for the time being, coding has that level of dedication, and I’m extremely excited to see what the next year brings.