fiona's blog

I liked programming at one place for a long time

after working full-time at the same programming job for 8 years, I’ve made the decision to leave – and I’m realizing that there are some things I’ll especially miss…

my coworkers

this one’s fairly obvious I think, due to the whole “social beings” quandary: I’m gonna miss the people I’ve worked with for the better part of a decade.

characters from The Office awkwardly posing for a photo in a stilted and performatively casual way

I have been the last one standing on my team like 3 times during my tenure – so even though I’ve been working on the same team for 7+ years, I’m lucky to have worked directly with lots of people who have since moved onto other teams or left the company.

and there are lots of things I’ll miss – office small talk rocks, technical peers and mentors rock, our semi-annual tradition of meeting at a cafe on the uws and walking through central park… rocks!

heck, I’ll even miss seeing their fingerprints all over the code. a few times I’ve even been able to clock who wrote a piece of code just because I know one person particularly likes to implement function interfaces and another likes extremely specific variable names… like recognizing J.D. Salinger’s style in a de-contextualized line from Catcher In The Rye.

I will miss all that.

the codebase

me when they shut off my access to the closed source repository:

eric andre meme of him begging to be let into the gates of the 2016 democratic national convention

is it cringe to miss the code?

the generation ship model of software development resonates with me – programming in an unfamiliar codebase is like an exercise in archaeology. and just like any archaeologist leaving their dig, I feel attached to what I’ve learned and the efforts I’ve put into learning it.

I have come across my fair share of incomprehensible code that I was either afraid to refactor, or refactored with a bug because I didn’t fully understand its purpose.

and now I will indulge myself by enumerating some guideposts for writing robust code in a codebase with many collaborators over a long period of time (thus relieving my dear reader of any duty they may feel to indulge me – I’ll see you at the conclusion):

this is all to say that communicating the intention behind the design is the hardest part of collaborating in a long-living codebase. as Peter Naur argues in programming as theory building, a program is much more than just “how it works” (i.e. the design or even the source code) – it is the shared mental construct that we build together (or the theories behind the design).

so I will miss being mind-melded to this codebase and helping my fellow loyal workers mind-meld to it in kind. but in a way, this throbbing and all-encompassing hive-mind (all hail) has become a part of me as well. you can take the bee out of the hive, but you can’t take the hive out of the bee, and my little guideposts will accompany me wherever I go, searching to be accepted by yet another swarm…

I’ll end with the same cheesy-but-poignant line from the aforementioned medium post:

Finally, it’s your turn to leave the ship. You hand the code off to your successor. You wish them well.

parting thoughts

so yeah, I’ll miss my coworkers (normal) and the codebase (less normal). if I had to write another section, maybe it would be “the process”, which tie the two together (retroes <3)… but no one’s putting a gun to my head.

but maybe I’ll just say that programming is for “social beings” (full circle). we are much better at building and maintaining the mental construct of what all is happening – or should be happening – together.

but there’s also a secret sauce: everyone has to try, and feel comfortable saying “I don’t know” or “why?”. that can be hard enough with human egos – let alone layoffs/re-orgs, a hypercritical culture, or the spreading belief that we can just “vibe code” our problems away (don’t get me started). to me, if the pursuit of truth is the goal, the only path forward is feeling safe enough to be honest – and there ain’t no way out but through.

last but not least, a few rapidfire recommendations for working at any company for a long time:

it’s been a great ride. if you worked with me and you’re reading this – please, don’t be a stranger!

tags: