Skip to main content

The Hero's Journey-- One Person's path to becoming a developer

Not all careers are a linear, straight shot.

Often, careers can look more like a squiggly line!

"We think a lot about those black lines, forgetting that it’s all still in our hands."

— Tim Urban (@waitbutwhy) March 5, 2021

(Aside: To be sure, I took various odd jobs in Sales, as a juicer at a Smoothie Shop, and even at a Fish Smokehouse over the years. And took courses at a community college. Lived a wild life for a bit. But for this story-- to keep things focused, I will hone in on the main path-- the arduous path to the career and skillset victory of an autodidact.)

I began my career as an Environmental Lobbyist while in college. After college, I realized I needed an economically relevant skillset.

So, I decided to interweave three skills into an initial career as a digital marketer:

  • Campaign Management-- which I had experience in, as an Environmental Lobbyist. The non-profit, ReEnergize Texas, which I co-founded with a group of friends, passed legislation at the 81st Texas Legislature in 2009.
  • Event Marketing-- I worked as a Brand Ambassador and eventually a Field Marketing Manager, promoting and managing Field Marketing Campaigns-- which is the practice of promoting products at high pedestrian traffic events such as Music Shows and Trade Shows.
  • Digital Marketing-- I wanted to get into Web Development, initially from the perspective of Creativity and Graphics. As an Autodidact I taught myself Graphic Design, html, css, and also delved into some initial javascript, php, and sql. The former was quite easy-- but with the programming languages I barely had any concept of how they worked or what they were doing.

And that was enough to land some of my first roles.

Learning programming was a tough slog. I worked full time and I'd teach myself programming off-and-on.

For example, after work or on weekends I'd try to teach myself Angular (js), CodeIgniter (php), and Laravel (php). I barely understood most of it. And people would sometimes discourage me "You already have a job-- why are you trying to learn that stuff?".

The combination of the Discouragement and full time job made me at times want to quit learning programming. But within 2-3 months I would always return to it, thinking "Wait... maybe I was on to something. I kind of want to get back to that stuff and see how it works. It's interesting information."

Eventually, I left a Marketing Role with Bridgetower Media, where I managed marketing for two business journals-- one in Portland, OR, and one in Boise, ID. I left in order to take Graduate School courses as part of a Masters of Science in Accounting & IT-- an academic program combining CIS, Statistics, and Accounting courses.

I decided to drop out of it though-- it was expensive and I realized I only wanted the business knowledge that Accounting courses provided-- not to become a practicing accountant. I felt it would be a waste of my creativity & potential.

If I really want to become a Software Engineer, I should move to Software Engineering Mecca

Voila! Move to Silicon Valley!

Luckily for me, I had a relative on whose back patio I could literally camp in a tent on, for about 4 weeks-- in the south San Francisco neighborhood of Brisbane.

Eventually a rental room opened up in the house, and I stayed indoors for about a month until I started a new job I had landed. At that point I moved into a studio across the Bay in San Jose, and I worked at Pulse Secure, assisting the Director of IT and Director of Marketing in a data integration project.

It was a phenomenal opportunity-- I was able to combine my Digital Marketing (Marketo CRM) knowledge, with skills in Serverside Programming (I had been trying to learn Python's Flask framework-- but the IT Director recommended I use NodeJS for my project), and Database knowledge... to create a Marketo + LiveChat data integration project.

Not long after I completed it...

I was laid off.

It turned out they did not have any other projects for me to work on, relative to my combined Marketing & Engineering skillset.

Well-- I wasn't going to stop there. I wasn't going to quit.

"I'll do whatever it takes to become a Software Engineer" I told myself. No matter what. Even if it means living in a tent. Even if it means moving to Mexico. And it did.

After moving out of my studio, I briefly lived on a WWOOF commune in Santa Cruz, CA. Then I decided to camp in my tent and apply for jobs every morning from cafés in the area.

Sometimes you just have to rough it for a bit. It wasn't my first time living out of a tent.

Each morning I'd pack up my tent-- often with a warning from a land owner that I wasn't allowed to camp there

...and at night I would find a new place to camp, along the coast SouthWest of the San Francisco Bay Area. That lasted about three weeks...

...until a cousin called me and mentioned something about a beach town in Baja California called "Rosarito, Mexico"-- a small beach town just south of California.

Voila! Move to Rosarito, Baja California, Mexico!

Why hadn't I thought of that? Why camp in a tent when I could probably rent a hostel bed or a cheap apartment in Mexico?

I set off for Rosarito the next day. Driving into Tijuana from San Diego was a bit frightening, because...

A. ...my cell phone did not have international service, so I was unable to use a map app.

B. Driving through Tijuana for the first time... picture MadMax: Desert. Dilapidated buildings. Half-finished concrete skeletons of office buildings. Rough looking people on the street. Dust and sand everywhere.

I stopped to ask for directions South and questioned my choices. But I continued "The ocean is West. Rosarito is South. As long as I keep the Ocean on my rightside, I am driving South."

Somehow I managed to make it to Rosarito. I found a cafe, and connected to wifi to use Yelp. Searching for "Hostel" I decided to visit the #1 listed hostel: "Hostal de Alamo", just one block from the beach! Within a few short days I became friends with the owner, Hector, who also became like an Uncle to me (in fact, we share the same birthday).

Soon after, he began renting me an entire house for $300. A dusty house, where I ended up baby sitting a litter of Pitbull puppies. Not a bad deal-- and most importantly, it provided me time to learn ReactJS and create a User Interface for a prototype app I called TimeTracker. I spent about a month learning ReactJS, then three months designing & building the web application's the User Interface-- I was still quite a newb with Javascript.

Around Christmas that year (2018), I decided to return home to Texas to be closer to family. I moved to a friend's ranch in the Texas Hill Country. And there, I continued learning NodeJS, thanks to guidance from great people on the #nodejs IRC channel. I designed & built out the app's database and backend, while working part time on the ranch as a landscaper to pay my rent.

Victory! The Conclusion... is just the beginning.

Once I published my new website, including a page describing the app and which linked to its open source code on Github...

...only two weeks later I was hired on as a contractor at Orbit Irrigation.

And it was all down hill from there. Soon, Etumos, a Marketo CRM consultancy contacted me out of the blue. It was the perfect opportunity for me-- I was able to work as a consultant building full stack apps for their clients. And I even picked up AWS Cloud experience there.

The calculated risk of taking a sabbatical in order to autodidactically solidify my skills in software engineering paid off.

The Diagram below is an attempt to summarize my career moves

It is build with MermaidJS, a Diagrams as Code tool, which I enjoy working with.