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
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.
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…
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.
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.
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:
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’
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:
write down all the ways it could go wrong
write down a few of the ways it could go right
write some code
see how much of 1 and 2 go green
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.