Weeknotes 09×05: Screeeeech. Focus focus focus.

Screenshot of a burnt-out Mini from Dirt Rally game

  • After the momentum of drift-slides and gravel over-steer last week, I think this week’s notes are about pressure and speed. Burnout is on my mind a lot, as we head into the dark seasons and hibernation time. Natural rhythms are coming under stress, on many people’s personal level, all the way up to global and social levels. There are some notes on what I’ve actually been doing too, towards the end. One day I’ll read all this back to myself and laugh.

  • 5.30am is not a great time to get woken up at to start the week. My mind is full of dreamed-up fog before I’m out of bed, and every item of furniture hallucinates itself into a pillow. Over coffee, I clear out some menial tasks – checking out a start date, clearing obvious emails, stuff that sits on the brain and . I have enough energy to pick out some small steps to lift pressure this week a bit – getting off Slack, reducing meetings, cutting non-essential comms basically (the introvert head needs some headspace right now) – so the first (ok, second) email of the day jots those down and lets the rest of management know. Got to get some sustainability back.

  • I also jot down my aims and key tasks for the week, which is something I do when I have time, something which is most useful when I’m pushed for time, and something that I haven’t done in ages because I haven’t had time/energy. It’s never a complete task, but it acts as a reference guide, map and compass, as the week fires up and gets confusing quickly. I should really stick to this practice much, much more. Maybe there should be some sort of weeknotes support group for getting weekly aims together?

  • Looking back now, the week seems long and short at the same time. Monday feels like worlds away. But everything has happened at breakneck speed. Friday didn’t feel like the end of the week. Thursday was at the beginning, middle and end.

  • Turning off Slack for a day on Monday was fantastic – I really noticed the difference afterwards, and my mind felt focused and more… complete? Everyone (or developers, at least) knows mental context-switching is inefficient. Less people understand how tiring it is. And yet, it’s so easy to do – we do it all the time, we’ve been trained to do it through our social services. No wonder depression is increasing – we’re all too knackered from trying to keep up with everything.

  • Working from home on Wednesday was also useful, but I slipped back to a tendency to converse via – and hence check the rest of – Slack. Also had to pick up kids from 3pm, so a bit of a shortened day, which I always find flustered.

  • son2 has been singing a little ditty about the days of the week, which he contracted from nursery. I think it goes to the tune of ‘Oh my darling, Clementine’ and comes with little wavy hand movements: ‘_Monday Tuesday / Wednesday Thursday / Friday Saturday / Sunday too / Every day is a different day / and every day is something new‘. It’s cute and twee and schmaltzy and unoriginal, and it’s keeping me going. Every day is something new.

  • Currently I feel like I’m holding a lot in my head, and new streams are kicking up and spinning off while the old ones are being held in reserve memory, not dumped out or stashed for safe keeping. So I’m burning on adrenaline largely, which has helped to avoid getting the sniffles at least, but is giving me some twinges. The tech strategy work has been on hold for a few weeks, infuriatingly. As has looking at project scheduling, and tying it into our new aims. It’s annoying because we had some momentum coming out of September, and timing is everything. But inevitable because everyone is ill or on holiday and there’s a bucketload of dev work to do.

  • Things that are moving are moving well though. We finally tested and signed off a big upgrade to our mapping tech (not released yet, link for sales purposes only… 😉 that will make it a lot easier to build developments into maps in the future, and cut out a big chunk of the time it takes to deploy new datasets currently. It’s something I’ve wanted to work on for years, and John has been a huge help getting it together.

  • In among all the existing work, we’ve been forced to (finally) upgrade one of our servers to a newer model. This month is the time of replacement, it seems, and work is no exception. It’s a tough call, as we’re working hard on a massive upgrade due next week already, months in the planning, etc. I talk it through with the devs involved after stand-up though, and there’s an overarching feeling that the opportunity is too good to miss. We need to effectively-disable the site for a weekend to do the upgrade, so dovetailing in with the server move seems to fit. It’s extra work, and a gutsy move, but in our techie hearts, we sort of know it makes sense? Everything will be so much cleaner, smoother, faster and more secure afterwards. It will be the promised land. That’s totally the cliffhanger for next week – WILL WE BE IN PARADISE?

  • Unexpectedly, the server move also gives rise to some protracted decisions and conversations about how costs are shared with different people. Like there’s an easy way to work out costs vs actual value (spoiler: there isn’t.) It’s a conversation that’s needed, but … ah, man, so many rabbit holes. I mean, it’s not a big rabbit hole to fall down, it’s a labyrinthine warren ready to devour any wayward tunneler. Needs some careful thought and negotiation, and right now, there are enough plates spinning.

  • So that’s where we are right now. Plates spinning. Head spinning. World carries on spinning, and the storm is coming because it hasn’t rained in ages. TOO MANY STRATEGIES. Need a strategy strategy, etc.

  • What am I doing next week? Focusing, that’s what. Getting through this and getting out the other side. Heads down, lights on. See you there.

Weeknotes 09×03/04: The Colin McRae of Software Delivery

Dear Reader. I will admit I have struggled to get this set of notes out, for all the reasons of time and energy set out below. I just didn’t have the wherewithal to post last week, so this covers a couple of weeks, referred to lovingly as “Week 1” and “Week 2”.

Screenshot of a rally car skidding round a dirt track, from the game "Dirt"

Momentum, drive, setup. Project delivery with style.

  • Torn between workflows again, and spun out across trips to London and planning birthdays. Week 1, I’m out Monday and Tuesday for half-term including a trip to London’s Science Museum, and I’m not sure where I am by the time Wednesday hits. The week doesn’t particularly want to let up either. So many jigsaws litter my head.

  • I’ve been playing a rally game called “Dirt” recently, which has super-realistic physics, in my view. I’m struck by two lessons to take from it : 1) Momentum counts. In learning that the key to rally driving is to understand the route notes so that you can set up the car in the right way – speed, position, wheel direction, etc. Once you have that, going round the corner is just a matter of momentum and fine control – trying to correct a bad setup once the corner is happening often results in things getting worse.

  • 2) Throttle is dangerous. If momentum is everything for delivery of a corner, then keeping the throttle down is the worst way of driving. It took me a couple of days to learn to brake, to learn to learn, even. I had to begin by accepting I was going to come last at first, that you can’t go quickly just because you’ve played a hundred driving games before. I started feathering the throttle to avoid hitting turns too quickly. I braked more than I needed to, to find out how the car reacted under very controlled situations. I used practice time to go through the motions 5 or 6 times and get a feel for the track.

  • All of this has real world learning. Humility in your assumptions about what you can achieve realistically. Time for practice and, in particular, to slow things down and really “exercise” in how you approach things. Thought about set-up and planning. All of it.

  • Week 1: I think I’m really not building in enough rest /thinking time at the moment – or building it out.

  • Week 2: I’m cut down by exhaustion. Looking back, September and October have been a constant barrage of organisation, and I’m not really one of those people that organises stuff naturally. Balancing work at the same time as balancing people and contexts takes its toll – jumping from work life to home life and back again with only half-hour breaks in between. The pace is unsustainable, and has left me feeling like I’ve done a good job, but with treacle where my energy was.

  • I tried to rest up from home on the Wednesday of week 2, but some server issues had me chasing old domain names for most of the day. It’s frustrating to have to clear out legacy and debt in a reactive way, but at the and time therapeutic and work that needs doing. But it means I was proper wiped out by Thursday, especially with a few hours of sleep missing. I struggled to get up, then switch off, managed to go for a walk. Felt a lot better for just a morning of my own head space and no demands. So much better.

  • Thursday, week 1, and a meeting with Flo (user support, notionally) who has been looking at redesigning our dashboard page. She’s started to look into UX more properly and thoroughly than we usually do, which is very encouraging – a few of us are interested in the design side of things, but it’s not something we spend much time on as a company, so it’s great to see more people cotton on to it. It has the (good) potential to affect our how workflow and approach to development, of course, and the discussion bounces between the dashboard itself, users, and general philosophy.

Photo of a 'Dashboard Epic' powerpoint slide

  • Friday in week 1 made up for only a three-day week. Had a really interesting catchup with Angie from Community Works on the Taking Account project, delving into charities and politics and local budgets and national budgets and Brexit. And ended the chat with some practical next steps to help drive the research forwards – we’ve now got some good ideas for follow-on work, which serves to both limit the scope of the current effort, and to sell the potential of the work when it does get released, I think. I really enjoyed that crossover between societal trends and movements, and a technical solution that acts on a particular, known point within that context.

  • I then picked up #son1 – hello again half-term. He was pretty good on the office – he’s getting a bit cheekier as he settles into being 8, but is now tall enough to play table football properly, and managed to pass a good amount of time chasing after the cat which invaded.

  • After some rewarding coding (hands in the air, I love optimisation work), I had a few minutes to start on some kind of dashboard/planner tool in Google Sheets. The aim of this is to get a concise list of company objectives, map them to the planned work for each project and product, and allow us to 1) get a rough timeline in place for concentrating on things, and 2) get an instant overview of how the plan feeds into company objectives. Spreadsheets are an amazing resource for throwing this stuff together, and I’ve realised I’m drawing heavily on the social impact work I’ve been product-managing for a few years, just without any translation into financial metrics. The bones are in place now, but the tricky bit will be working out weightings between everything. Bring it on.

  • Read an interesting piece on the end of ‘Mr Indispensable’ in the FT, on being a solution finder with a duty to those you serve. I think I’m a solution finder. But increasingly in the sense of “healing” a system in order to keep it resilient, like a gardener finding a solution to something troubling a garden. What does all this mean?

The week ahead looks pretty frantic too. Maybe see you at the end of it.

Weeknotes 09×02: A form of magic

  • The week starts with a pond as dark and syrupy as treacle, and a few minutes later, what looks like the stilled body of a dog being carried out from the vets. These things frame my mood against the late morning light, but don’t drag me down.

  • Monday morning is already a blur – I have a full menu of things to do and things it would be good to do. I’m going to have to write this menu down so that I can choose clearly, once I find my notebook. The rest of the day throws up clouds of work dust, and we end up wading through a shifting list of reactions. Bugs and hot fixes, tidies and plotting, risk and mitigation and schedules redone. Just another manic Monday, as they say.

  • New shoes, new season. These DCs are the comfiest shoes I’ve had in a long time.

A photo of my shoes and an Autumn leaf

  • A flurried brain on Wednesday, darting between all layers – the intricacies of code rubbing up against product strategy. Feeling like I’m caught between planning, doing, and observing – on different bits of work in different places. A bit of me wishes I could be in just one of these heads, but another bit of me knows this variety is what keeps it interesting, that sometimes my own tangled web of conscious attention just happens to interact with tiredness and biorhythms.

  • We are introduced to Leslie who has started at our partner organisation recently. It’s a couple of hours covering introductions, histories, immediate thoughts, future plans, and sandwiches. I whittle on about products and markets and hope I make sense, and its a good chat, if intense. I’ve oddly come to appreciate that moment of meeting someone for the first time – that “friendly assessment” of how they fit in, and what the team dynamics are going to be as they become a part of it.

  • It strikes me that what I do could be considered a form of magic. “Any sufficiently advanced technology” etc, but also anything unexplainable without a whole system of understanding in place. I run on instinct, but instinct gained from the experience of trying, and the careful inference gained from observing. Failure and senses – these are the most powerful tools available to you. Experiment and be still in alternate measures. Without understanding the importance of these, you will be in the dark.

  • Wednesday washing-up. I wake up to a realisation that focuses my very soul: that my value is not as head of “the technology” but as a team coordinator. All the puzzle pieces fit into this box – a tech team strategy instead of a tech strategy, the need for coordinated plans, the dot-joiner hat, a love of 1-1s, the old notion of organisational chi (warning: ancient site alert) – everything has been lurking behind this hidden umbrella. The realisation re-grounds me too: it is a skill which can be formalised and wielded like a sound system, shipped in like special forces. It explains why just defining roles and responsibilities isn’t enough. It brings together templates and beer, phone calls and optimism. It keeps me awake at night. It’s a form of magic that I always thought was something else, but it is real.

A photo of trees on a van merging wth real trees

  • This piece by Gavin Elliott on Functioning environments and company culture also came along at just the right time and blew me away. I can’t remember which weeknoter linked to it now 🙁 but I shall be forever thankful. It summarises and explains a lot, so much.

  • Friday random reading was
    What Emails Reveal About Your Performance At Work, looking at email metadata and leadership styles and performance. TBH, the language used makes me want to fork my own eyes out a little, and I do cringe at the use of personal emails as ‘science’, even if it’s “just” metadata. but it’s an interesting look to backup communication styles and how it links to leadership/influence. The main take away is that simple words help people understand you, which too many people forget.

  • Some unexpected time away from the regularity of watches and calendars to catch up with John. Helped me see throb the bureaucracy layer again, to remember that standardised operating procedures – in which I include both handbooks and habits – emerge from an average of a group at one time. All warnings have a story to them, and a company’s rules are often there for a reason. But other reasons can always be introduced which require a renegotiation. I am navigating a way between the past and the now. Neither of them are incorrect or invalid.

  • Otherwise I am feeling unfocused, and am aware I’m only making a vague effort to catch up. Friday afternoon I head off a little early to prepare for a long weekend away. What is it I’ve done this week? Have I achieved anything? Was it what I intended? Everything is a soup of code and conversation, context switching at every corner. Was that predictable, looking back at the calendar? Yes – blocky patches all over the place, with invisible extras hiding off-screen. Next week doesn’t look much better either, but it’s only 3 days long.

  • What do I achieve when everything is so fragmented like that? If I were to keep my own meeting data again, like before, then I’d have a vague, aggregated idea of how my energy was split between making things happen vs helping things happen. Responsibility vs support vs pure information gathering. But the fragmented approach also leaves no time for anything to sink in. I feel inefficient in my understanding, lacking in what I’ve observed, what I’ve learnt. Unfinished.

  • Peace.

A photo of the seafront at Eastbourne

Weeknotes 09×01: Is this craft seaworthy?

Craft and structure: The Spinnaker Tower and HMS Warrior in Portsmouth
Craft and structure: The Spinnaker Tower and HMS Warrior in Portsmouth

Where is my head?

  • A weeknotes wilderness – it’s been a few weeks since posting, but I’m not really counting. Everything feels blurry, and I have disparate notes entered into my pixelated diary. If August is haystack month where everyone is in holiday, October is anything but Stoptober, work wise. I felt the equinox slam into us, and the slowly shortening daylight gives an urgency to human activity. Welcome to series 9, I guess. We’ll see if there’s time.

  • In big news, perhaps, I have found my “craft” which I lovingly speak of so often, like dreaming of an island to retire to. A post on creativity and a chat on “developer PTSD” have given me a mirror onto what I’m trying to do. It is bigger than I thought, but not unexpected. It is not solely the act of coding, nor solely the act of managing people, nor of keeping up with technology or any of those things. It is not even the sum of all of these things, but the multiplication of them. The whole-system view of making innovation work, and it is impossible to decisively separate out code practice from team process from individuals from user needs from risk from passion. It sounds like a craft without boundaries, but really the boundary is simply “innovation that works”.

  • The practice of this craft mostly comes down to the fact that one person can’t do everything. This is embedded into software engineering anyway – why do something when the computer can do it for you? As such, software engineering is the me challenge as team engineering, cultural engineering, process engineering – how do you configure a space to allow things to flow within it? This is tai chi at its core, too. Everything becomes about space and structure.

  • Which is why it made me laugh out loud when Sam referred to me as “King of Anti-Structure”, at least for weeknoting – check out her great list of weeknote structures here. I must write something separately on this, but yes, it is related. Exploring through chaos helps us find links and patterns. Finding those patterns is key to developing our own structures. Structures are always restrictive, and chaos will regrow like weeds. The cycle continues.

  • Processes and rituals are nothing without understanding. I wrote that earlier, then coincidentally read Catherine Howe’s latest post on dogma and change, What happens if no-one is right? In any network, there are people with one set of processes, people with another set, and these both reflect two separate modes of understanding/organisational memory. There are then two forms of “meta” actors – which may overlap: 1. Agents of change, who seek to adjust and overhaul a certain set of processes, and 2. Dot-joiners, who seek to merely bring different mindsets/tribes/teams together.

  • A weekend trip to the flagstoned dockyards of Portsmouth’s past, where the Victory stands proud against the rain while the Mary Rose slumbers. These craft are almighty, culminating in the brutal Victorian ambition of the iron-boned HMS Warrior, caught between the eras of sail and steam. I’m affected by the engineering that happened, the interplay between ship design, the time’s modern technology, and the gall of crew sizes of 700-plus. The craft of craft.

HMS Alliance submarine in Portsmouth
Below the surface: HMS Alliance out of her natural habitat

What has actually been happening?

  • I had to return to some very old Visual Basic code that is still in regular operation. Internal tools really don’t need to be updated to be tech, unless they’re either not working properly for process, or they’re dependent on something that changes rapidly. Visual Basic and Excel are bizarrely very “stable” platforms (and SQL, of course). Much more stable than ancient IE’s proprietary code. When choosing tech, always try to avoid anything that mixes proprietary functionality with a set of standards – one will always be discarded soon. VB and Excel are happy, isolated beasts with their own agenda.

  • The last few weeks have really seen a switch in my own tech involvement. The dev duo, in conjunction with the whole company, are working on a huge migration (“the most complex thing we’ve ever done” as I think I put it) and are knocking it out of the park. I’ve picked up on a few headier details, but otherwise handed it over.

  • This has meant I’ve been freer to do more planning around it to try to arrange work vs deadlines. A simple Google doc with a table in it has been good – no GANTT charts here. Just rows per sprint, with dates and comms deadlines. It’s raw, and duplicates data from elsewhere, but possible because the team is communicating constantly and solidly. In fact, this is possibly the most “agile” we’ve been as a team – a lot of things on parallel streams are being discovered as we go, extra work has been added, work has been dropped, and everything’s been re-ordered a dozen times. The original September release date was definitely optimistic, but we’re slipping in a controlled, communicated way. Deadlines are being fully committed to now though, so our risk is that we’re complacent, and miss something big.

  • I’ve also found some time to start looking at code with Emma (senior researcher) who would like to learn more. Again with the structure – a codebase as a whole, especially an old one in a language you don’t know, is really daunting. So my main work here was to work out how it worked (🤔😬😲) and then not just fix it, but carve up the changes needed into a set of smaller challenges. Going through and setting up some empty function calls with Emma helped this dissection, and we were able to work on different bits separately, then bring it all together quickly. I forget what it’s like being a new coder, but it really doesn’t have to be tricky or scary.

  • As part of focusing on the bigger craft, I’m also trying to work out how to “refactor” a few other responsibilities. This doesn’t always mean just offloading work onto someone else – sometimes it means going back to the drawing board and working out a different way to do it. I have a useful chat with the Management Team on how my/the Product Owner role could/should look different, and chat with Luke and Emma on clearing up and handing over reigns on our USA work. In both cases, the aim is to open up the work to others, as I think we’ve become overly-dependent on a small number of people for these (ie 1-2 people each), which risks isolation and bus factorness. I can also see an increased need to use that new craft in new ways in a year or so, and now, with so many changes in people, is a good time to do something about it.

  • The train was cancelled one morning, but I use the time to clear out my immediate inbox (OK, inboxes plural – I might have 3). Takes me half an hour, but I end up booking myself in to a new, daily email slot, 12-12.30. Does it work? No. Am I going to carry on with it? Yes.

  • Management Team meetings feel a bit double-edged – I suspect I tend to use the time to raise things I think are important to just keep in our collective conscious, but usually I don’t have much of a plan beyond that, which risks agenda items being a bit vague, at least to begin with. But conversations to explore an idea are always useful, for me. Maybe I’m just “good” at exploiting other people as sounding boards, but perhaps these meetings aren’t the best place for it? … Maybe I can pick these up in more 1-1 conversations though. I don’t know, everyone is pretty busy.

  • On a positive note – everyone except John (who was ill) was in the office on Monday, and we welcomed new data analyst Mary to the team. There was a crazy buzz of people which is rare, as most people work remote or part time, and I always get astonished that I’m in a position to give people a job/career, and that my code weirdly supports or gives people some sort of “life”, and even this sense of… “belonging” that gets created as part of a small company. Seriously, that blows my mind if I stop to think about it. So I won’t.

A photo of lots of fake arms with naval tattoos
An army of arms: Naval tattoo exhibiton

Why Tech Teams need Clear Team Values

OK, so a conversation with Garbados/Diana on Gnu-Masto-Social-Don tied in with some deep-founded thoughts and has started a little fire somewhere inside me. She was talking about the “PTSD” effect on developers, through bad bosses and/or bad effects – the latter isn’t something I’ve been so close to, but makes me wonder how I’d react if, for instance, a library I’d contributed to had been used in warfare.

Sadly, bad bosses are more commonplace, though. Sometimes “bad” can mean “evil”, as in acting against others’ interests. Other times it can simply mean “misunderstanding” or “unlistening”, which can happen for more and less excusable reasons. Not all managers want to be managers. Real life gets in the way. And, importantly, TECH IS REALLY HARD TO UNDERSTAND. Realistically, if you haven’t worked 10+ years on a variety of tech projects, then you’re probably still getting your head round just what “tech” and its myriad systems actually means.

Tech is hard because systems are hard. And tech brings together all the systems – code, infrastructure, hardware, changes, as well as people and business value.

I’m at the point of my life where I feel like I’ve got a small grip on this. And the question I have right now is – how can we open up “tech” in terms of a wider audience understanding its challenges, nuances, effects and needs? How can we help “bad bosses” to navigate through the – let’s face it – infinitely confusing landscape of technology in a way that benefits both the people working in tech, as much as the organisation they work for?

I’m old enough to know that work has a huge emotional impact on our lives – that for many, our job is probably the most likely thing to influence whether we’re satisfied with life, or hating it. As my kids grow up, I can’t seriously look them in the eye and tell them that work is great, that if you just follow your passion, jobs will be brilliant. Because it’s more than that – it’s about finding a space that encourages a two-way relationship, a mutual symbiosis between worker and organisation. They cannot exist without each other.

As a Tech Director for a few years, one thing I’m annoyed I’ve never quite found time for is to have more time on team values. It strikes me that this is the one thing, the single discussion, that unites the people involved in “the craft”. if you hire passionate people (or if you can enthuse them to become passionate) then individual values soon emerge quickly. Not all of these will be shared across all the team, and balancing these is one of the broader jobs of the Tech Lead. But if things are important to the team – and, if done right, to the team as a whole – then perhaps these things need to be written up, shouted out, scrawled on walls, printed on banners.

Because understanding tech is hard, and if the team doesn’t do it, then nobody else will care.

This discussion, and the courage to do this – this is what we should be doing as part of our teams, a reignition of collectivism and strength in the team. Values, not (necessarily just) hours or pay, are what drives us, and what we should be taking an individual stand on. Values should be baked into the discussion from the moment we talk to a prospective new employer, or new employee – the up-front expectation that we take our art seriously, that we believe what we do has value to others, and that any compromise cannot be taken lightly.

And that’s just a start.