I’ve been thinking a bit, for the last year or so, about my career trajectory. Where do I want to go, and what do I want to do, over the next 5–10 years?
For the first seven years or so of my working life, I was just learning everything I could in software, following my interests but without much of a conscious plan, and making sure I put food on the table for my family. And I think that was absolutely the right tack to take! I did learn a ton, across a relatively wide swath of the industry. I have worked:
- as a cog in megacorporation with over 100,000 employees, writing C targeting a real-time operating system;
- as the sole dedicated software developer in a company where I was the 12th employee, maintaining decades-old Fortran and C and C++ and writing a fair bit of Python in a scientific computing and physics modeling context;
- as a subcontractor for a small consultancy doing PHP and jQuery and (both My- and Postgre)SQL;
As a result, I’ve seen nearly every part of the stack to some degree—from writing a lex/yacc parser spike for a one-off assembly language to building rich browser client applications—and I’ve seen a lot of the kinds of companies that exist in our industry. I’ve also seen (and created!) a pretty remarkable amount of tech debt.
All of which means that, at 30 (almost 31!) and about a year from the end of my first decade in this industry, I’m starting to have a pretty good sense of the things I like, the things I don’t, and some of the directions I might like to go in the future.1 It actually feels a little odd, precisely because I just went where my interests and reasonably good opportunities appeared.
But it’s also important. I know better now than I did a decade ago the things that bring me joy and the places where I’m best equipped to contribute effectively to a team. (I am of course also far better equipped to contribute effectively to a team than I was when I started!) I find that I care enormously about what to build as well as how to build it—my instincts and interests seem to be roughly 25% product person, 25% mentor and teacher, and 50% individual contributor, with a particular interest in building enabling tools for others.2 I have no idea where that will take me in the future, and I’m working closely with my (really excellent) manager at Olo to find ways to both use and develop those effectively where I am.
There are two upshots to all of this:
If you’re a young developer (or, probably, early on in almost any field), getting as varied—but not shallow!—experience you can in the early years is incredibly valuable. That goes double if you’re coming in from a “non-traditional” background as I did, because it’s a great way to get exposed practically to a lot of the different parts of software and to computer science ideas you won’t if you stay in just one spot. That’s obviously a hard luxury to come by in some ways, but if you can manage it, it pays huge dividends.
I’m happy to be starting to have a sense of direction and trajectory. I’m in the early stages of that, though; I’m curious to see what I sort out in conversation with Jaimie and my church community and others I trust, as well as my leadership at Olo, over the next year.