Weeknotes: Advent of Code edition

Oh, hi

First thing: yes, you may have seen me hanging out with local celebrity and genuinely nice guy Dan:

Dan and I played chess! In real life! In public! It was bloody marvellous fun and if anyone else would like to play chess in public then I say let’s do it (in spring, because the seats are made of concrete and the wind cuts through you like a prison shank and warfare, even a simulacrum of it, should be conducted in the sunshine).

Work continues apace, though not for me this week as I’ve spent it on leave. I’m going to sneak a peek at my emails on Sunday and delete almost all of them, which is an unalloyed joy everyone should try once a year.

Onto the meat of what I’ve been doing this week: solving totally meaningless code puzzles that are extremely satisfying. I’ve learned a lot, even from this week, including the beginnings of how to cache results to speed up processing. The problem are set against a very silly story, but nonetheless have given me an opportunity to practise recursive methods, overriding the methods of the parent class, and methods as storable objects. All of this is making me better at solving problems. I don’t think it’s necessarily making me a better software engineer, and is reminding me that most of the things I love best about being a software engineer are a tiny proportion of what’s actually involved in being an engineer.

An image of my code
This code (https://github.com/jonodrew/2020-advent-of-code/blob/main/twelve/twelve.py) took me about four hours or so. It took my boss about an hour, I would say, to achieve the same outcome.

My current role ends in March, at the moment, though everything points to it being extended. It’s the dead of winter and we’re in weird pandemic times, so I’m not going to make any rash decisions, but more and more I’m trying to work out how I can move down to four days a week. At the moment I teach in return for a donation to a malaria charity and I love it: it’s not a career, I know, but I’m having a moment where I wonder what the need for a career is. I don’t plan to have kids; I don’t have any desire to continue acquiring more material wealth. There’s not much point. There’s not much time left. There’s a climate emergency happening, literally right now, every second you are reading this is a second closer to the end of the world as we know it so I implore you not to stop reading because that realisation will absolutely ruin your day.

This is almost certainly my biannual moment of panic: when everything is complex and challenging, I yearn for the significantly easier task of just teaching people that the differential of e raised to the power of x is e, raised to the power of x. Or solving code problems that have almost no real-world application. Getting together the brain to think about things five years from now seems like getting into training to be the principal male ballerina of English ballet: there’s no way it’s going to happen so why put in the effort?

Ugh. This pandemic feels like the way Bilbo talked about the longevity granted to him: “I feel thin, sort of stretched, like butter scraped over too much bread.” That’s where I am. I’ve had a year of days and no life.

Things will probably change, though hoping they’ll change for the better might be too great an ask at the moment. Any change at all will, at this point, be preferable.

Pen Portrait

Someone at work asked me to write a couple of paragraphs about myself, and I’m feeling very silly, so here’s my first draft:

Jonathan looks after the strategic side. He’s part venture capitalist, part market strategist, and part four of a three part trilogy about frogs. He works closely with everyone, trying to identify opportunities and threats arising from the continuously evolving landscape that is unique to government. He focuses on return on investment, value chains, market fit, and other meaningless collections of syllables best left to consultants. 

He has never yet been a consultant, but has previously served as the CTO to an international start-up, the Private Secretary to the Cabinet Office’s Chief Digital and Information Officer, and Assistant Head Bartender at the Copacabana lounge (Aberdeen). He used to write code for a living, having built components for GOV.UK and the Digital Marketplace, and now does it for fun, like a retired boxer headbutting cars. He is tragically knowledgeable about government, having been in or around it his entire professional life, and has a strong network of ex-colleagues, friends, and – dare I say it? – disreputable acquaintances, all of whom he can call upon to achieve the varied and nefarious aims of whichever team he’s currently in.

He is capable of translating between French and English, machine and human, and business to business. He is capable of leading ragtag teams against odds that are overwhelming, underwhelming, and beyond scary. He has been applying Wardley Mapping for about three years and is eager to share his knowledge, because he is both a raging socialist and bored of reading documents that are dressed up as strategies but are really a government edition of madlibs.

He is deeply sorry for the silliness of this portrait, and assures you that you will find him grave, serious, and industrious in real life.

S06E20: All change please, all change

Two things ended this week. A role I’ve wanted to do for years and only ended up doing for nine months. And an epic chess game with Dan. I like the way that they finished at the same time – although, of course, this is confirmation bias. Lots of other things didn’t finish, so it’s entirely possible I’m just grasping for things that fit the pattern I’m trying to build.

Facing the prospect of two weeks off, I am struck again by the existentialist horror of responsibility. I know if I don’t plan things I will default into wasting time. And I know there’s a self-care aspect to wasting time, and there’s a productive way to waste time, but neither of those are embodied in me eating a family bag of crisps and binge-watching Netflix for a week. A couple of days, sure, but I know my default is to just passively wait for something to happen to me. I am going to do my best, on this occasion, to do things.


My lovely team got together and said lovely things to me. Even more kindly they did it on Thursday so, at the end of the day on Friday, I could quietly slip out of the door without any fanfare. I have been thinking about why this is, and it seems to be how I leave any relationship. I want to do it on good terms, but I also don’t want fuss, because fuss means emotional expression and that is a real struggle for me. Consider a party. If one mentions one is leaving, then people will say “Oh no! Already? It’s so early!” and one feels a duty to explain oneself. The cat needs feeding. The crocodile needs brushing. One has left the stove on and the cat’s dinner will be quite burnt. It is rare to find people who say, “Right! Jolly good, lovely to see you, safe journey and au revoir.” Instead, there’s a lot of emotions to manage. I know this is one of those good problems to have – oh no, my friends protest at me leaving – but I think it’s still valid to say it’s exhausting to have to explain multiple times that you’re leaving, yes, you’re really leaving, sorry to disappoint but by this time the crocodile’s almost certainly eaten the cat…

And so again, as always, I slip quietly away, so as not to face up to – I think the disappointment, even feigned, of people who’d like me to stay.


As I look ahead to the next season I am thinking about whether to refocus these notes to be a more effective reflection on work. I’m not sure yet: I like the freedom, but the lack of constraints also produces all sorts of work that’s not necessarily useful for me. Valuable, but not useful. I’m also looking forward to writing a little code again, and I’ve updated my automated graduate rotator with some more content. Next step is to thing about the tricky things like a data architecture; the end-to-end system design; and the words to mask the complexity of what’s going on.