What day is it?

Monday threw out my mental model for the week. I’ve talked before about how m’colleague and Fast Streamer Felix gets a day off a week to do training and work on his final project. These are normally Monday, but this week we planned to close the office on Thursday and work from home on Friday — so he switched his training day to match.

Long story short, every day felt a day ahead all week and left me with a migraine and a permanently perplexed expression.

I spent some time with a mountain of paperwork for a client. It was a nice throwback to my days in government; reams of paper and questions that have never been tested with users. It was a struggle that would dog me for the rest of the week.

Tuesday: This was mostly taken up by backlog grooming. I also talked through my suggested sprint goals for the next few sprints, and got some really good, hard questions from the team. I know I mentioned this last week, but this is sort of in the opposite direction: it’s so good to have people who can quiz me on my thinking to help me clarify it for myself.

Still, it’s also very stressful. It’s a difficult line to walk between honest, helpful critique of someone’s thinking and making them feel like they’ve not done anything right, and that difficulty is compounded when the presenter themselves struggles with their own authenticity. I’m trying to decouple my opinions on what we should do with the emotion behind it: the fact that I’ve worked really hard on some plan doesn’t automatically confer brilliance on it. Smaller feedback loops help with this — putting just enough effort in it to make a skeleton plan means I’m less emotionally invested in it.

Plus if it works I can do a skeleton dance

Wednesday was a good day. I moved the dev team over to Scrum when I started back in season 1. For the first time I’ve given them two high level sprint goals and asked them to talk me through their approach to meeting them. The response was really very positive; I talked last week about how taking agency away from workers makes them feel shitty, so it figures that the inverse is also true. It’s also less stress (but also slightly more?) on my part. I don’t need to spend as much time writing out tickets and explaining my thinking; instead, I ask the team to come up with the approach and then think through it and make sure it reaches the goals. In Russian, this is Доверяй, но проверяй: Trust, but verify.

This excellent working day, where I think I demonstrated strategic thinking and an eye for detail was somewhat kiboshed by an email from a supplier of Christmas presents, who’d be shipping a gift I’d selected. I had, for reasons best left unconsidered, put in a postcode that did not at all resemble my own. So it’s almost certainly not going to arrive, and I’m going to look like a turnip.

It’s my go-to insult at the moment. Gender-neutral and meaningless, but with a good mouth-feel

Thursday was, as ever, my day off. I went to locate presents: two were cloistered at the local delivery office, and three had to be purchased from central London. It was…a challenge. The jewelry shop in particular was rank with the smell of fear and Lynx Africa. There’s not much more to say about Thursday, aside from the fact that emails were building up ominously. If this were being shot for television¹ then this is where we’d cut between a dam just beginning to burst or a support starting to creak and splinter and me, mundanely fighting through the crowds on Oxford Street.

Friday and my last day at work until Wednesday. I learned more about our CRM, answered an absolute flurry of last minute emails², and talked to Felix about deploying his extremely impressive piece of software onto the interwebs. And then I clocked off at four thirty.

And then I came back, because the US still had a number of hours left before they clocked off and the paperwork from Monday needed a couple of minor tweaks that had to come from my brain.

And then I really did clock off.

¹ Sorry, when

² and received a positive avalanche of out-of-offices from people who’d set up automatic forwarding to people who’d also gone on leave

S02E04: Windin’ down for Christmas

The end of the year is rapidly approaching, which has meant the slow wind down of most customer requests. This has, in turn, lent me more time to do some strategic thinking about my next few years and draw maps.

Monday was a nice quiet day. A client got in touch asking about delivery of their software. We’d actually already delivered it, so there’s a clear lesson from me in clarifying communications and making sure that the definition of done for new work includes letting the client know. It’s the first time it’s happened and I suspect it’s a function of everyone being much busier. It’s annoying, but thankfully not the end of the world. We’ve got some content to tweak and then they’ll be live.

Development has moved to committing to main branch via pull requests. It’s a good first step towards DevOps, but it’s causing a little bit of initial slowness as we identify areas we need to improve before we can go all the way. I’m glad we’re surfacing them, but it’s an unforeseen hurdle that’s slowing down delivery of new features. I’m happy with this tradeoff as it’ll make us faster in the long run — even if it means I’ve got fewer fun new features to show off.

Tuesday was a mammoth technical day. I spoke to the lead dev about our technical debt: as a startup, we generated loads for the same reason that running away from monstrous creatures builds up lactic acid in the muscles and carbon dioxide in the lungs. If the choice is between short-term pain and long-term death, we always choose short-term pain — but now that we’re successful, we’ve got to get rid of it in order to scale to the next order of magnitude. It’s better than over-engineering in the first place, because that guarantees you‘ll never get feedback from your audience, but it means we go from rapid delivery to a slightly more pedestrian pace as we, metaphorically speaking, lie down on the ground and grip our sides, saying “I’m fine, I’m fine, just-woo-agh-just give me a minute”.¹

You’re absolutely right, Bojack

The SMT was the usual fiery discussion. The three of us believe in being honest with each other, and discussion can get very frank. We overran by half an hour, and that’s really frustrating. For colleagues with childcare, 1730 is a hard stop and if we can’t ensure we run to time we risk losing those excellent colleagues. I’m going to spend some time over Christmas thinking about the best way to make this work: longer, less frequent meetings? Shorter, more frequent? Or just an aggressive approach to keeping to time? If you’ve got experience in this field please add your ideas in the comments below.

On Wednesday we had our retrospective. There was a lot of good to talk about, some issues that simply refuse to die, and one solid critique of my behaviour as a leader. There are times when I get too carried away with my experience and knowledge and dictate instructions to the team. There are a couple of things wrong with this:

  • From a leadership perspective: it takes away agency from my team, and makes them feel as if I don’t believe they would have come to this conclusion/technology/answer by themselves. That’s a shitty way to make people feel.
  • From a senior management perspective: my time is valuable. If I’m spending it telling people things they already know, I’m wasting my most valuable resource.
  • From a financial officer perspective: I’m responsible for the costs incurred from development time, and if they’re spending time listening to me tell them something they already know then I’m using company money inefficiently.

Management is really bloody difficult, and a skill I’m still learning. The fact my team are comfortable calling me out when I mess up is something I count as a massive positive.

I’m getting there. I think. I hope?

Thursday was my last lecture in FoC and my last mentoring session of the year. I feel slightly better armed for the year ahead, both in terms of my work and my degree. With the morning free I acquired secret Santa presents for all and sundry: Oxford Street at 10am on a Thursday meant most shops were still relatively quiet. I did my best to walk almost everywhere in preparation for the office party later on.

After the office party I headed over to see some former DDaT colleagues in the Fountain and Ink. It’s really nice to see them and talk about what’s going on in Government and on the scheme, as well as getting an understanding of what works and what doesn’t in their current roles so I can use that learning in my own recruitment campaigns.

Plus, any opportunity to catch up on gossip is an opportunity I can’t miss.

Friday started our next sprint. We’ve got some people off over the duration, but enough of the team are working that we’ve committed to getting some work out of the door. I spent some time with my colleague Felix, who’s gone from zero coding knowledge to building something exciting that fills a very niche user need. In order to exceed his objective he’s got to have it deployed by the end of the year, and it looks like he’s on track. I’m really pleased that he’s making such excellent progress — in part because it’s just great to see people shine, but also because it adds evidence to my belief that giving people space, resources, and a clear direction gets quality results.

There’s another bit of management that sucks — I would have absolutely loved to take the project myself, but I don’t have the time. Instead, I have to support someone who’ll take longer to get it done than I would — but, more importantly, they’ll learn valuable skills and I’ll be able to use the time more efficiently.

I’ve seen managers either claim an idea and then never progress it², frustrating everyone else, or reluctantly letting someone else take it before barging in and rewriting the whole thing. I’m doing my best not to do that.

¹ I went with Bojack Horseman, but this was my first pick.

First image when I Google “stitch”, and you’d better believe it’s staying

² A concept called “cookie licking”. No, really.

S02E03: Do you want to build a program?

Yup, now it’s in your head too

This week was also a pretty bad week pain-wise. My infection from last week retreated from my jaw and made its last stand in my sinuses, which left me absolutely crippled with agonising pain.

Everything about humans is badly designed.⁰

Monday was a fantastically busy day as I caught up with emails and colleagues. I chatted architecture with our new technical architect and outlined my vision for how our technology will scale to support half a million users in the next two years¹. It’s (relatively) small fry after government, but for our tiny startup it’s absolutely huge. It’s exciting, but as ever I’m far away from the actual fun of making stuff. As a consequence I set myself the challenge of building a proof of concept microservice out of some of our data over Christmas.

I spent the evening at university. Mondays are Principles of Programming. I’m self-taught and have built little web services here and there, both as proof-of-concept for managers while in the service and as hobby items for my own amusement. As a result I’ve struggled with rehashing hashes, listening to lists and or even getting into ints.

However, this session was so much better as it got into the theory of Object-Oriented-Programming, or OOP.

Tangential reference or not, if you ever think I’m not going to reference Pitch Perfect you’re wrong.

It was really interesting to see all the ways Python both is, and is pretending really hard to be, an OOP language. It was a great way to wind up the penultimate session of the term.

Tuesday I got feedback on our Posting Template. Our current Fast Streamer is brilliant, and I’m incredibly eager to get some more of them seconded out to us. It’s a great program and huge props to the whole team for keeping it going. They’re also using Google Docs, so I got comments back in a useful format and could edit the same document, ensuring we only had one version and didn’t have to fill up inboxes with “Version 3.1-final-final-corrections-final”.

From the incredible presentation “Git for Humans” by Alice Bartlett

Bam. Whole thing finished and submitted in half a day. #winning

At home I felt surprisingly tired and sore around the head, but figured it was the last remnants of the infection. It sort of was.

On Wednesday I woke up in debilitating agony. It was a sharp, focused pain around the right side of my face, from cheek to temple but focused particularly around my eye.

It was the least fun I think I’ve ever had.

It pretty much ruined my day, to be honest.

However, the rest of my team was getting on with brilliant work. One of our devs delivered a really exciting new product — an automated onboarding tool for new clients. Considering that this process usually takes about a week of staff time, this is a giant leap forward and something I’m so excited to see. We’re trialling it internally on our existing queue of customers (in case it explodes in our faces) but we’re eventually going to roll it out as a service to let new clients totally self-on board and further reduce costs.

Saving taxpayers’ money remains my eternal goal

Thursday was my usual day off, and when I woke up all trace of the infection and illness had disappeared. There isn’t a single better feeling, nor any sentiment more alienating, than getting over an illness. You suddenly enjoy tiny pleasures. You breathe deeply. You look around yourself and marvel at the world. You dance through raindrops, relishing the cold sting that’s wiped away by the warmth of your moving, working body.

That last bit’s more literal. I usually walk from Cannon Street to university, because I’m basically a sedentary creature and I like food so a walk is the best way to keep myself at least vaguely in shape. Usually the prospect of a 45 minute walk in a downpour would dishearten me, but today I danced. I splashed in puddles.

I upturned my face and drank in the glory of sensation.

Then I got to St Pauls and my feet were squishing when I walked so I caught the tube the rest of the way.

My Information systems class was the last one of the term. Next week is revision, but since the term’s lectures have been focused on Agile and Scrum I’m reasonably confident I know the content. In Fundamentals of Computing we examined problems that computers can’t solve and watched this video, which if I’m honest I’m still utterly, utterly perplexed by.

Answers on a postcard please.

I also got to see Louise Cato and Sam Villis in the evening. These two women are brilliant, smart, insightful people and the opportunity to talk to them is so valuable that it made the perfect end to the day. There was a lot to reflect on during the journey home, and yet more ideas for my final project. I’ve started keeping a note of ideas, and they currently run the gamut of fun open-source things to money-making pie-in-the-sky ideas.²

Finally, on Friday, I was back in the office. We did some backlog grooming and trimmed out some more of the ancient dead wood. This regular cleaning forces us to reconsider whether the idea we had is the right one, and whether or not it’s the right time for it. If it’s the right idea at the wrong time, it goes into our roadmap. If it’s the wrong idea, then it goes in the bin and we ask ourselves how it ended up in our backlog in the first place.

Whenever the answer is “because we didn’t have a roadmap” I do a happy dance.

I also prepped the agenda for our SMT next Tuesday and got a debrief from the CEO about a potential new product. A client we pitched to a little while ago has come back and told us they’ve got funding, so we need to talk about how we’ll approach it and what we’ll need. It’s a really exciting opportunity, and if the funding is at the right level it means I’ll be able to look at bringing in another team member very soon to own it.

Exciting times.

Unrelated to that — for now — I also spoke to a friend who’s unsatisfied in their job and looking to move. The dissatisfaction is caused by a lack of control over their career, learning, and development. It’s a stupid way for organisations to lose brilliant people, but a great lesson for someone just starting out in business.

By the by — if you’re reading this and thinking that the employee might be one of yours, please take this as a sign from the universe to start trying to fix your culture.³

#programming(self, others)

I’ve got early sight of Miguel Grinberg’s new Python Mega Tutorial, which takes novice Python developers through their first web app. I think it’s brilliant: well written, clear, and perfect for someone who’d like to do web development but doesn’t know where to start.

I’m quite keen to get more Civil Servants coding because I think a basic understanding of building tech and how easy/not-at-all-easy it is is a valuable thing. I know my audience is mostly digital Civil Servants, so: if I offered a course that covered basic Python, then building a rudimentary web service, then (if you’re interested) more complex services — would you be interested? Would your colleagues be interested? Does such a thing already exist?

Let me know here or on Twitter.


I’m going to see Hamilton: An American Musical in January which is NEXT FREAKING MONTH, PEOPLE so that soundtrack’s been on for every day this week and will continue. I’m halfway to working out whether I can make it our hold music.


⁰ Except for that example beloved by morons everywhere, which is the proximity of anus and genitalia. If someone ever makes this joke to you, ask them where else they would put the part of the body that excretes. Hands? Belly button? Feet?

¹ Eek.

² That’s my pastry products delivered by drone idea, by the way

³ It could be you. If it isn’t now it will be. Fix it!

S02E02: Betrayed by my own face

This week is sponsored by the feeling of pain.

Content note: I talk about throwing up in this blog⁰.

Having returned from a weekend that involved many bottles of incredibly good vodka, I returned home with a twinge in my jaw. Being socialised as a man required me to say that to everyone who asked, because agonising pain is not something chaps are really allowed to admit to unless your arm’s been separated from your body.¹

As a result, on Monday I shotgunned a couple of ibuprofen on an empty stomach and then promptly vomited noisily. I’m not sure if that was the ibuprofen or the fact that airports are hideous cesspits, but it happened and it was not enjoyable. Side note: there is a TARDIS-like quality to the amount of stuff you think is inside you and the amount that somehow comes out of you when you’re ill. It’s totally weird. I tried to take the day off, but work kept coming in. I answered the questions I could and stayed close to the bathroom in case of further eruptions.

On Tuesday my boss went to speak to one of our first ever clients and had a really good, really frank discussion about how they’ve been using the product so far. In general the feedback was good but there are a few items we really need to get moving on. There were also a couple of really exciting suggestions that we’ve added to our roadmap.² Emails remained continuous. They’re a good sign that our content isn’t up to scratch, but frustratingly the responses take up the time we’d use to write the content. It’s an absolutely frustrating vicious circle.

My jaw hurt even more. My partner reminded me that we live within a ten minute walk of two dentist surgeries, that things don’t just get better by themselves, and that if I continued to sit around whining but refusing to do anything about it she’d smother me in my sleep.

Wednesday: I called the surgery and got an appointment the same day for 12 o’clock. It cost me £20.³ It was an extremely short appointment that went something like this:

Me: I think it’s infected

Doctor: Let’s have a look. Oh yeah, that’s definitely infected. I’m going to drip some anesthetic on it.

Me, seeing the doctor reach for a syringe whose needle was at least as long as my leg⁴: I’m fine with tablets, honestly.⁵

Her, laughing: Oh no, this is just so I can drip it more accurately! Haha!

Me, externally: Haha!

Me, internally: This is how I die.⁶

The rest of the day was dedicated to preparing Jira tickets for some custom work for a new client. I made some progress on automating this process and I’ve got some ideas about how to make it better. I’m currently tossing up between storing multiple API keys and writing something that will act as a pass-through in Python, or learning Google’s Java-esque equivalent of Microsoft VBA.⁷

You’re goddamn right it is Ben

On Thursday I met a friend for lunch and realised that I was a bit early⁸, so headed to class and did some more work on my assignments. I’m not allowed to open source them because plagiarism?, but once they’ve been graded I’ll be able to show them to you. I know you’re keen.

Friday was the first day of a new sprint, and we spent the afternoon on our retro. I felt it had been very sketchy on my part due to extended not-being-there. We had a good discussion that focused on what I need to do to enable the team to work with even less input from me. One of my major bugbears was that we’ve been blindsided by a couple of high priority items, so we trimmed 20% of the lowest priority work from this sprint in an attempt to give ourselves a buffer. If we get extra work we can take it on, and if not we’ll have that extra work to get on with. I’m looking forward to the next retro to see how it works out.

We’re also looking at changing our pricing structure, so we spent a couple of hours going over some models in Google sheets. I love Google sheets. It’s not as robust as some Excel workbooks I saw in Government, but that’s because those workbooks were being used instead of databases. Yes, they don’t work that well. But they’re not supposed to. The fact that you’ve made your car run on thousands of hamsters in wheels doesn’t mean you should recommend it to anyone else. Nor should you complain about the lack of hamsters in your new car.

What went well

  • Sorted out my tooth!
  • Tweet about how being a grown up is about toothache got good engagement!
  • That’s about it
  • Yikes

What didn’t go well

  • General illness

I am literally incapable of not doing this, and now neither can you
  • General feeling of not having enough time, more than likely caused by illness

  • Toothache which persists even now. Boo.

⁰ So help me Michael

¹ This is Deeply Unhealthy, and with any luck I’ll get over it soon.

² We have a public roadmap that I suspect almost nobody looks at, but to be honest it’s more for me to store ideas away from the trash-fire that is Jira.

³ Good lord, what a beautiful thing universal healthcare is

⁴ Literally.

⁵ I’m just not okay with needles

⁶ I did not die, apparently

⁷ This is my favorite kind of conundrum

⁸ A week early to be specific