This week has been a really odd mix, finishing some things off, planning for a few new things in January, reflecting on some experiences from the summer and prioritising family.
After watching one of my favourite seasonal movies last weekend I have had one foot into the midwinter holidays and a head full of tinsel. Far from being grumpy this has enabled me to drag myself out of wallowing and arrange some catch ups with friends and family before the end of the year. Bonus warm and fuzzy feelings for buying extra goodies at the supermarket to donate to the food bank stall outside. I can’t solve all the underlying problems but the least I can do is share what we have.
It was also a real contrast this week to share a cautionary tale with less experienced workmates, talking about a long running upgrade project that was impacted by dysfunctional team culture. Very much a presentation on what not to do, or put up with and when to start asking all the good questions: why am I doing this alone? why did this get left so long? and surely someone in the organisation also knows about this? Two days later I found myself doing another upgrade of a very different kind and having a much better experience: just one version jump, a well known and documented system and very clear requirements. Apparently things can indeed get better!
With so many heading off for a festive break in my team and the wider organisations I deal with, much more is happening asynchronously. This is great for flexibility but has left me feeling out of phase, not sure who I have a last meeting with before 2023 and who else I have missed wishing a Merry Midwinter. A couple of things I thought I would hear about might not be finalised until the new year, so changes are afoot but a little in limbo: not yet wrapped up with a neat little bow.
Very much on the plus side: in the last few days, I have had the chance to catch up with all my reports and celebrated some of their proud moments from 2022. I am privileged to be there to support them and look forward to seeing them grow (and growing beside them) next year.
How ever we spend this time of year, may it be a kind and peaceful end to 2022.
A bit more of a open, honest, personal round up this time: I’ve really struggled this week. Physical maladies and low vitamin d haven’t helped.
It started well, I found the root cause of a seemingly obscure problem involving compilation of c based ruby extensions, changing patch versions of ruby language and a cached folder of gems. These extensions are built against an exact version of ruby and so changing ruby patch version without rebuilding your pipeline’s cache of gems will cause an incompatible library error to be thrown, even though these changes won’t bring a change to your gemfile.lock file.
Looking back though, this seems obvious (once you know the context) so it’s difficult to see as a real win. It’s a bit niche for the rest of the team to value either.
I’m finding it hard work to be embedded in a disengaged team. When I’m more conscientious and don’t cherry pick work items I’m left working on something no one else wants to touch and I’m not particularly inspired by either. It’s easy to feel resentful and taken for granted at that point.
I’ve got concerns about the future too, there’s a few things I’m waiting on the outcome for. They probably won’t conclude until January and I’m struggling to be patient. Apparently I get twitchy, crotchety and destructively introspective rather than just enjoying the space to pause.
One suggested alternative is to pitch for a new role with more money. This seems decidedly counter intuitive and jaded; an opinion based on the unshakable conclusion that money is the only thanks one can ever get for a job well done. What a horrible world we live in if this is true. Time to bring on the Hygge.
In other dispiriting news, our usual annual social gathering got disrupted this year as our idea of fun didn’t match that of our friends. Their desire was to watch football in a loud crowded setting followed by a meal, four hours after my stomach thinks my throat has been cut. I need more options for social interaction methinks.
But today is magical, it is winter festival tree collection day, and it is snowing.
Apart from thinking ahead and finding collaborators for coaching and facilitation sessions early next year, this week has been mostly hands on coding.
I realise I miss weeks like this. There is something really satisfying in adding small features or fixing bugs and taking the opportunity to clean things up as I go along. Cleaning up can mean:
- Checking base image versions in docker files
- Bumping the package management version (e.g. bundler for ruby world)
- Curating dependency chains
- Getting the project ready for dependabot or renovate to help with dependancies
- Considering a rename or split for a method that does more than it used to
- DRY-ing up code where we now repeat ourselves more than twice
- Adding a couple of tests for edge cases
It’s important to think about a few things when you decide how much to do at once. It is possible to creep all the scope and get into an update that should be its own story.
- Do you have an automated test suite? what about build and integration pipelines?
- How far are dependancies behind? Will we cross into breaking changes territory?
- Is the project in sunset i.e. deprecated and mostly replaced
Doing some clean up as “small changes and often” really helps stay up to date. The longer we leave it, the more it piles up and the harder it is to face, and to tackle.
I first heard about “Code Scout Rules” or “Boy Scout Rules” in a talk given back in 2015 by Matt Cockayne and it’s still just as important as ever to leave the codebase better than you found it.