Taking the Leap

May 12, 2025

Expanding Possibilities

I quit my job two months ago, which is also when I "officially" started learning to code. I'd spent all of 2024 learning Visual Basic and applying it to everything from CAD automation and project management tools to wedding planning and floor plans. Reflecting on the last year, I'm reminded that many of the things in life I enjoy most come from chasing an inner-childlike fascination with the world and building cool things.

When I was a kid it was LEGOs. After that came Minecraft, which was essentially "infinite LEGOs in a world made entirely out of LEGOs". When I realized no one was going to pay me for playing Minecraft, I discovered CAD and mechanical design engineering, which was essentially "hey you can keep building whatever your heart desires, but then we can actually create it in real life, and people will actually pay you for it."

I guess it's possible to view the expansion of each of our individual worldviews like the Industrial Revolutions; some new breakthrough leads to swathes of new possibilities, opportunities, and better quality of life. It just so happens that we entered the Fourth Industrial Revolution (4IR) in 2016 (or at least a couple smart people say we did), which describes "rapid technological advancement in the 21st century", especially pertaining to "the joining of technologies like AI, gene editing, and advanced robotics, that blur the lines between the physical, digital, and biological worlds."

My own 4IR was initiated when the vast world of computers and software engineering was opened up to me. My conception of how computers worked was like thinking electricity simply comes from "the wall" - I essentially believed that "the limit of what I can do with a computer is whatever the program/UI allows me to do". But by pulling back the curtain, I transformed that belief into "everything I do on the computer is actually running on code - what I can build is infinite."

Taking the Leap

I was giddy. I was excited to get up early, get to work, code, and often ended up coming home late (sorry Sophia). All I wanted to do was learn new programming concepts and build new tools that would help our team be more efficient - to the point that I had a hard time focusing on my actual job responsibilities.

The company is in the old-as-the-hills railroad trackwork industry, and it was my belief (whether or not I was right) that they had failed to keep up with current design methods and technology - and that was even before the recent onset of AI and 4IR tools. Much of our design work was tedious, repetitive, and inefficient. In my eyes, learning to program and designing new systems was much more important than sticking to my job description anyways.

After a year and a half at the company - of which more than 9 months were spent trying (unsuccessfully) to get my job description to actually match what my day-to-day responsibilities consisted of - I'd had enough.

By the way, this wasn't just me shirking my job, coding instead, and expecting a promotion - I was regularly meeting with my manager and his manager about the value of these tools and making plans to catch up with the times. Being a "yes man", I ended up accepting responsibility for what I would consider 2 full-time jobs. Throughout the next few months of repetitive work, knowing that a better way existed and that our competition was already ahead of us, I felt my drive disappear.

So I quit.

No backup plan, no job lined up, not even a job search was on my mind. All that I could think about was learning how to be a competent programmer as quickly as possible and then being able to build cool things and financially support myself with it - simple enough, eh?

Not So Funemployed

I wish I could say that quitting solved my problems, that having an extra 10 hours every day meant I did a ton of productive things, or even that learning to code at all was going well.

It didn't, I didn't, and it wasn't.

Instead, the sudden lack of structure in my life knocked me on my ass. On top of that, I had the expectation that learning to code would be just like learning VBA, and while certain aspects do carry over, I learned very quickly that being truly competent at software engineering requires a vast breadth of knowledge and experimentation, a superior mind for abstract thinking and mental modeling, and, maybe surprisingly, a lot of emotional intelligence and self-regulation.

And finally, I was also greeted with the realization that even the very simplest things built with code can still be amazingly complex to build and understand. My friend Parth, who was in Fractal's first cohort, infamously said on day 3 of bootcamp: "...the instructors walked me through how to update a simple checkbox and I just repeatedly thought 'I cannot believe it is this hard to do this thing'". He also has a timelapse of the 45 minutes it took to render a list of tasks in React)

I spent a few weeks trudging through parts 0 and 1 of Fullstack Open, but I felt like everything was going over my head, or that I was now entering a world nothing like what I was used to from Visual Basic / Excel. I spent the next couple weeks going down a Pokemon ROM hack rabbit hole, learning to parse through massive amounts of code. Amazing and interesting, but again felt above my skill level. "I cannot believe the sheer volume of code that is required just to run a simple game like Pokemon", I thought. Feeling defeated by that, I sunk into Opus Magnum and Balatro for a week or two.

Restoration

All the while, I'd been waffling on the idea of doing a bootcamp, and which one. Looking back, I knew that Fractal was the right choice instantly, before I was even ready to quit my job, but it wouldn't be until months later that I finally made the commitment.

The moment came during a conversation with my wife and her family, and they said a few words that just made something click in my brain: "You can do this Benjamin. You're allowed to do this." Part of what was preventing me from allowing myself to make a good decision for myself (that's a mouthful) was that I didn't want to leave my wife for 3 months right when we were trying to move out of Cleveland, buy a house in Columbus, and move into said house.

But that was just the subconscious facade - the real reason that I waffled for several months is because I was afraid to give myself permission to do something that had the possibility of failure. Sounds silly, because everything has a possibility of failure, right?

Regardless, making the decision to do Fractal felt like a massive weight was lifted from my shoulders - I suddenly had a razor-sharp focus and my drive that had disappeared during the last 6 months was back.

Competence & Convergence

I started blazing my way through the HTML, CSS, and JavaScript Scrimba courses and Fractal's list of pre-course materials. Today, I finally came back to Fullstack Open and so many things make sense now. I know I'm on the right track.

The past few days have reminded me of the beauty and fulfillment of being a competent engineer. When I'm depressed or unmotivated and try to learn something new, I get annoyed that something isn't the way I expect it to be; learning in this state feels like a monumental chore and all I crave is for things to be "easy".

However, the last few days have been different. Learning is an enjoyable process again and running into obstacles prompts curiosity rather than frustration.

I feel driven to become a competent engineer.

And that's important for many reasons: one of them being that I've always been seen by others and myself as a "jack of all trades". I'm athletic, smart, funny, creative, energetic; I got good grades, have good friends, have a good life; I love puzzles, games, hiking, skiing, squash, volleyball, coding, writing, etc. - I feel like I'm always being told "you're so good at so many things!

However, I've never felt great at any one thing in particular. I usually get to the "good" level within the first couple days, to the "impress-your-friends good" level by the end of the week, and "better than most" if you give me a month. The flip side of this is, of course, that I tend to lose interest at this point and it's onto the next thing to learn.

Now must be a time of convergence, narrowing, zooming in. Quitting my job gave me an opportunity to diverge and consider new possibilities, but this would be for naught if I didn't commit myself to converging on a great new opportunity. I have a long way to go, and becoming a great engineer will be anything but breezy or pleasant, but I'd rather take that path than to part ways with my inner child.