Nobody Likes Code Reviews

Judgemental Pigeon Disapproves

Typical tech team conversation:

“The work is nearly done, just a few tidies but it basically works.”

“Has it been properly tested?”

“Not yet, but the basics work.”

“And any changes that come out of a code review, I assume.”

“True, but hopefully not many.”

“So still a fair bit to do then.”

“Yeah, a bit more.”

We’ve been running code reviews for a few years in a fairly tiny team with a mix of experience. For context, we don’t generally have strong specialisms, and do a fair bit of picking-it-up-as-we-go. Over the time, I’ve noticed two fundamentals:

  1. Nobody likes code reviews
  2. The right attitude to code reviews goes a long way, both for individuals and for the business

Part One: Nobody likes code reviews

You’ve just spent days using nothing except your brain and fingers to craft a solution (elegant or otherwise) to the latest user need – brilliant! The problem to hand is solved, everyone will love you, blah blah blah. Onwards and upwards.

Except – Code Review.

(If you’re not familiar with the term, then a Code Review is basically a chance to run what you’ve done past someone else. This. Is intended to catch bugs, raise questions about the work, point out improvements (including style, documentation, formatting, etc), and learn from each other. The actual benefit will depend on who’s reviewing who – it can be beneficial for a junior member of staff to review a senior member’s work, and vice versa, but the dynamic will obviously change.)

The word itself is horrible; “review” sounds so judgmental. Like your work is going to be scored out of 10 by some gravy-train critic with an axe to grind. The code works, doesn’t it? Why does it need anything further? This isn’t school any more.

There are two main reasons to be “afraid” of having your code reviewed:

  1. Explaining things to others is hard and boring.

  2. Being “wrong” is difficult.

This gets at a fundamental “double-think” that helps in code reviews – and, indeed, in life. On the one hand, how can we be proud of our work so that we can take interest and responsibility for it, while simultaneously being humble enough to accept critique?

Part Two: The right attitude goes a long way

In order to not hate code reviews – and to become stronger as a result of doing them – we must therefore develop a key set of skills as a programmer being reviewed:

  • Respect for the person reviewing, whether they’re more senior, junior, or an equal peer – without this, we cannot be open to suggestions from them. (And vice versa, it is essential to respect the person whose work is being reviewed. This mutual respect is the key part of the “contract” underlying reviewing each other’s work.)

  • Patience to explain something (often to someone who may otherwise have no idea about context)

  • Clear communicationstorytelling about what you’ve done (and not done), and (more importantly) why you’ve done or not done it

  • An inquisitiveness that opens us up to collaboration, to help explore feedback and suggestions arising from review.

By focusing on these as key skills to develop, a team can learn more quickly from each other. Individuals can improve their own skills faster, as well as learn more about working with other people generally – an essential, yet subtle side-effect of code reviews is learning how other people think. By being open to alternative thought processes, we can expand our own, and bring wider experience to problems in the future.

As Tech Lead (or a senior developer), what can I do to encourage these properties in the team?

The main, most essential thing is to simply lead by example. It’s good to become part of the process by reviewing code (as may be expected, depending on the team size) and adhering to the values above. But also it’s important to write code and be reviewed – this demonstrates what you believe to be good practice. Plus everybody has something to learn off others – often a junior member of staff reviewing your code will ask you basic questions that get you to think about your basic assumptions.

Secondly, and this is something I’d like to bring in more, it’s valuable to be very clear about the aims and values of the code review process up front. Inform new staff about why code review is important, and remind people every now and then.

It’s very powerful to be able to say that a team can learn from itself rather than rely on books and courses, or that a developer’s job entails learning and teaching, above and beyond simply pushing out lines of code and UML diagrams. Learning and teaching is something a good team does all the time, as a matter of course.

I haven’t touched on more detail here, such as what the main attributes look like, or what to look out for to see if a team really are developing as a unit – maybe I’ll follow up with these in a later blog post, if there’s interest.

Weeknotes 07×04: In and out the dusty Jigglypuffs

Welcome, reader. Here are some weeknotes…

Before the week…

What am I looking forward to this week?

Thinking through the next steps of the tech team Roadmap. Keep on running, and all that. And there’s good potential to line up some really satisfying work for the team over the summer.

What am I not looking forward to this week?

Balancing a bunch of work stuff with chicken pox childcare.

What am I not sure about?

Planning for upcoming busy with people being away, or out and about. Takes a lot of effort to keep the dots joined.

Expected theme

Lots and lots of tiny steps.

After the week…

Actual theme

A strange sense of getting things done without being there much.

What surprised me?

Getting excited about doing public speaking – see Friday.

Space for links.

But more prosaically I am missing two things from my diary:
– time to do some proper thinking and get into ‘flow’ so I can do more than just respond to things (and avoid getting into the habit of doing this as the weekend)
– Some unscripted time where I be available to my team for follow up actions and checkins on projects

  • Why Small Teams Win: “When everyone knows and understands exactly how their contribution adds to the final product, everyone on the team ends up creating better work.


Bonk Halliday.


Half day. Early in for an early finish, only to find some hastily arranged meetings and other people on sick cover. This is fine, but in combination with my own hours being thrown around, meant I spent some time rejigging my thoughts and plans for the next few days.

Re-prioritised the important stuff I could help with. Warned the team about stuff that was likely to get pushed. Succinct summaries in Slack as a reference point for later.

Chatted to our partners on GDPR. Trying to bring everything together in a smooth, organised fashion, but I suspect that’s not going to happen, now that we’ve discussed everyone’s diaries.


Discussed product pricing with Kim and Stefan. Felt for the first time that I kind of got this stuff – how market development is all about a balance between revenue and sustained business, but also how it can dovetail with opportunity. We’re looking like we need to discount a little to pull in certain clients, but the cleverer approach ties this in with market opportunity 3 or 4 years ahead, the potential for expanding the team in the short term, and opening up new projet ideas.

They might not work out, but it all makes sense in my head. (Obviously this lack of angst and puzzlement makes for rubbish weeknotes. Sorry.)

Finished by fixing a web thing which I’d got stuck on. Again, crap weeknoting. (Lesson being learned: uh, look in the obvious config files? #mindblowing but #smalltruths)

(Better lesson learned: Legacy code is complex and I don’t think our current approach to exploring it is particularly geared up for easy access or collaborative exploration.)


Had to cover #son2 as his reign of pox came to an end. Did some gardening and went to the playground.



Long sprint planning meeting in the morning. There’s a lot of stuff coming up, with a self-imposed deadline at the end of the month, so useful to talk it all through. But still feels like it’s hard to get a basic overview of priorities, and that we’re still spending a lot of time deciding whether other work should come in or not.

Maybe that comes down to a mix of three things?

  • 1. Focuses are discussed, but not strongly adhered to – can we be clearer on priorities in the days before the planning meeting?
  • 2. The world is changeable – c’est la vie, but can we be clearer about whether a change necessitates an interruption to expected focuses?
  • 3. Skill sets – what personal attributes do people need in order to make a decision quickly – Familiarity with the work? An interest in progress rather than complete correctness? Sharp rationalising?

Strikes me that playing games with time limits on might be a good exercise for decision-makers in group environments – I’m thinking stuff like speed chess, or any fairly fast, but complex game.

In general, I wonder if there’s a link between playing games and effective decision making?


Good retro on scope creep, which turned into looking at different kinds of specification and clarity/uncertainty. I have a personal action to plan out longer term estimates and business value measures better, but realistically not going to happen in the next few weeks.

Also finally, finally had a good session with Excel or improve our reports on Hive Pixie. I can see an end now, now that the Proof of Concept has been proved. Very happy.

And this sprint, in our Pokémon-based naming system, is the classic “Sprint Jigglypuff”. Generally a good feeling today, and seems appropriate for Eurovision week!

Shut it, Jigglypuff



Worked from home for domestic logistic reasons. Which worked out well and got loads of stuff done. Mostly digging into my email Backlog, and digging out policies for all the third party services we use. Woooohooooo.

Must dedicate more time to maintaining emails – what is the best time of day for this?

Scarily, I’ve signed up to do a quick talk about Democratising Big Data at the end of June – looks like I’m the only non-academic-Doctor talking. Feeling a little sense of imposter syndrome I guess, but not as scared as I would thought I’d be.

I’ve got to send a quick abstract of the talk next week, which is forcing me to think about my point, and my narrative – and I’m actually getting really excited about it! So I just need to fend off the feeling of Imposterness with some confidence that I know the subject (a decade of working in the area helps – A DECADE) and a clear line that I can follow, so I don’t go off into strange waters.


Future plans

Been writing up a blog post on Code Review Culture following on from last week’s notes – I will finish it this week.

Also Ian noted his interest in a broader series of posts, looking at establishing a culture of errors more generally, so I’m hoping to start plotting a few on this.




  • Saw two ducks having a right old barney with each other. Didn’t know whether to break it up or what.
  • Fish were jumping on Tuesday morning. Pretty big too, size of a human footy I reckon.
  • The bluebells are still out!

Weeknotes 07×03: GDPR. Development. Personal. Reviews.

Sorry, no time for gifs or pics this week… THE CONTENT IS TOO INTERESTING IN ITSELF.

Before the week…

What am I looking forward to this week?

Breaking the back of my GDPR work. Unless it breaks me first.

No crazy deadlines – I should take the opportunity to smile a bit. I’m far too concerned about whether I doing the “right” thing. Last week taught me I really need to rest more.

The second round of Book Club.

What am I not looking forward to this week?

Hmm, nothing in particular.

What am I not sure about?

Discussing mentoring and my own career. Feels odd just writing it down, tbh.

Expected theme

Good progress on multiple fronts. Expect pretty boring weeknotes then…

After the week…

Actual theme


What surprised me?

Getting staff development back on the agenda.

How much I’ve taken unnecessary things off my plate the last few months.

Space for links.

  • GDS book Digital Transformation at Scale via Emer Coleman’s blog
  • Cape Town Water usage map – Cape Town had to cut its water usage by more than half, to survive the year, which meant massive, coherent action across a divided city. What role will real time data visualisation play as feedback, as we have more need to change habits in the face of climate change? Can it be integrated sensibly with civic change programmes, or will it be flapping alongside, a tech or artistic curio?

Monday – GDPR and team development

Monday sit-down. Dev stand-up. Got on with some code reviews to keep things moving. The current work looks within striking distance, and John is off from Wednesday, so important to keep things ticking.

Some solid GDPR work – audited our main databases to check for user data, and all as expected. Draft plan in place to tidy up a bit, and caught Stefan (PO) to work out when we can do the work. Google Sheets, Confluence checklists, Jira, and post-its, all working in uniform at last. Very happy.

Monthly management meeting after lunch. Bit of a push through finances – useful stuff, but tricky to draw a line between getting an overview, useful discussion, and too much detail. Would be good to get a better agenda for this meeting, and a chair to keep thighs “fresh”.

I got to discuss options around possible mentoring for me, and we decided the time/cost isn’t quite right (which was a shame, but why I wanted to raise the question with others, and fit with my own hesitations). Best result was that it aired the conversation around personal improvement across the team as a whole, which is important – moreso than my own mentoring.

The balance between company and self – partial vs impartial – in this decision is a strange one. As I suspected, personal development needs to tie in with company plans, and as ever, I don’t have much of an idea on how much weight others want to place on “tech” in the company.

If I don’t go for this particular mentoring, it does leave me with a bit of change of plans though, and I guess I’m back to looking for maybe some free mentoring on tech leadership.

Tuesday – Code Reviews and Pokemon

Code review day to keep the current dev push ticking along. Mostly Javascript, which is a good opportunity to sanity check and pick developers’ brains. Code review is all about my learning, and today I had a useful discussion about semi-colons (really?) and realised I needed to document some code approaches better, so did.

I still feel a little uneasy about code reviews, and a wary about coming across as too antagonistic. Developers are often (rightly) proud of their code. But also (wrongly) want to move on to getting the next thing working. Code reviews stand somewhere in between criticism and learning opportunity, but neither is inherently welcome if the attitude is one of just “get stuff working”.

It feels like code reviews could have their own cultural definition. Time for a spin-out blog post!

Went Pokémon hunting properly for the first time, with 4 kids. Kind of oddly hilarious.

Wednesday – Me and Future

Activate completer-finisher mode – pushed to close off a bunch of sprint work. Jumped into Javascript and things went well.

GDPR catchup on our servers.

Had a bit of a 1-1 with one of our Board members, which was really good. It’s been a while (or never?) since I’ve talked through my thoughts on my own role, and what the company is doing. One hour is pretty short, so it was a bit scattered, but came out of it much more relaxed.

Firstly it helped me to list the stuff I do, and work out which aspects I enjoy, which are necessary duty, and which I’m just “hand-holding” temporarily. I can start to think about “exit options” and handover ideas for the last of these.

Second, it gave me some confidence to push forwards on the things I think are important to me. I really want to get a stronger tech programme in place – it feels like we’ve got a bit “settled” in our habits, and it could be pushed forwards a bit. In reality, this would mean stronger change and adaptation, including :

  • better staff skills and learning
  • clearing up code debt
  • bolder, clearer roadmap for internal change
  • more integration across the company, rather than just my team
  • clearer, nimbler process for all of the above

I feel like the last couple of years have been a lot of on-the-job practice to work out how to do the these things. Now I’m ready to apply it all.

Lastly, by listing my roles, I also realised how much stuff I’d already handed over, these last few months. A couple of the hand-holdy projects I used to list in my roles were no longer there. Not writing them down reminded me that it’s ok to relax a bit again.

Also #son2 has some spots. Has he got chicken pox?

Thursday – Small Steps and Learning

Catch up chat with our partners to raise some GDPR stuff with them.

Released an update to a site, trying out some new deploy scripts which almost worked. Took longer and was slightly more nerve-wracking than expected, but all fine 😉

Had a very positive chat with Stefan (PO) to arrange one small next step we can do to improve our debugging process. In essence, it was a chat to ask “permission” to raise errors more clearly, with a simple decision to use a single label in Jira, and agreement to review these regularly. Another small, but important, step to happiness…

Chatted through options on some analytics work with Joel. Should be a nice bit of work coming in over the next few weeks.

Had some fallout from a “bit of an incident” from the day before, which I wasn’t directly involved in, but tied in with thoughts on staff learning I’ve been having the last few months. Everyone makes mistakes, but not all mistakes are equal. Errors are the best way to learn, but not always good for the whole. How does a manager know when to let mistakes happen, and when to step in and stop them?

(The risk of “micromanagement” comes up, but rarely gets mentioned in the context of “a series of small errors adds up to systemic catastrophe”.)

As above, we have code reviews in place. But an error-encouraging environment needs a lot of infrastructure in place. This week, 1) code reviews missed a piece of functionality being missed out (although this got caught by testing), and 2) I noticed some reviewed code which could have been better, and went back to help (“force”) a bit of a rewrite. What does that say about our failure infrastructure?

Yeah, can definitely see a series of blogposts here…

Friday – Chicken and Pox

Turns out #son2 does indeed have the chicken pox, not just lots of insect bites, so stayed at home to look after him. Got an hour on emails, although was most proud of summarising an overview of the immediate upcoming priorities. Summarising stuff is definitely an art.





  • The little white rowing boat has been seen, out from its slumber shed, being prepared to guard against liquid leaks. The boat is named after a lady who helped get the pond setup as a community adventure. I really want to catalogue all the names the pond has dedications to.
  • Pulled out a road sign that had been dumped in the pond. It was covered in lime green blossom floating near the pond edge.

Weeknotes 07×02: So much going on that one title can never suffice, but at least Skateboards

Before the week

What am I looking forward to this week?

  • Nothing in particular, maybe just the chance to wrap up some long outstanding work, having a bit of a clear out, and meeting up with James on Wednesday
  • Getting our IMD poster framed

What am I not looking forward to this week?

  • Reviving our Australian project – things are busy, and I really hate trying to re-prioritise things
    ** (Actually turned into a very rewarding meeting)
  • Picking up on some potentially awkward conversations
    ** (Actually just shrunk the scope and turned out very useful)
  • Jumping about like a headless chicken
    ** (Yeah this happened. So much.)

What am I not sure about?

  • How much time in between meetings I’ll have, and how best to spend it
  • How the dev team get on self-organising a bit more formally, but looking forward to finding out either way

Expected theme

  • Jumping about like a headless chicken, trying to decide what to do next, cluck cluck cluck

Chicken : me, Cat : life
Chicken : me, Cat : life

(After the week)

Actual theme

  • Lots of good stuff, but too much of it. More jumping about like a multi-headed chicken than a headless one.

Ideal chicken me, Tortoise = Something very wise?
Ideal chicken : me, Tortoise : Something very wise?

What surprised me?

  • Someone else bringing Monday morning treats in!
  • Making a suggestion during a meeting that got back to the heart of the relationship with the client, and the empathy and relief that went with it.


Skateboarder in a little, as #son1 was cycling to school. Felt nice, even if I had no more than 5 minutes’ board time. Good way to start the day.

How I see myself getting to work
How I see myself getting to work

Sit-down, company catch-up. Dev stand-up. Lovely that someone else brought in Monday pastries too, so lots of cars in the office to get us going.

Planning out our next server migration with Gregor (sysadmin and professional [toads] player), which feels like never-ending work. I know it needs doing, but I swing rapidly between being glad we’re doing it, and depressed because it’s trudge work that’s not particular interesting, and needs careful handholding to keep smooth.

Phone call that I wasn’t hugely looking forward to as the project has been dragging for years. However, it turned into a surprisingly pleasing meeting, surprising to myself for pushing for slightly harder, clearer deadlines, and also for suggesting a route that feels like it could fundamentally change the relationship with the client. It wasn’t a suggestion I was planning on making, but there is a certain empathy, even via voice calls, that taps into clients at a personal level. It’s why OCSI is such a great place, I think – we will work with our clients to get them the best of their position too. It feels like a good move in this case as well, for now at least.

Rest for lunch.

Sorted out Jira issues from the migration planning.

Pre-sprint-planning-planning meeting, which needs a better name. OMG epics are so useful – clicked through my top 4 or 5 epics in Jira to see what work was left, and dragged it into the next sprint. Bish bash bosh.

During the day, got some nice feedback on the 3-month planning/clarity I was [looking at last week], so glad it’s not just me feeling the benefits. Must remember to carry on with this despite other people feeling pleased about it, I’m a terror for stopping at that.

Me actually going to work
Me actually going to work


Reviewed the dev team’s planning work – such a difference to the last set of work. It’s amazing how much can be learned quickly, given the right feedback. Shared Google doc to collect thoughts and notes – effectively collaborative, or peer-based, writing, which raised a few questions and changed a few thoughts on the way.

The main issues were some detail on tech architecture, and the Naming of Things. Managed to get a clear path on the former,and raised the second later on. Naming things is one of Those under-appreciated aspects, or rather, I’m learning to appreciate it more and more. Finding a term of art that makes sense to end users, wider team, and developers – all in different worlds – is hard. A term needs to both draw on and cut through the confusion of the existing system, and everyone’s previous contexts somehow.

The team going to the pub
The team going to the pub

Wrote up notes from yesterday’s meeting and sent off.

Catch up with MT on staff illness.

Got a frame for the poster, one step closer. Will bring a nail in tomorrow.

Had a good 1-1 with John, great to see him becoming part of the team, and the culture, and put me a bit more at rest. It really does take 6 months or more (the best part of a year) to get used to a new workplace.

Tidied up some git and dev setup work for an issue in the sprint, nice to round it off.


Took a nail and some screws in to hang the picture up. Will bring a drill in tomorrow.

Had a chat with Luke about availability for development time, vs other “functions”. Trying to get the hang of raising discussions (or lining up chat time) for “concerns” sooner rather than later – I often see things as the Big Picture (“OMG, do we need another dev or what? What’s our year’s strategy for dev skills?” etc) when actually a 15-minute chat with one simple question/answer will do the job. If you know what the question is.

Maybe this is a core skill of the Dot Joiners in the world – when someone has a concern, get in a quick, focused conversation time to keep things moving in the right direction.

Think I chatted to John about some Javascript. It’s starting to feel like a good pairing – he’s good at digging into code and has good suggestions. I understand the bespoke framework and legacy timeline. The main challenge is just managing our joint frustrations with dealing with complex code that is neither of ours’. Casual, open swearing is not to be under-estimated.

Also had a talk with Joel on use of Google Analytics. Definitely starting to feel more like a consultant in my role today…

Early finish. Met up with James and chatted about Brexit and remote working (separate strands, maybe?) Finally gave him a copy of The Rough Guide to Blogging which I’d picked up in a second-hand shop months ago, and a photo-essay on the Burry Man from Cafe Royal Books.

Wait I'll come over and help you
Wait I’ll come over and help you


Forget the rest of the day, brought in a drill and finally got the lovely Local Authority IMD poster by OpenDataManchester up on the wall.


Sprint planning in the morning, made slightly odd by half of the dev team not being there. Tried to block in some time for my own planning ahead around lunch, but some fallout dev work after the morning session + lunch meant I didn’t get much time to do this. Fortunately, a check through my Jira Epics showed things were gradually progressing across the fronts I’m focusing on, and so not too much needed.

Had a handy chat with Stefan on team skills – I’ve been developing a tech skills framework, and he’s looking at researcher frameworks, so now seemed like a good time. It was mostly a chance to catch up with each other – the (my?) longer term aim is to see if we can integrate our efforts so that we get a more universal approach to career development. It seems weird that we don’t have this in place already. As I go through it though, the harder I get that it is.

Currently I’m basing the tech skills framework on my own experience + the needs of the company. It’s not designed to be a “final” framework at all, but I do wonder just how subjective it is. Still, the main test is – do people understand it, think it’s fair, and can plan their lives around it?

Go, skills framework baby, go!
Go, skills framework baby, go!

Did some dev work in the afternoon to tidy up our. git branches. Went to the pub after work. Opted to do rounds of half-pints, which I’m opting to call “Micro-Rounds” to make them sounds trendy. They’re more sociable, and you get to drink a greater variety of ales, so win-win-win all round (apart from the headache). Also discovered we definitely should not be logo designers.


I think I’d overdone it by this point – absolutely shattered by Friday morning. My extrovert-meeting metric (which doesn’t exist yet) failed to alert me to the amount of conversations I’d been having. Writing this up on Sunday, after a fairly trudgey weekend filled with video games and kids’ party cake, I can look back and say “Yeah, that was a hell of a long week.” I was pretty zonked by Thursday morning, TBH. Chatting + lugging buggies and bikes around is a lot more knackering than it looks.

So not a very productive Friday half-day. Had a chat with Kim on GDPR, had the usual realisation of how much there is to do, but feeling on top of it, and spurred on to really block some damn time out for this now.

I think I tidied up some work on passwords as well, which felt good to get done finally. But it feels like months ago right now.

So there was the week. Now I am pooped.

Yes it is so much time to stop
Yes it is so much time to stop



Goodreads me


  • Still definitely 4 moorhen chicks. The wife says she saw a fifth, but it’s been elusive for me so far. There are some amazing blue irises coming out, alongside the bluebells. Time to head up to the woods and check out the annual bluebell carpets.
  • The 89-year old man that looks after the pond had a bonfire, the humming ashes of which I returned to on Tuesday. We chatted, I showed him the photo I’d taken of him, and we saw a rat run past. Need to look up what water rats look like.

Weeknotes 07×01: Post-its rule my world

What am I looking forward to this week?

  • First meeting with Fabrice to discuss what tech lead mentoring could look like
  • Our first Tech Team Roadmap Review meeting, we’ve achieved a lot in 6 months, I think?

What am I not looking forward to this week?

  • Having conversations about work without a clear plan of capacity. There’s a lot coming up and I’m not sure if it’s too much.

What am I not sure about?

  • An Internal analysis session that’s planned, which could go either way and be either really useful, or really messy and drawn-out.
  • GDPR work which I need to get on with. I feel like it could be interesting, but isn’t because I “have” to do it…

What’s the expected theme?

Not doing as much dev work as I could, but getting useful stuff done instead.

Now that it’s finished, what was the actual theme

Loads of time on Planning and Strategy, which was in-depth, and felt good. Success and sunshine.

What surprised me?

  • How many post-its you can fit on one board if you really try
  • How much I really like the Pebble smart watch I got for Christmas. Lost the link to my phone for a day, and it felt weird being having to go to my phone for notifications. Also started using my watch for walking and sleeping data, which is another story.
  • How little I’ve picked up and called out certain things I’m not happy with.
  • That my gut instinct can lead to some useful insights at the end of a risky, exploratory, ‘creative’ process.

Space for links.

“The act of writing, forces the author to think through all the details and steps required to share the lesson. It avoids what happens in business all the time which is “I just know” or “experience” and brings along the team and other job functions on thinking.


Company sit down: First time that nearly all of the company have been in together (12 of 13), felt nice, like a feeling of pride in building something that supported this team. Shame not to be able to do a team lunch.

Tech team planning stand-up, which turned into me talking a lot. There was a job to catch Alex and Gregor up with what happened last week, which I think comes best from one person (?) but is a different exercise to a round of status updates. Summarising is a bit of an art, everyone should practice it, but how? What exercises and guidance would be useful? Should I add “summarising” to my new Capabilities Framework?

Also it felt like the team is working working together well currently, even if it was me saying lots. Feels fairly nicely focused and balanced at the moment, like all that that strategy, feedback, and support in the background traces a line through to the work detail. It’s a shame I can’t prove that, it’s a big part of what I think I bring to the team, but a lot of it feels invisible, or subtle.

Spent a lot of the day on some database setup, which was only interesting because I got to dig out some code I wrote years ago and use it again in anger, like dusting off an old motorbike, and firing it up to ride round the block.

Met up with Fabrice to discuss some tech lead mentorship. Coming out of Christmas, and some ukgovcamp chat, I’ve been taking the mentorship stuff more seriously. Over the last 6 months, I think I’ve started to move away from trying to take everything on myself, and the idea of mentoring (me mentoring others, others mentoring me) is a part of that confidence of “opening up”. For some in-built reason, I find it quite scary giving people career advice, or asking for support. So today’s chat (which wasn’t at all scary), and offering recently on Twitter to help out junior developers, feel like some big milestones, like I’m stepping into a new chapter in life. No longer just a doer.

Talked through some fresh feedback from our Australian client, after we delivered an update in January. Turned into a recap of outstanding work and timescales which are forever shifting. Feel like I’m eternally trying to lock this down, and it’s mentally tiring to keep trying to get some structure and clarity on what’s left. Still, managed to identify some key work, time frames and questions, using nothing but good old post-its and a big piece of paper. I guess the most important first step of anything complex (the same is true with Roadmap, code design, etc) is to find “chunks” of the right size. Chunks that are “just clear enough”, clear enough to be given time, and to be understood as something concrete.

Got a theory that managers should practice this “chunking” activity until they can (and do) do it in their sleep.

Broke up the train journey to get stuff for the guinea pigs. I’d forgotten how refreshing it is to walk for 20 minutes in a low, warm sun after work.

Brucie and Noodles


The first half of the morning was taken up with a management team look at the 3 months ahead of, which turned into the next 6 months. I was responsible for arranging the meeting as in my gut I know we have a lot on over the next few months, and experience says that everything gets really stressful when there’s no planning on it at all. But I haven’t had much time to be particularly organised, so a bit of a moment of “oh shit, I should probably lead on this” as I got in this morning.

The two thoughts which carried me through were:

  1. The main aim of the meeting is to actively air what’s in everyone’s heads anyway. Personally I’m infinitely more relaxed once I’ve written stuff down, so I hope the same is true of other people. Getting any sort of structured timeline wasn’t a particular goal, but highlighting the amount of work, and looming crunch points, was the first step.

  2. This was, in some sense, a personal effort on behalf of the wider team. I don’t know if it’s because I have to organise a larger section of people, or if I’m just more wont to push for some organisation because I know others that want it, but there’s a sense of duty, to stop ourselves getting frustrated later, as a team. It doesn’t matter how much you pay people, or what incentives you give them to be happy – setting out clear goals and priorities is the one major thing you can do to help people do their job, and by extension, enjoy what they’re doing.

So it’s weird, and sometimes uncomfortable, to force people to list their 6-month to-do lists like this. There’s a risk of it being too chaotic, or of getting depressed because it seems like too much when it’s opened up, or getting into arguments about deadlines and what should take precedence. As one person commented, it felt like a frenetic process, as hundreds of post-its got hammered out and stuck up. And a bit of me wished I had a neater, more structured approach to it. But the calmer part of me knows that it’s an inherent part of capturing the frenetic chaos that is going to happen anyway, and that it’s ok to be the one to force it into the open, right now, instead of being an unseen elephant in the office.

The next job on it is to make it a practical tool. I’d also post a photo here if there wasn’t sensitive info on it. Oh go on then.

So much post-its

Today we:

  • Brain dumped onto post-its
  • Arranged post-its along a rough 6-month timeline on the Big Green Board
  • Identified the things we definitely had in our heads – what were the important things keeping us awake?
  • Identified the things we could potentially push back
  • Identified the things which were actually being pushed back already

Tomorrow, I’m aiming to order these, so we can see 1) the “easy” must-do, are-doing stuff, 2) the “at risk” must-do, but pushing-back stuff, 3) the lower-priority stuff, and 4) the “omg” stuff we’ve not even considered yet. Then we can work out what to do with it. It’s all slightly backwards, but sort of ties in with my own sense of reactive planning…

After that, started on our new information security policy for GDPR day, and filled in a short feedback form for Alex to turn into a retro on client involvement.


Catch up with Gregor (Sysadmin) on infrastructure planning and GDPR stuff. Also had a nice chat about kids – Gregor’s tales are basically the tales I’ll be telling in a few years. Ran through actions quickly with the help of last month’s notes, and the Jira Kanban board I set up a month or two back – now I can set up tasks, tag them with a ‘sysadmin’ label, and generally the whole process for ordering and tracking this aspect feels a lot cleaner now.

First OCSI Read Club! John and I sat on the sofa in the cafe downstairs and ate lunch while reading our own books. It’s something I did once upon a time, by accident, and recently wanted to give it a go. No pressure to chat, or read the same book, just a space to get away from things and read. Reading is awesome. Be suspicious of people who don’t read.

Club for Staff Who Read Good

6 month Tech Team Roadmap review in the afternoon, which is the one thing I most proud of getting in the calendar finally. 6-months seems a good time to review long-term progress. This is what I want to lead on – everything else is just checking what’s going on really. I didn’t have a set structure, but sent out the main aims/sections via email in he morning, and a brief survey to set the scene beforehand. Cue lots of post-its and dot-voting – by the end, alongside the 3-month planning post-its, I felt like I could probably get commission from 3M.

On the whole, I was pleased with how the session went – pretty much everyone on the team contributed, and by specifically asking for everyone’s “pain points”, it felt like a sensible way to address major gripes that we have. There was deliberately no expectation of setting next priorities, but it evolved so that I can propose the next Roadmap pretty easily, with good buy-in and evidence from the team. Bosh.

Alongside the notes of the outcomes, I also wrote up my notes of how the session was run. Maybe I should post these on GitHub, rather than just keep them as internal notes?


Woke up, disturbed early by #son2, realising that I use post-its notes as an extension of my mind – I think with my hands. It explains a lot: why I love pen and paper, why so might abstract concept can be modeled as physical objects, why I wave my palms in the air when I talk, why I hate phone screen keyboards and their vague non-commitment to reality. Even why, perhaps, I have an obsession with “craft” as a desire to “sculpt” something, tangible or otherwise.

And why not everyone maybe gets flustered, chaotic post-its heavy approaches. Not everyone is a builder, not in the same way.

What a day though. Kim ran a great session in the morning for the management team on company strategy – it’s funny how a single question can lead to a much higher level discussion. We had a lot of ideas coming up, and the discussion was civilised, structured and thought through.

I tend to be a bit ‘punk’ in these situations sometimes – that is, I know what I want to do, and can get a bit argumentative or defensive if others have a different opinion. It’s not a great attribute though, and goes against the taoist idea of “do not contend”. After a long day yesterday, I’d promised myself to relax a bit, and so I worried less about being “right” in this session, and was a bit happier to sit back and listen. It’s a hard skill, not sticking your oar in. I should practice it more.

The session was interrupted 5 minutes from the end by being told one of the team was locked in the toilet – the only diabetic member of staff, natch, which meant we had a hit more urgency to get them out. Cue locksmith, fire brigade and, ultimately, big yellow battering ram.


Tech planning session for some upcoming development. We/I/we decided to bring 4 of the devs in on this – rather than just me, or just one other person leading on it. The original aim was to open up planning experience to some others who are interested in developing their skills. In practice, this happened (with some guidance to help split the planning work up), but we also got a chance to discuss something together, and iron out gaps in our shared understanding. “Everyone understands, but in their own way”, I think I said. I wonder if that ironing out process will help in a few weeks.

Spent some good time shuffling the post-its on the Big Green Board. I do like working in 3D. Tactile cognition loops. Tangible abstracts.

Ended with Prosecco – celebrating some important sales, project kick-off, project closure, and freeing employees from lavatories prisons.


Half day, worked from home. Lousy sleep so good to have a bit of a gentler catch-up – I’m really noticing the need for downtime after longer days, maybe since noting down the idea of measuring it previously. Finished putting the next 6 months into a Google Sheet, which was a great exercise. It’s a lot clearer to see what’s at risk, what needs more emphasis, or what could possibly be re-considered or re-factored. My brain is thanking me for it, and hopefully I can translate it into tasks to help the team out as we go.

Wrote up some 1-1 notes, replied to emails, did some user support checks, etc.




Catch me on Goodreads

  • Finished Spirits of Place, my review here
  • Started Italo Calvino’s The Distance of the Moon – went on a bit of a binge at Waterstones, including this little £1 quick read.



  • 4 moorhen chicks have turned up on the duck pond outside the house, and the 2 turtles have been sunning themselves on the island. The moorhen parents seem to have their work cut out gathering food while chasing away pigeons and rats.