Back Original

Twelve years

Now seems as good a time as any to reflect on my career, such as it is, and such as it has been, so far.

In truth, I've been trying to get myself to write this post for months, if not years. I would tell myself, oh I haven't written much lately, wouldn't it be weird to write about this alongside such a paltry recent output? I should build up some more content, flesh out some more of these drafts, many of which are so old as to be obsolete already...

Or maybe I should wait until I've done something impressive at $JOB and write about that, nevermind that I've neglected to write about any of the impressive things I've done in the past few years, and for that matter also failed to record any of the impressive fails and / or bugs I've encountered / caused.

What all this comes down to though, is a perceived fear of a lack of credibility. It's an anxiety that is familiar to me. At this point it is more or less unfounded, but the fear persists.

Anyway, it's been twelve years now, that I've been in ✨software ✨, so let's talk about that.


I didn't open a terminal until I was in my 30's. This is a little fun fact I trot out at Friday bars when I'm feeling safe... it's always met with raised eyebrows, "I thought you were one of those programming from childhood people!" (technically, I guess I was, but not quite the way that implies), "I thought you had a masters degree in mumblemumble technical field?!" (I do have a masters degree, in music... for what that's worth...)

I have maintained over the years that switching careers into tech was the best decision I have ever made, and I stand by that. The only other obvious contender would be choosing to marry my wife, but I don't think we could have worked out the practicalities of being together, of me moving continents to start a family in Denmark, if we hadn't been buttressed by the much stronger career prospects that tech provided me. At least, it would have been much harder, and I doubt it would have gone as smoothly, though I have friends who have done it and I think very highly of them. Being an immigrant, and that is the correct word for me in Denmark, is never completely easy, but all things considered, it's been pretty smooth.

Some of this has been chronicled on this blog previously, especially the contemporaneous posts I wrote as I was just learning to program. I can still remember the excitement of it all, and the feeling that hold on a second this could be for me after all. It was really exciting... intoxicating, even.

I didn't appreciate it back then in 2014, but my timing was as close to perfect as I could have hoped. I was "learning to code" just before the cresting of the "learn to code" wave. I was just infinitesimally barely ahead of the curve on that, by maybe a year or two. I was incredibly lucky to be hired at Etsy as my first job. When I started seriously entertaining the idea of programming professionally, I had figured that the best opportunity I could hope for was to write rails at some fly by night adtech to get a toehold in the industry, and work my way in and up from there. Instead, through some blessed combination of grit and luck, I was hired into a junior software engineer role at Etsy. Why? How? A lot of those machinations are obscure to me, but what I can say is that it was convincingly argued to me that the very experienced team I was hired onto legitimately needed juniors to do junior work but also to act as a mentee for those much more experienced team mates, whose own career growth depended partly on developing their mentoring skills. The chance to be interviewed in the first place I have only the Recurse Center to thank, as they had a strong relationship.

Etsy was full of exactly the kind of oddballs that appreciated my approach. When I asked seemingly random deep dive questions, I got support and good answers instead of "why are you looking at that?" My curiosity was rewarded and encouraged, what I lacked in skill and experience I made up for in enthusiasm and light footedness. I got to work on a greenfield project with that very experienced team, but in the confines of a (relatively) stable larger organization. I got to do rotations on different teams and see large production systems up close. I was exposed to Etsy's big data stack, their backends, their design systems and philosophies... it was a smorgasbord for me, and there were some truly monstrous talents there to learn from. Furthermore, they IPO'd while I was there, and that was a wild experience to go through on top of everything else.

Even though I was only there for 3 years, I essentially went from a complete noob to an experienced software engineer. My last year or so, after moving on from my original team internally, I did some of what I considered at the time to be my best work. I felt competent and productive. I have immense gratitude to my colleagues from this time, and to the company that made that dramatic career move possible for me. I was laid off in 2017 along with ~22 percent of the company. I have struggled a lot with that ending, and have felt a lot of shame and self recrimination. But with years since I can see, despite my rapid development and growth, I was still very inexperienced... technically, yes of course, but also in the softer skills of making your value known to those on whose desks land spreadsheets doused in red.

It was a bitter lesson on the realities of industry that today I am grateful for. And in a tangible way, it simplified my move to Denmark, which was anyway long planned.

I moved. I was interviewing before my jet lag wore off. My son William was born several months later. While I can't recommend losing a job, moving countries, finding a new job, and having your first child within a span of 3 months, at least I got it out of the way all at once.

I had absolutely no idea what I was going to do in Copenhagen.

I mean, I knew I was going to look for a programming job, but I had precious few leads, and fewer professional contacts with any connection to the country. Well really, only one, but in another great stroke of luck, at least it was a good one.

I found it quite difficult to find those leads at first, Copenhagen has plenty of stuff going on, it is a proper city after all, and there is a small but thriving tech and start up scene, but I didn't really know where to look. I had signed up for a jobs mailing list, but all it seemed to produce was part-time wordpress work and 'pls can I haz technical co-founder? :pray:' types of postings, neither of which were going to cut it for me. I needed a (relatively) stable job with a contract and the ability to sponsor my visa, at least initially. I was eligible for a spousal visa, but the processing time for those was and is punitively long, around a year or so, and you are not extended a work permit until after it is approved.

I have come to learn that in a tech job market like Copenhagen, that being, a mid-sized European city, there are a few categories of employers. What I learned by experience hews closely to that described in the post The Trimodal Nature of Software Engineering Salaries in the Netherlands and Europe.

There are small, regional companies, think local consulting houses or companies that specialize in something very specific such as Danish pensions or something. These were paradoxically the hardest jobs for me to get, as I didn't speak Danish at all yet, let alone to a professional level, and also some of the least attractive. They might provide decent pay and stability but they are intrinsically limited in their growth potential.

There are also satellite offices of larger multinational companies. Most of the time, these would be born from either a prior acquisition- Elastic acquired Opbeat, or MongoDB acquired Realm, for example, or the original company was started locally and grew to be that multinational themselves. Unity and Zendesk. These pay the best, usually quite a bit above market, but are commensurately harder to get.

That implies the third group though, and that is funded startups that have growth potential. That's what I hoped to find, and that's what I found.

I worked at Peakon for the next 3-6 years, depending on how you think about it. I was, again, really really lucky to find them! If I recall correctly, someone saw a tweet or retweet about my job search and connected me with the CTO. I think it was actually quite unlikely to land somewhere that offered me as much growth potential as Peakon did, both individually but also at the org level. It was a bit of a rocketship, tbh, just post series-A when I was hired.

It was very different from where I was coming from... there was still the basic shape of a web application to work on, but as an employee listening survey tool SaaS, the structure of the data and the business as a whole was very different from a B2C e-commerce site like Etsy. Furthermore, though technically Etsy was still a start-up when I was there, it didn't really feel like it to me. Peakon was different, it was a "real" startup moving quickly and building a lot. I got the chance to make bigger more impactful changes to an at that time but not for long less trafficked system. It was here that I more or less settled into primarily backend... at Etsy I did about half and half but I think I was always more interested in backend work, for whatever reason. It was also here that I did my first projects as a tech lead, and became "senior" and also senior. I have good memories and good friends from this time, and in retrospect I doubt I could have landed anywhere better given the circumstances.

Peakon was acquired by Workday in 2021, and became the second above described category, so thereafter I worked at Workday.

Being in an acquired company is an interesting experience. Anyone who has been through it can tell you nearly precisely how it will go, almost down to the month. We continued to work on the same product that Peakon had built before, adding Workday specific enhancements and integrations as we went. Over time, predictably, things changed. Project timelines get longer... a startup's will to survive from quarter to quarter is a double edged sword in your back, but a sharp one. Teams shift around subtly, ship of theseus style. Old colleagues move on, new colleagues come in... I enjoyed my time at Workday Peakon Employee Voice, but after a few years it was time to move on.

For the last few years I've been working at Onomondo, an MVNO (mobile virtual network operator) in the IoT (internet of things) telco (telecommunications) space (telco has WTMFA). Again, industry wise this has been a dramatic shift away from what I had been working on before, but I've been really, really pleased with it. I have been doing more systems design work along with learning all about new (to me) things I never thought I would be adjacent to, like heavy networking (traditional and telco specific), and embedded systems and firmware. I get to work on things I am experienced in, like full stack web product development and database admin, but also learn new things, all in a small company that still feels lively, but is also stable. It's a bit of a dream scenario, to be honest. I spent most of the first two years getting deeper and deeper into postgres DBA, and now I'm working on a new project that's really interesting and exciting to me, what can I say? It's good right now. It is here that a few months ago I was promoted to Staff, which was a long term aspiration.


Professionally, that catches us up, at least on a surface level. It's been 12 years since I started programming, and I'm still programming professionally. I still love doing it; I still love learning new things and building new things and working on new stacks and languages and products. If, when I was 21, you had placed a bet on me becoming a software engineer working in Denmark, you would have made a fortune on the odds. This path has been winding, and weird, and only makes any damn sense in retrospect, but here we are.

Why am I writing this? I have been meaning to do so, for posterity if nothing else, something has shifted in me in the last few years, I feel as though I've "caught up" in a sense after many years of feeling behind, professionally, after starting so "late". There was always that sense of lacking something... the lack of a CS degree never really held me back... but for us auto-didacts, it can feel like a pea under the mattress. But over the years I've continued to self study in addition to all the practical experience that comes with working at scale... the conventional wisdom that a lot of the academic computer science doesn't matter is true to a point, but in my experience, when it does matter, it matters a lot. Anyway I don't really have that particular hang up anymore, for whatever that's worth.

It's also, I don't know, it's kind of been a long time now, you know? 12 years... in some ways that's a long time. Things have changed dramatically in the industry in that time, the job market has changed, the in-demand skills have changed... my timing was good, great even, through no real fault or prescience of my own. I don't know what advice I would really give to someone in my position now, I don't know what would really work or not.

And to be honest, I'm kind of down about the future of the work at the moment. The AI/LLM boom is in some ways enormously interesting and inspiring and amazing, but it's just as often at turns infuriating, exhausting, depressing, and sometimes just plain dumb as hell. We're all kind of trying to find our way through this, I think. My honest read, or at least my honest hope, is that in some number of years, after the hype cycle, we may be able to access the real fundamental value of these new tools and paradigms without so much bullshit accreted around the edges. Who knows though, I could be wrong, I could be in danger.

Next week I'll be going to Recurse Center's 15 year anniversary never graduate week. It is a community that has given me so much and that I am still proud to be a part of, and I am hoping, maybe a little unfairly, that being in that environment again will spark some of the intrinsic joy of technology that I feel has been lacking lately for me. I don't know what's gonna happen to the industry in the next 1-10 years, and maybe that's part of the fun, but I do still know that I love lower case 't' technology, and that becoming a programmer was one of the best decisions I've ever made.