It all began with an email from StartX, a startup accelerator for Stanford affiliates. Browsing their site, I was struck by the number of projects that involve some degree of programming -- even the ones that produce physical objects. Programming is a valuable skill in the startup world. It's a valuable skill anywhere.

I once aspired to be a software engineer. I learned how to code HTML on my own in middle school, took summer classes in Visual Basic, and daydreamed about being a game designer. I was looking at a trade school up in Seattle called DigiPen, a top notch school for game design (schools like Full Sail are (were?) of equivalent caliber).

There I sat, staring at the computer, contemplating the steps that brought me to a moment where, 26 and unemployed, I wish I had majored in CS. A few key moments in my high school life set me on my current path of civil/construction engineering instead of software engineering.

The first blemish on my vision of a future as a software engineer came from reading a book. The Bug: A Novel by Ellen Ullman depicted the harsh realities of programmers in the 80s and 90s.

Awkward co-workers, unremarkable pay, uninspiring work tasks, and soul-crushing work environments. Yes, a work of fiction, but it was the first time that I questioned my desire to sit in front of a computer screen 40 hours a week. And remember that programming was not the sweet gig it is now -- we have companies like Google and Facebook to thank for that.

My prospects for being distinguished in the field also seemed grim. I knew of so many genius programmers / computer engineers: people that were building their own computer circuitry at the age of 14. I just liked computers and games. I developed the sense I would always be secondary to those with a natural -- or even genius -- aptitude for the field.

The final proverbial nail in the coffin that put to rest my dream of being a programmer: an innocuous question from my 11th grade math teacher about what I'd like to major in college. When I responded with CS, he expressed surprise that I wasn't considering engineering (civil, mechanical, chemical, etc.). I had no clue what engineering was, so I started asking around.

That's when I latched onto the idea of being a civil engineer. It was a timely confluence of events that discouraged programming and encouraged a career that emphasized math, problem-solving, and making tangible work products (bridges, buildings, water treatment plants, etc.).

On good days, I am very happy with my path in life, my career choices, and my confidence in finding a fulfilling vocation. Civil and construction engineering are -- in so many ways -- an excellent fit.

  • You get to build stuff. Psychologists indicate that physical work products are often more deeply satisfying than conceptual or electronic products.
  • You get to problem-solve all day, every day.
  • You get to work with people. I like people. I find team interactions to be fascinating. I like helping people work together to build something great.
  • You receive a comfortable salary and comparatively better job security.
  • You work on infrastructure, which is an excellent way to advance the sustainability movement.

Saturday night was not one of those days. I was lamenting my path, discouraged that I would never get to try out a fascinating field because of events in high school.

I messaged my friend Bobby, a CS graduate from Stanford. Fantastic person, incredibly talented and intelligent. He offered words of encouragement and resources. Programming, he said, is one of the easiest skills to pick up through self-taught methods; the resources available are bountiful. He essentially laid out a path for becoming a hireable software engineer, and it could take as little as a year. The key was assiduous study and practice.

The programming world is a meritocracy. It doesn't matter if you have a high school diploma; if you show an ability to program and potential to be a valuable and productive team member, you will get hired. The better you are, the better you do. No institutionalized path to follow or corporate ladder to climb.

I don't see myself as becoming a full-on software engineer, working for the likes of Google. But perhaps I can combine programming with construction engineering in some satisfying way. Perhaps a startup is not so far out of reach. Regardless of how programming may actually influence my career path, I was pumped.

I began lessons right away, at 1am on a Saturday night. I couldn't contain my excitement, I couldn't go to sleep. This exhilaration was foreign to me, it jolted me from the ennui that has plagued me. I am now taking lessons from Codecademy and Stanford Engineering Everywhere.

The past half year has sailed past me in a blur. I have operated at 30-50% of my potential ever since I moved out to New York. Yes the environment doesn't help matters, but ultimately I am in charge of my own reality. I need to keep my brain exercised, I need a structured environment to push me, I need to always be learning. In that moment, I felt expansive and invincible. Able to accomplish anything. Able to see a path to development and success. Entirely in charge of my own performance in life; I do well if I work hard, I don't if I slack off. The only obstacle in the road was myself -- no politics, no external factors outside my control, nothing.

Programming or no, I am awake.

I am eager for life, and it feels good.