Theme this week is being on the outsideContinue reading
This post contains discussions of suicide, depression, and spoilers for the 130-year old Oscar Wilde short story ‘The Nightingale and the Rose’ which, frankly, you deserve to have spoiled if you’ve not already read it yet.Continue reading
This week’s themes are never-ending and windowsContinue reading
One way or another, this season will end soon. I was going to apply for a promotion and leave you all on a cliffhanger, but sadly that’s no longer possible.
Yeah, that’s a downer. Alright, let’s see what else I learned this week.
This has been a week of working out where I’m going. I’m going to go through my week day by day, because it had a nice arc to it.Continue reading
What’s the difference between pizza and toast? And what is a sandwich, anyway?
I have had a number of weird conversations this week, and not written a whole lot of code. I’d like a job where I can swing between these two things.
I do not think a job like this exists.
Let’s do the week: retro style!
Groping towards the light
I got this comment on last week’s post:
And I want to assure you it’s only because I have a constant hovering sense of not being good enough and a crushing fear that people will find out. Every new person who approaches me to suggest I do a thing increases that anxiety, even as I recognise that I’m still upright. I’m starting, slowly, to recognise that I can surf the wave or walk the tightrope or whatever metaphor works best for you. That doesn’t take away the fear, but I’m finding better ways of co-existing with it.
That’s my secret, Cap. I’m always scared.
These weeknotes started out as a giant mess of words and then, like staring at one of those magic eye pictures, came into focus as a single theme with stories to support it. It’s freaked me out a bit to be honest.
This week began — as it always does — with me trying to corral my team into prioritising a bunch of work. It’s a little delivery manager and a little product manager, but since I have neither of those roles in my job title I’m soft skilling the heck out of it. It was easier this week than it’s been before; I think it’s because I’ve been enforcing the format for a couple of weeks and it’s starting to bed in. At the end of the day I had an initial meeting with a new mentor, who posed some hard questions to me. He understands a lot of my frustrations and he’s helping me to be patient where I would otherwise be impetuous. This is Good. He also holds strong opinions about military structures in the Star Wars universe, and this is Also Good. With his help I’m going to look at rounding out my technical skills with some projects in my wider organisation, and we looked at some that seemed interesting.
Tuesday was a weird long day: I did some volunteering in the morning and that sort of wrote off the entire day, as I tried to recover from the emotional black hole that speaking to kids opens inside me. Volunteering is supposed to help you learn things, and in fact I learned three new things:
- teenagers in a group are sullen and bored and disinterested and talking to them is like pulling teeth. From a whale. With soapy gloves.
- teenagers on their own, hanging around while the rest of the class files out, definitely not queueing up to talk to you but just, like, hanging out in a vaguely ordered curve, yeah: they’re incredible. They absolutely sparkle. They’ve got brilliant questions and probing follow-ups and make you wish they’d asked the question in front of the rest of the class so everyone could have benefited from it. Fuck me, I hate that enthusiasm is uncool.
- being escorted around by a teacher I still felt a bit nervous and like I’d got in trouble. I’m almost thirty years old.1Oh god
In the evening I had dinner and a chat with a mentee.2fuck, maybe I do do to much She is going to be giving a talk that’s kind of in my (undergraduate) area, so I’m doing my best to coach her in speech-giving and argument-forming.3I can practically hear the eye rolls of people who know and love me I’m more comfortable with this mentee, and as I write I’m trying to figure out why. I think part of it is that we discussed it formally in the beginning and had some ground rules; we know what we’re aiming for and how we’re approaching it. Maybe I just like structure.4Maybe we all just like structure, apart from my slightly scary friend who’s convinced purging all laws every ten years would do wonders for society It’s also politics, economics, and arguing: areas I know reasonably well.5As opposed to “how to get a career in tech”, an area I know literally fuck all about having faked my way into it in a big way. I’m making a good go of it, but seriously — 2 Bs and a C at A-level and a 6-year long slog at an undergraduate degree in French doesn’t scream “tech sector career”. It meant I missed the weeknotes meetup though, which is a shame. Next time.
I am (still) completely in love with writing code. I track my time, and on Thursday I spent 7 hours (with some breaks) on trying to figure out why an innocent upgrade was causing massive, things-on-fire test breakage.
I should explain — so that a handsome, rugged, naif young coder doesn’t go releasing massive changes to the production environment and breaking everything for everyone everywhere, a whole suite of tests runs against any change I — sorry, he — makes. They take about ten minutes and run through a few hundred scenarios a user might actually carry out. In my case, the phantom user was pretty hacked off as the system kept logging her out.
That was my cue to start pulling my hair out and diving three or four layers deep to try to get to the bottom of the problem.
The problem turned out to be nothing I’d done (hurrah!) and in fact something someone else had done for reasons known only to themselves, god, and people with toys they want to connect to the internet.
Still, thanks to my senior I scratched out a 6 (sorry Sam) Point Plan to solve it and then went immediately on a date. I don’t think that I could have done it with a senior to guide me, so I’m really grateful I’m working somewhere where I can learn from people much cleverer than me.
I think these have been the best weeknotes I’ve ever done. Not for you, the reader — I expect you’re bored silly. But as a reflective practice I think they’ve helped me work out the solution to something I’ve been struggling with all week.
Go weeknotes. You rock.
Trying to find my groove
This week has felt long. January is a month that is infinitely long, while the last week of that month is itself infinite.⁰
I have done a few things this week, but all of them feel fretful. I am still struggling to find my space, and I’m starting to get frustrated with myself at my inability to settle into a thing and just do it. Maybe I’ve not found the right fit. Or maybe I’m just incapable of doing one thing for any duration.
On that cheery note: here is the week that was:
On Monday I caught up with a mentee. She’s coming off a coding bootcamp and is trying to work out what she wants to do next. I’m still trying to find the right balance with mentoring between giving advice and letting mentees work out their own path. I think I leaned too heavily in the latter direction and may have come across as sharp or stand-offish by repeating her questions back to her. I feel like I need a mentor in mentoring. A grand-mentor?
I also offered to use my connections to try to secure shadowing. I think this is the right thing, but I’m also anxious about it because it privileges her above other (equally deserving) individuals. On the other hand, my wider organisation could do with more people from her background, so…
Look, Monday was essentially a mess of me wondering whether I was doing the right thing.
All the way through this week I’ve been doing Russian homework during my lunch. I’ve needed to do this because I’m a massive keener who’s taken a homework that involves writing about 50 words and turned it into two pages of both printed and cursive writing. I’ve also started watching Trotsky on Netflix, a Russian-made biopic of the revolutionary. It pulls no punches as to the homophobia, misogyny, and anti-Semitism rife in Russia at the time.
I’m concerned I’ve overstretched myself on this: it smacks of “ooh! Shiny! New!” enthusiasm that I fear will fade over time. I’m slightly buoyed that my Duolingo streak is at 70 days: maybe it’s not just a flash in the pan. Maybe.
I was supposed to go and mentor on Wednesday, or go to the leaving drinks of Kit Collingwood. Instead I found myself spoon-less by the end of the day and crashed home. I’ve noticed a massive dip in my energy levels recently: is it something to do with the weather? Am I not eating enough fruit and veg?¹
Still, it gave me an opportunity to make a butt-load of spicy carrot and lentil soup. It’s my favourite reviver in weather like this: warming, thick, and enough spice to make your tongue and nostrils tingle without being painful. Paired with thick bread and a thick book — this week it’s Ha Joon Chang’s Economics: The User’s Guide — it’s a corpse reviver.²
Thursday was a day that was half running around and half sitting down and doing thoughtful programming, and really hit the sweet spot of things I like doing. In the morning I ran over to Whitehall to talk to other unsuccessful Future Leaders Scheme candidates about what we could do to advance our learning and development before the next application window opens later this year. We didn’t get much insight into the process or scoring system, which is a shame: I am continually banging on about openness because it makes things better. I still offered to help in any way I can, and made a few valuable contacts. My organisation covers so much that the opportunity to go and shadow someone doing something wildly different — whether that’s the Privy Council or the Queen’s Honours list — seems like too good an opportunity to pass up.
In the afternoon I sat down with my senior dev and paired for a solid hour and a half on a new-ish feature. It’s really enjoyable because she’s a really good pair: thoughtful, patient, and doesn’t obviously flinch when I ask questions that I then answer myself almost before I’ve finished asking them.³
Friday was a full day of training. I bumped into some old Fast Stream colleagues and talked to them about my eternal, unchanging bugbear and my plans to stop whining about it and turn it into a scoped piece of work for a corporate objective. They agreed this would be a good idea.⁴ So I’m going to write that up over February and start shopping it round and see if I can get a little team of volunteers on it.
The training itself was interesting: it was an introduction to Service Design. I’m personally very nervous about tech architects and service designers, because in my experience they tend to want to architect and design. Agile development doesn’t fit easily with this approach, but I think perhaps I’m still struggling to see the bigger picture. I’m also probably being hyper sensitive. There is value to seeing the bigger picture: where your little transactional service fits into massive, wider user journeys. I’m just…I’m not yet convinced that you can design that journey up-front.
Now it’s the weekend. I had an extremely good date last night, and I’ve got a few hours before I go to Russian class and am crowned “Hideous teacher’s pet”. So I’m off to have breakfast with good coffee and even better company.
And look — it’s February. We made it. Well done team.
⁰ For more on infinities that contain infinities, I recommend you start with Hilbert’s Infinite Hotel
¹ I am almost certainly not eating enough fruit and veg
² In actual fact, a corpse reviver is a cocktail that combines gin, absinthe, chartreuse, lemon and Lillet Blanc. It’s said that one will revive a corpse; another three will un-revive it.
³ “But how would I add this permission to — oh, yeah, I think I’d do that”
⁴ Hang on, I should have asked which bit they felt would be a good idea.
Slaying the beast
This week has been almost entirely dedicated to a mammoth bit of work I finally completed, so may be tech heavy and retrospective. Luckily, there’s a romantic interlude so there should be something for all of my readers.
The giant code change I’ve been working on is finally ready. It deletes 700 lines of code, has gone through various iterations, and had a personal best of 43 comments and recommendations on it. I now know this repo inside out, and I’m already thinking about ways I could further improve it.⁰
I’m also thinking about ways I need to improve the way I structure these code changes. Reading back through the commits I’ve made on the branch, there’s no clear narrative. I seem to dart around, solving the problem like I’m solving a cryptic crossword. In the real world, that is a little bit how you solve these things — this video from Malcom in the Middle is a good analogy.
You try to fix a bulb, but when you go to get one you realise the shelf you keep the new bulbs on is broken. Since you’re fixing things, you may as well fix the shelf, so you go to get a screwdriver, which is when you realise the tool drawer is squeaky. Nightmare! So of course you grab some WD-40 from the garage, except the can is empty. You’ll need to go to the store to get some more, but the car won’t turn over, which is why when your partner gets home an hour later and says “Hey, the bulb in the kitchen needs fixing” you’re understandably upset, because that’s clearly what you’re fixing by stripping the engine.
The point of this long segue was that I am going to try being more focussed in my commits and make the narrative clearer, particularly with large chunks of work like this. Alternatively, I’ll start committing back into the master branch earlier.¹
Codebar happened again this week, this time at the office. This week I was focussing on writing good method definitions, and discouraging the use of globals. It’s really interesting to see people making the same mistakes that I used to make, way back when I started writing code.² When you’re hacking at stuff to make it work, global variables — values that are available to everything, everywhere — are the quickest way to make everything work. In this case, my mentees had written methods with no
return statements, so their code was chuntering away, calculating correctly, and then jettisoning the results into the void.
As ever, the opportunity to teach (and thereby learn) is hugely exciting. This year I’m working on identifying things I enjoy ahead of my next career move: I’ve been inspired by this fantastic post by Anna Shipman to be more thoughtful, as well as conversations with my mentors and manager.³ I also read the Institute for Gov report (PDF, 72 pages) about staff turnover, and I’m going to make a more conscious effort to hand over work effectively and thoughtfully if I move in the future.⁴ However, I’m not convinced by the broad brush answers in the report. Applying a pioneers, settlers, town planners model to organisations gives me the view that there should be different targets for turnover depending on the team and evolution of the product, and consequently different methods for attracting and retaining talent.
I attended a half day blogging workshop, and it’s helped me understand a part of the business that I didn’t understand before. It was a step outside my comfort zone, because it was about blogging professionally. I love blogging⁵, and so it’s a weird step-change for me to write with more thought and with a stated aim of grabbing attention and holding it.
There was plenty of really good content and I particularly appreciated the refresher on the GOV.UK style guide — the passive-aggressive “Words to avoid” section is probably my favourite.
[avoid using the word] key (unless it unlocks something. A subject/thing is not key — it’s probably important)
— The GOV.UK style guide
I had a weird quasi-first, quasi-nth date/friendly catch-up with someone.⁶ We’ve known each other for the best part of a decade and dated at the beginning of that period. It did not go well, mainly because I was an obnoxious ass a decade ago.⁷ We are — philosophically speaking — very different people to the people were once upon a time, even if we look similar. It was odd. We’re both pretty recently out of long-term relationships, and since we have history our baggage is now so great that it needs its own carriage.
All the same, it was really nice. We get on well, and we’re going bowling this weekend which feels…more like dating territory?⁸ So we’ll see.
If there’s one takeaway from this paragraph, let it be this: never go back and look at your tweets from ten years ago.
Govcamp will happen/is happening/has happened, depending on when I write these notes. I’m probably going to pitch an intro and advanced session on swardley maps and see what happens. I was approached by someone this week about putting together a workshop on this for a strategy away day, and so this will be a good opportunity to workshop with the five or six people interested in this ahead of my meeting.
I’m completely blown away by the fact that someone approached me about this. It combines my two tick-boxes of strategy and teaching, and is right in my wheelhouse of niche nerdy topics on which I’m well-read. However, I’m starting to get concerned about how much of my work time it’s going to take up. In an ideal world I’d have a job where I could do all this stuff — write code, mentor people, do strategy workshops and be home by 5.30. I don’t know if that job exists. I do know I’m going to have to think quite hard about how I’ll manage this in the future.
I could go down to 4 days a week and pitch my mapping workshops as a consultant, but I have an irrational loathing of consultants. It also seems to offer poor value for money to the taxpayer if I charged £800 a day for what I’d previously been offering as part of work. Alternatively, I could try making a pitch that this is a corporate contribution and actually start measuring the time I spend on it. If it starts taking up the majority of my time I’ll need to have a conversation with my team and manager. I might also need to start looking for a role that emphasises that, rather than software development.
Got thoughts? Put them in the comments or get in touch with me @jonodrew, because I have no idea what I’m doing.
⁰ These ways almost all involve binning old code
¹ Unless you’re a tech person, you’ll be unaware of the ongoing turf war between “trunk-based development” and “branch-based development”, but believe me: there are assassinations in the night and rude words written in leading publications that will testify to the strength of feeling in this arena
² Ah yes, way back in *squints* 2015
³ Good managers make people less likely to leave. I’ve genuinely got a great concern that moving might bring me into the orbit of a less-good manager, and that’s definitely adding friction to any moving thoughts I have
⁴ That should be a learning module for new staff: How to hand over work in progress in ways that don’t make your successor curse your name
⁵ Exhibit A: what you’re reading right now
⁶ Dating as a millenial is like manoeuvring an 18-wheel truck full of explosives through a china shop with a blindfold on
⁷ Genuinely just fucking awful. I’ve gone down a rabbit hole of my old tweets and the shame is real
⁸ Wearing other people’s shoes and awkwardly trying impress someone is prime dating territory in my (admittedly very short) book
This week has felt alternately slow and quick. I’ve been thinking about a few things and I’m going to do my best to articulate them here.
1 Mental energy is the same energy as physical energy, or at least it is for me. I realised this week that I’ve been burning mental energy thinking about things I didn’t even realise I was thinking about. It was only when I made a commitment to dropping them and suddenly felt lighter, brighter that I realised they’d been taking up a lot of space in my head. I have to write them up before I can actually let them go, but I’m excited to do so because it frees up my mind to focus on something I can actually progress right now.⁰ It also means I’m on the hunt for a fresh new corporate contribution. I’m thinking about going back to mapping and starting a meetup or even an internal book club/community of practice. Let me know if you’d be interested in these things.
2 I really love coding, but I really like strategy and I also really like delivery. I keep switching what I’m doing because I can’t seem to pin myself down. This week I’ve been busy deleting old code¹ and writing new integrations to reduce our reliance on old, deprecated libraries. It’s absolute joy. It’s really hard to explain the dopamine hit to people who don’t code, but in general the time between me deciding on how to solve a problem and finding out if my way works is generally less than a week. It’s pure bliss.
At the same time, I’ve been the scourge of delivery. I’ve enforced work-in-progress limits, linked up bits of business, and set up meetings for people in order to better segment work and improve flow. I like doing this stuff, because even though the feedback cycle is longer it’s so completely worth it when you start to see it moving again. The first tipping moment is the best. It’s like — have you ever seen, in a strongman competition, some great human specimen endeavouring to move a plane or a train or some other mode of transport that requires huge engines to move it? They press their whole bodies to the task and for the longest time nothing seems to happen and then the wheel starts to turn and suddenly, bizarrely, this huge weight of steel rolls forward. And it continues.
That’s what being a delivery manager is like.
3 There are a lot of new people adjacent to us and they are boisterous. I am reminded that it is very difficult to do knowledge work² in open-plan offices, and that I would almost certainly work for anyone who promised me my own office. I’m serious. Morals be damned, if I can close the door on the rest of the staff I’ll sign tomorrow. I am also horribly aware of the many, many times I’ve had long calls at my desk. Calls in which I may have laughed a lot. My former colleagues (and certainly former friends): I am so sorry.
I have been blessed³ with a laugh that has been called “Jimmy Carr-esque”.
“It can’t be that bad,” I hear you say. Sure. Tell you what. You get through this video that’s a mere 54 seconds without pausing, without plugging your own ears with wax, and I will accept that my laugh is not that bad.
Because I forking can’t, and I have that laugh.
Please, please, please let’s go back to offices with doors. I’d even accept a cubicle at this point. Anything to stop the noise.
The point is that it was very enjoyable and had a mix of new faces. Jenny did a cracking write-up so you ought to go read that, but my main takeaways were:
- there felt like a marked difference in the number of people speaking over each other. I’m not sure if that’s linked to the new organiser being a woman. I really hope not. Maybe we were all just excited that morning.
- challenging when you’re the first person to do it is really hard. At GDS we tend to heckle people speaking in jargon, but getting your organisation to that place requires huge bravery or your senior team heckling each other. That’s cool, but I don’t know how likely it is. If you’re a senior person, being that first challenger empowers everyone else. Remember: with great power comes great responsibility⁷
- you can’t replace one ‘resource’ with another because (a) I can’t stress this enough, people are not resources and (b) teams are immutable sets; the removal of one individual and the addition of another creates a new set. Not a changed set: a new one. Even if it’s the same person just six months later. They’ve grown apart from the team. They’re a different person. It’s a new team, and it’ll take time for it to form. Give it space.
That’s me for this week. Tomorrow I’m taking my parents to see my new flat even though the developers are yet to accept my revised offer. Nerve-wracking, but an opportunity to cook for my family shouldn’t be sniffed at.⁸
Listen: Into the Spiderverse is stunning and even if you don’t read my inane footnotes you should listen to this soundtrack.
⁰ There will be a lot of blogs this week
¹ code gets old like fish gets old: it starts to smell bad
³ 
⁴ It’s intriguing that in French an un-conference is an anti-conférence. I feel like it gives it a slightly more…contradictory air? An unconference just isn’t a conference, while un anti-conférence feels like it’s everything a conference is not.⁵ I would have gone with un non-conférence if only because the running together of sounds in my mouth is pleasant. It quickly becomes unnonconférence, and that’s just pleasant.
⁵ Like…there’s dressed, and there’s un-dressed, but anti-dressed feels different.⁶
⁶ I’m reading too much into this. Let’s move on.
⁷ Related: Spiderman into the Spiderverse is the best comic book movie I’ve ever seen. Go and see it. Listen to the soundtrack. I just. I love every single thing about this movie.
⁸ I mean, Dad’s allergic to cats so there’ll be a bit of sniffing.