Weeknotes S04E01

Settling down

I’m back from holiday and picked up something gross on the way back. Planes are close-quarters disease spreaders and, frankly, if you so much as sneeze in the queue to board you should be forced to fly with the luggage.

This week has been a process of feeling, and it’s like having one of my senses removed. If you’re joining this season and don’t feel like catching up on previous seasons then:

  1. I feel you; I’ve seen the first five episodes of Game of Thrones but I’m still probably going to watch the last series[mfn]Yes, the US-ians call them seasons, but damnit half the crew is British and I shall call them series[/mfn][mfn]Although to be fair seasons, which belong to a series, is a neater hierarchy than what we have. I think our equivalent of the US term ‘series’ is ‘box set'[/mfn]
  2. Welcome! I’m usually a developer but for the next 12 weeks I’m working on people things

I’ve been tasked with some interesting high-level objectives: I’m still getting them into an order that I’m happy with but they’re mostly there. I’m doing some work to iterate some processes and policies we have around our junior software developer offer: it’s worked well so far, but that’s generally a good time to take stock and see what can be changed to improve how it’s running.
This is categorically not a technology problem, but a soft-skills, strategy, high-level, thinking-5-years-in-the-future kind of mission. Any changes I suggest or implement will have an impact on the key capabilities of my organisation way down the line, and it feels complex and brain-achey and worryingly easy to get wrong.
Because it’s not a technology problem I can’t do what I’d normally do, which is:

  1. write down all the ways it could go wrong
  2. write down a few of the ways it could go right
  3. write some code
  4. see how much of 1 and 2 go green
  5. go back to 3 until everything works

There’s not a lot of scope for do-overs; for re-running a test with fresh inputs magically generated from scratch. This has made me suddenly hyper cautious, and in a clear subconscious sign that coding is my comfort zone I’m writing a lot of documentation. Still, everyone loves reading loads, right?

I had a really valuable retro with two people regarding a procurement exercise we ran before I went on holiday. I’ve got a few actions to pass back to the Digital Marketplace team, but more valuable than that was the sense of honestly reviewing things that didn’t go well. There were a few, but they all mostly linked back to a single root cause: not having enough time. We hadn’t realised how long the exercise would take, and I think part of that might be because the guidance was written with experienced users taking part in research. That’s the end-state for most users, and is likely also the majority of the users – but our little edge case of inexperienced newbies meant things took longer than expected. As time ran out in meetings we found the pressure translated to some really unpleasant behaviours. Taking some time away from it to reflect on what happened and then coming back was so valuable, as was the attitude we brought.
All of this sounds super smug and self-satisfied, but fuck it: people acting in a mature, blameless way to improve a process for the future; treating each others feelings as valid; and being curious about what went wrong rather than accusatory is powerful and empowering. So I’m okay being smug about it.

There is a small movement in the house-purchase-process: my solicitor wants me to close my Help to Buy ISA, which means I’ll be exchanging in the next 12 months! At least!

Alternatively – and having just counted this, I’m shaky-nervous – if current predictions hold true I’ll be moving in before the end of June, which means I could be moving in the next 6-10 weeks.

That seems horrifyingly soon. How long does it take to pack up your life? When should I start organising people with vans? Take a long, wistful look around a flat that’s housed me since I arrived in London fully four years ago as a graduate with nothing but a cat and a degree in French studies?

Woof. I’ve given myself the anxieties. I’m going to go for a lie down. This has been a weird one, no doubt about it, and I’m grateful for you sticking with it. Better structure next week.


Weeknotes S03E26

End of quarter. New mission.

This has been a week of closing down. I’ve tried not to open any new projects, to be mindful of my documentation, and to relax into my new role.

It has not gone…excellently
Continue reading

Some early thoughts on OKRs

Firstly: they’re recursive. My objectives are my manager’s key results. In turn, my line report’s[mfn]If I had one[/mfn] objectives would be my key results. This gives everyone in the chain freedom in how they implement their objectives, while keeping them aligned to the higher-level goals that are at the top of the chain.

Of course, deciding what that highest level objective actually is can be difficult. But that’s why we pay the people at the top so much money.

Second: in some quarters there’s a false dichotomy. ‘Objectives’ are high level, broad-brush, while key results are quantifiable. I believe this is false because, depending on your level of granularity, everything is high-level and broad brush or qualitative. For example, a very high level qualitative goal might be “Capture that hill over there”. There are some key results under that: destroy the walls, kill 80% of defenders, keep losses below 10%.

Except: I think that hill over there is a quantity. It’s the one over there. Not the one, say, to the east or west. So there’s a higher level objective – win this battle – which has a key result of capture that hill over there.

Equally, destroy the walls has a number of key results. You have to acquire a wall-destroying mechanism, you have to find volunteers to brave the burning oil and vicious insults…

I fart in your general direction!
Your father was a hamster and your mother smelled
of elderberries!

Implementing a system like this requires high levels of contextual understanding, massive amounts of trust, and the budget to act autonomously. Given freedom to act, people can surprise you – they might recruit a spy to capture the hill fort bloodlessly, but they might also destroy it from orbit. Wider context – the why of this particular objective – gives people limits within which to work. There are plenty of funny stories about AIs that, given open ended key results, do weird things to meet them 100% of the time.

Where does this leave me? I think that OKRs are a high-order idea, and can’t really be implemented without doing the work to make your reports (and therefore entire hierarchy) more autonomous and contextually aware.

Weeknotes S03E23

I have done a lot of context switching this week and so I’m struggling to figure out what I actually did. Maybe it’ll become clear over the course of writing this.

This week I picked up the responsibility of championing the juniors community. I think it’ll be a really exciting opportunity to develop skills in managing more senior stakeholders and getting to grips with policy and business cases.

On Monday I had a meeting with my Head of Community. I mentioned that I’ve been casting around for more generalist skills and he suggested I pick up the juniors community. I met with the current champion and delivery manager and tried to work out what I could do to help it grow to the next level. There are certainly some things I could do on a lower level, but I worry that those are out of scope.

But, y’know. Scopes can be flexible.

I can be flexible, see, as long as everything is exactly the way I want
Continue reading

Weeknotes S03E21

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.

On Monday I played chess with public sector hero Dan in the evening. We played two games, and I only managed to record one. We won a game apiece and talked about the difficulties of working on legacy tech. It reminded me that I have a lot more to do; that the breadth of technical challenges that exist run the full gamut from big data to ancient systems.

The most difficult thing about all of these technical challenges is naturally that they’re almost completely about people.

I also got to play chess at lunchtime with a colleague who’s thinking about their next steps. I’m always interested to know what drives people to make changes like this, though trying to ask questions and also focus on the game is nearly impossible.

Tuesday I wrote some code and prepped my mentee for a panel discussion she was to do on Sunday. It was a long session — we left the office about 9pm — but as I write this on Monday having had a glowing conversation with her I think it was worth it.

I also found out that there’s going to be a round of promotions to Senior Developer. I’m going to go for it, of course: I’ve been in my role for almost 9 months now so naturally I feel ready to take the next step up.0 I’ll need the following:

  • A statement of suitability from my line manager
  • A statement of suitability from my Lead Developer / Lead SRE
  • A statement covering the following:
    • Why I want to be a Senior
    • What experience I have that makes me a good candidate for this role

If you want to chip in, tweet me or leave a comment on this shiny new (possibly not permanent) WordPress blog.

I went to Codebar on Wednesday for my little group of mentees’ penultimate session. It was at Google, and I found myself getting more and more irritated as the hosts have us a 20 minute rundown of their apprentice programme. I get that these organisations offer the space for free; I get that you’d want to do something with all this captured attention. But you could do it ten minutes, not twenty, and let us get on with what we came here for.

I also had a chat with a Fast Streamer who’s hoping to get into software development. I’ve agreed to a weekly check-in with her to monitor her progress, in the hope of being able to get her ready for an interview at the end of the year.1

On Thursday I actually went home at normal time. I had a chat with my mentor last thing and he encouraged me to go for the senior role. This was Nice and Reassuring. We spoke of many other things, including an exciting new corporate objective that is right up my alley.

Ah, Friday. A blur, really, but delicious Nepalese food and the Netflix documentary Mitt rounded out the week.

Then, on Sunday – bonus, personal weeknotes! – I tried making mac and cheese and failed tremendously. My white sauce boiled over and I added the cheese too soon and it split. I had a grainy mush of dinner. Every part of it was wasted.

At a conservative estimate I would say I’ve made this particular recipe 200 times in my life. I can do it. But I was suddenly staring into a mess of gloopy, gritty sauce and realising that I’d rushed into everything I’d done this week. I’d been going so fast that I’d completely ruined a dish where the only important quality was patience. All of a sudden I was aware of the momentum that I’d been building and sustaining all week.

I’m lucky that the person I was cooking for found the whole thing hilarious and agreed to tidy up while I bought more ingredients. I walked to the shops very slowly. I walked back very slowly. I cooked the slowest mac and cheese I’ve ever made. I even checked the temperate of the white sauce with a sugar thermometer before I added the cheese.

It turned out great. Of course it did.

Today I wrote some really good code, slowly. I turned down a meetup this evening and went home instead of rushing across town. I wrote these notes three times before I published them.

Nobody can do everything. I go on about this at every planning meeting in an attempt to get the team to admit that there’s some stuff we’ll never get round to. I said this to my mentee as she went through all the things she’d like to say in her speech.

I would do better to take my own advice and pare back my commitments, but the world is so large, so brilliant, so full of things to learn and do that it seems a shame.

My FOMO is wide and deep and all-encompassing, and I:

That’s from a gag by the apparently lovely John Mulaney, so I recommend you give him a follow or watch this phenomenal bit about the best meal he’s ever had:

 


 

0 I know that this sounds enormously pig-headed, which raises the question: why did I write it? Because I want you to know that I know that, and also that I genuinely believe that it’s true. Beneath the obnoxious bravado is genuine self-belief, which raises the question of why I need the bravado at all.

1 Why yes, it does sound like I’ve picked up another mentee. Funny you should say that. I was reflecting on exactly the same thing.

Weeknotes S03E20

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!

What went well?

At the retrospective today, one of our seniors said that he was really pleased with the way Monday morning planning/tech debt session was going. I was absolutely elated to hear this because I’ve been facilitating them and this kind of validation is the best. The session we did on Monday went really well, though my team have rumbled my tactic of finding the five oldest tickets in the backlog (added 2 years ago!) and prompting a discussion about whether they’re still needed or were fixed long ago. One turned out to be urgent-ish so that’s definitely a silver lining.

I didn’t take a job I was offered. Why is this in what went well section? Because it’s a good job doing something exciting, but it’s not the right one for me. It’s a small signal to me that I’m growing out of the phase of needing to please others: there was a time that I’d do any job someone asked me to do, because it meant they’d seen me. It meant I was wanted.⁰

I finally closed a piece of work to part-automate library updates. In the course of that a colleague helped me fix an irritating bug: if you’re particularly interested in how I fixed it, there’s some code you can look at. Once this piece has been seen through to completion then whoever’s on second line will have the slightly more boring task of going through the automated bumps and figuring out what to do with them, but it should mean more up-to-date libraries and more consistency across the entire system.

I had a good (if accidental) coaching session with a friend. It’s a very strange thing, to ask questions and not give one’s opinion. I’m a white guy from a fairly privileged background. I’ve only recently come round to the idea that my opinion isn’t the only one that matters.

Codebar as ever was enjoyable but tough. I’m taking a couple of students through the Game of Life from a test-driven perspective. I see in them the mirror image of myself when I started, wondering what the point of tests was when I could just hack at it until it worked or I passed out from a caffeine overdose. I am very slowly convincing them, if only because there’s such a lovely endorphin hit from getting a test to go from failing to passing. The fact that it forces them to think about the design and write small methods with no side effects is incidental (muahahaha).

It’s always a late finish and I gave my girlfriend¹ a call on the way home. Somehow she ended up asking me

What’s the difference between pizza and toast?

and it made me think that either I was eating very boring toast or she was eating incredibly boring pizza. I am resolved to find out which it is.


What didn’t go well?

A friend revealed that they’d recently broken up.

What do you say to a friend baring their heart with aggressive vulnerability? What can you do but respect that? I did my best to give the best advice I could. I drew on the well of my limited experience and talked about the fact that it would hurt; that there was no way to make it stop hurting; that drinking just kicked the hurt down the road where it would hunker in the shadow and wait for you.

I also gave them my blog to read, because the support I got from the weeknotes community was phenomenal and writing was incredibly helpful to me. I hope it helps them. I hope it didn’t seem like ruthless self-promotion.

I squeezed myself into a suit to help some friends with interviews. I need to lose weight or buy a bigger suit, and frankly I suspect a bigger suit would be a cheaper approach. I had planned to sign up to a gym when I moved; now that that’s been pushed back to June I think I’ll just have to bite the bullet and go to my local for now.

Starting imperfectly is better than planning for perfection: if I wait for the right moment I think I’ll probably never do it.

Interviewing was hard work, but that’s not the thing that didn’t go well. One of the people in the office was sneezing and blowing their nose a lot. They left at about three, saying “my head just feels like it’s stuffed with cotton wool and my nose keeps running, so I’m going to head home early.”

By a weird coincidence I woke up on Friday with exactly those symptoms.³


These have been your extremely jumbled weeknotes, brought to you by sudafed to stop the running nose, ibuprofen for the sinus pain, and a desire to be away from this computer to go and eat fish and chips and look at my date.

Enjoy your weekend. You’re doing great!


⁰ Therapists, get in line
¹ According to my sisters, who know about this sort of thing, my recent tweet mentioning their kind gift of a creme egg made it official. I’m not sure what this makes it.²
² official-medium, I guess, as opposed to official-rare
³ coincidence is a word which here means not a coincidence at all

Weeknotes S03E19

Groping towards the light

I got this comment on last week’s post:

Every week I am impressed by how much you pack into your life!

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.

https://media.giphy.com/media/3o6MblX3f2qq6lcw7u/giphy.gif

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.

https://media.giphy.com/media/MsWnkCVSXz73i/giphy.gif

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:

  1. teenagers in a group are sullen and bored and disinterested and talking to them is like pulling teeth. From a whale. With soapy gloves.
  2. 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.
  3. 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.⁰

In the evening I had dinner and a chat with a mentee.¹ 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.² 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.³ It’s also politics, economics, and arguing: areas I know reasonably well.⁴ 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.

https://media.giphy.com/media/dfkXw8NbkkxsQ/giphy.gif

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.



⁰ Oh god
¹ fuck, maybe I do do to much
² I can practically hear the eye rolls of people who know and love me
³ Maybe 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
⁴ As 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”.