Weeknotes S04E06: Do what makes you happy

I’ve had a week where I’ve been trying, in various ways, to sell myself and work out what I want to do. I’m coming to the conclusion that the question people like to ask – “What do you enjoy?” – is the wrong question for me. I’m putting this out there in the hope that other people will identify with it.

Continue reading

Weeknotes S04E05:Infinities of different sizes

Do you know about Hilbert’s infinite hotel?

It’s a curious place. The room numbers start at 1, and they go on forever. There are an infinite number of rooms and tonight, they’re all full. Every single one.
A guest appears out of the darkness and asks the desk clerk if there is room. The clerk, of course, says yes. The night is dark, the guest is cold, and cold hard cash is, at the end of the day, cold hard cash. But where to put them?
It can’t be in room ‘infinity’, because that’s an absurd proposal. There’s no such number. Room 1 exists, but that room has an occupant. As does room 2. And so on, and so on.
The desk clerk considers this problem and comes to a conclusion. All that needs to be done is that everyone move up a room. The occupants of room 1 will go to room 2; room 2 to room 3, and so on. There are infinite rooms, after all. Everyone can just go to the room whose number is one greater than their current abode.

Continue reading

Weeknotes S04E03: If you want to go far…

What a week!

This week I’ve been fighting with two different frameworks for two different languages, both apparently necessary for building a modern webservice. It’s awful. Don’t bother. There’s no such thing as a fullstack developer, and people who say they are are unicorns, ie: either fake, or metaphorically speaking a horse that can gore you to death.1This is a thing most horses dream about in their vicious, horsey heads

Continue reading

Weeknotes S04E02

People stuff is much, much harder than technology

This is a weeknote and also a more reflective piece on ‘People’, alongside organisational design and process in the Civil Service. I am working through a reasonably complex problem and this will help.

Other life stuff first: I am inching closer to owning a tiny bit of a flat, in partnership with the Government and a bank. It looks like I’ll finally be moving in around June, so that’ll be an exciting opportunity to organise vans and box up my life. I’m going to take at least a week off work to do it; possibly two: it really depends on how quickly I can move in.

My solicitors have been excellent throughout, so I shall take this opportunity to recommend Sterling Ackroyd Legal, even if they have recently moved to a new office on the same road but twenty minutes further away, the net result of which was me arriving late and sweaty when I realised I had much much further left to go.

Throughout this process they have been keen to call me ‘Mr Kerr’, which is my dad’s name and therefore always a bit perplexing for me to hear. I should note that I am 30 years old. I hope this becomes less weird soon.

This week I’ve been experimenting with request for comments (RFCs), which are a neat way of checking understanding and exploring what people are thinking around an idea or proposal. I’ve written two this week’ one is currently circulating in the community and the other will be sent out in the next couple of weeks. The feedback has been universally useful, and I really like the asynchronous format because it allows people to write considered, thoughtful responses. I’m using this template: http://philcalcado.com/2018/11/19/a_structured_rfc_process.html

I am rediscovering the loneliness of leading a thing. It’s something I’ve not felt since my last leadership role2obviously and it remains a hard thing to manage. I like being around people and bouncing ideas around to make them better. To that end, I’ve forced myself to work in the busy social space while I’m in the office. I also go out once a week to Whitehall and hang out near other Early Talent teams, hoping to absorb wisdom and ask awkward questions. It has been successful so far. It’s also given me a potential software side-project: I don’t want to let those skills atrophy, and doing something that’s technically difficult rather than people difficult makes a really enjoyable and refreshing change.

Does anyone want to be my friend?

My mentee is making really excellent progress. I’m making her work through this: https://github.com/jonodrew/miriam-adventure. It’s the beginnings of an adventure game of my own creation, and I really enjoyed making it. I feel like the future of teaching will rely on more creativity for teachers as it becomes trivial to find the answers to re-used questions. If you’ve got suggestions on where to take the adventure game next I’d love to hear them – or even better, see a pull request. Alternatively, if you’re starting to learn Python, please give it a go and tell me how you find it.

Finally: I’m trying out an investment app and I think I’ve made some money. It feels like a good way of trying out this “ethical capitalism” thing, where I invest money in companies that aren’t awful in the hopes they’ll do good things with that money and eventually I’ll profit from it. It’s slightly more likely that I will just lose the money but, as with all gambling, I’m not putting up anything I couldn’t stand to lose. It has given me a new thing to be anxious about, though: should I hold, sell, buy, leverage, or just start reading the Financial Times? They’ve got pretty sassy recently and goodness knows I like that…

Dear FT readers and frequent flyers

British Airways has decided to stop providing the Financial Times to passengers on flights, in lounges and at gates worldwide. We recommend you pick up a copy on special offer at WHSmith Travel outlets or, as an FT subscriber, download the e-paper at FT.com or refresh the FT app before boarding.
We regret the inconvenience caused to our regular readers by BA’s abrupt decision to end its long-standing partnership with the FT. Of course, the world’s favourite business newspaper is widely available on a range of other leading airlines
Oh, the shade

The piece of work I’m doing has a sort of organisational design flavour, and what I’m finding is that there’s no bottom. The problems are fractal: every problem contains within it a multitude of other problems. At a certain point you need to pull out and say “I am going to try to solve this problem, accepting that I can’t solve everything.” Working out what that level is though – that’s the difficult thing. It’s clearly somewhere between “I must fundamentally overhaul the basic precepts of the organisation” and “Changing this label will solve this problem”.

I’m working on making our early talent3yuk engineering community more diverse and thereby strengthening our entire talent pipeline.4double yuk I’m therefore looking at our recruitment practices to make they’re welcoming and unbiased and genuinely helpful, as well as how we retain staff and where we’re not doing as well as we could be.

My brain hurts

Recruitment feels for the most part like a solved problem. I think we could be doing more to go to places where more diverse candidates are likely to be, and I think we could tweak some of our processes to be even more inclusive, but in general I’m confident in saying that my organisation does recruitment reasonably well.

Retention, though, is a really interesting and complex problem. This is more true in technology than in the policy profession, I think, because while there’s nowhere else you can support ministers drafting legislation there’s plenty of other places you can write code. In addition, the excellent pension that attracts many career civil servants simply isn’t as valuable in an industry where the average tenure of an engineer is 1.5 years.

In turn, this means we have to really examine what we’re looking for in the people we hire, and maybe try rethinking how we retain them. Some departments, such as the Department for Work and Pensions, have set up a GovCo – a government-owned ‘private’ company. Being outside Civil Service pay bands means they can pay closer to market rates – for example, paying a senior Java developer up to £84,000. Within the organisation, that high a salary would put you at Director level: two bands below a Permanent Secretary and responsible for a directorate. In the FCO, one director is responsible for the entirety of Europe.

(If this ‘band’ talk is perplexing you, by the way, do please watch this clip from Yes, Minister which should clear the whole thing up for you.)

Your conclusion from this fact might be that we pay our directors very little, compared to the amount of work they do; or that software engineers are paid enormous amounts for the work they do; and while both of these may be true they do not change the cruel calculus that we live in a market-based economy and these are the current costs for labour.

From the other side: if we avoid setting up a GovCo then we have to work within pay bands, and that results in the kind of odd position I’m in – where I’m a Band A, a grade that in other parts of the service would have entire teams to look after. And that’s before we look at all the different names, and pay, for bands across different departments…

Like I said: the problems are fractal. You start out trying to improve the retention of women and BME software engineers, and you end up realising that you need to reform the entire pay and reward structure across an 800,000 person organisation.

With that being said, I think there are some levers I can still pull. We’re still doing phenomenally important things – this week GOV.UK Notify sent its millionth letter.


Working in government is still an opportunity to work on massive, at-scale platforms and challenges associated with helping 100% of your users – not just the 20% that deliver 80% of your revenue.

This is one of the levers: we do good stuff. I’m also looking at beefing up our training offer and maybe taking advantage of higher level apprenticeships – because it’ll commit people to us for 3-4 years, but also give them a combination of technical skill and theoretical knowledge that’ll put them head and shoulders above everyone else in the field.

At the same time I’m open to ideas: I want to know what we could do to bring in diverse people and make sure we’re the kind of place those people could see making a career. The industry average is only an average, and I think we could bring that average up by doing what we can to keep people where they are.

This week has been a reminder that I like planning and strategising; that I need to be around people; and that there are vast oceans of knowledge that I’m still ignorant of. I’m enjoying the journey, even if my boat is so very small.

O, god, thy sea is so great and my boat is so small

This plaque was on the desk of John F Kennedy

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 series5Yes, the US-ians call them seasons, but damnit half the crew is British and I shall call them series6Although 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’
  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’s7If I had one 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.