
- Software Career
- Career Reflection
- Learning to Code
I Picked the Wrong Elective

If you recognize the sunrise image, you might be a Canadian programmer
There is a version of me who took art class.
He probably has decent handwriting, a few sketchbooks collecting dust, and a much simpler answer to the question "so what do you do?" I think about who I could have been sometimes. Not that I am disappointed with my choice, more out of curiosity of who I could have been.
In Grade 10, I had to pick an elective. The choice was art or software. I did not pick software because I had a passion for it, or because I saw the future clearly, or because some mentor told me to follow my curiosity. I picked it because it seemed easier to get a good grade in. That was the whole calculation.
I have built a career on worse reasoning since, but that one turned out alright.
A lesson I didn't yet understand
A few friends and I wrote a video game. A top-down zombie shooter called Zombie Horde, written in a procedural language called Turing - a language so niche that if you recognize the name right now, there is a reasonable chance we went to the same high school.

Obviously the coolest game title screen ever - Credit to Michael Dillabough
Zombie Horde had one objective: survive. Waves of zombies came at you, you shot them, and eventually you died. Simple enough. The problem was that I was not very good at math, and so instead of the difficulty scaling in a straight line, it scaled exponentially. Each round did not get a little harder. It got brutally, comically, mathematically unreasonably harder. Round one was manageable. Round three was hilarious. The frame rate dropped so fast the game would practically apologize before it locked up entirely.
I thought this was a bug. In retrospect, it was character-building.
Nobody told me at the time that I had accidentally designed a metaphor for my entire career in software. You build the thing, you think you understand how it works, and then reality applies a multiplier you did not account for and the frame rate of your confidence drops accordingly. You learn to survive a few more rounds than last time. You still die eventually. You hit start again.
From highschool into a job
Out of high school, I had an incredibly fortunate opportunity to work at a real company building software for airport emergency vehicles. It immediately gave me real world experience before I knew what I was doing. It was only for a summer but it gave me perspective on how the industry really works. Less than a year later, I was invited back to the company and I was tasked with building a zero-to-one launch of a new app, Eagle SNAP. It let field workers submit SNOWTAMs to NavCanada to broadcast weather conditions to inbound planes. I'd never worked on iOS. I'd never worked in Objective-C. I'd never even heard of git. And yet, in 2 months, the app launched.

Back when iOS 7 was the hot new thing
It was one of the most exciting opportunities a programmer can have. I didn't realize how rare it was in your career to launch a new product from start to finish. Since then, I've launched many more products and have learned more and more along the way.
I have been writing code professionally now for over 15 years and I still finish most weeks with a longer list of things I want to understand than I started with. For a while I found that alarming. Now I find it mostly reassuring. The day that list stops growing is probably a day to worry about.
What to expect
This blog is not going to be a series of polished lessons with tidy takeaways. I am not writing it because I think I have figured out something other people have not. I am writing it because I have spent fifteen-odd years building things, watching things break, working with people who are smarter than me in ways I did not initially appreciate, and stumbling into problems that turned out to be more interesting than they first appeared.
Some of that is worth writing down. Or at least, I think it is. You are welcome to disagree.
The wrong elective turned out to be the right one. I am still not entirely sure what to do with that, but I have been thinking about it since Grade 10, so I might as well write about it.
Welcome to the blog.
The thoughts and views expressed here are my own.
Subscribe for updates
New posts in your inbox now and then. No spam; unsubscribe anytime.