Weeknote 33: Clever (derogatory)

They thought they could stop a demon I'm back.

This was the first full week I did since April and my first week back from some time off. What did I do? Mostly nothing. The furthest I traveled was to Highbury for a nice meal (Shout out Saltine). I did chores, went on walks, lifted weights and played my little video game. Incredible.

I'm feeling much better than the last time I sat down to write these. Inconveniences and issues don't feel like they're hitting as hard. It feels like my mental recycling bin has been emptied. Strongly recommend taking time off and giving yourself permission to do naff all.

So what did I do on my first week back?

  • Had a late kick off with squadmates Romaric, Char and Ollie about spending the next 2 weeks updating the tech docs gem, the prototype kit's docs website and the prototype kit's management pages
  • Lightly contributed towards a proposition for how we turn the brand updates on in the tech docs which we've run past our tech docs colleagues
  • Got my head around the architecture of the tech docs gem and the prototype kit. The gem is much simpler than I thought; the kit is a lot more complicated
  • Put together a proof of concept for how we want the tech docs gem to apply the rebrand which, unless someone comments on our proposal doc this weekend and objects, will be going ahead next week
  • Put together a solution for how we apply the rebrand to kit management pages, which neatly includes a fix for the wrong assets being loaded in rebranded prototypes
  • Helped triage open pull requests and issues in the prototype kit repo to see if there's anything we can quickly fix and/or merge whilst we're working on the codebase
  • Met our new lead designer Marina in the London office

A 'clever' codebase

I've not dived super deep into the prototype kit repo until now and oh my days, it's so complicated. It's a very clever codebase. As an example, it runs 3 different servers when you boot up a prototype locally. One for the prototype itself, a separate one for prototype management pages which provide a UI for building a prototype in a low code way, and then if there's an error that stops the first prototype server from running it spins up a separate error server to display the error that's stopping the first server from running. That's really cool but also this could realistically be at least 2 different codebases.

So my reflections on this. Firstly, there's such a thing as 'clever (derogatory)'. I've got a lot of admiration for the team who put this together. It makes the thing a lot more robust for our users, which is what matters. However there are a few examples in this repo of extremely high level feats of engineering with, IMO, negligible benefit. The punchline here: where is the documentation? If it is there, I couldn't find it and it meant understanding the thing took longer than it needed to. It makes the thing harder to maintain and harder for a possible future team to pick up.

Secondly, it's easy for me to rail on the prior team for not documenting their very tricky codebase but I don't think that happened on purpose. The kit repo contains a lot of mysteries but also examples of where there was a technical strategy that didn't get a chance to reach it's proper end point. In my experience, this sort of thing happens when a product team isn't given assurances about their future, something the prototyping team in all it's forms has had to contend with. I do hope that my bosses eventually figure out what they want so that the prototype kit isn't stuck in limbo, and that they learn from past missteps.

Website changelog

In my week off and a little bit today, I also put some time into improving this website finally. What I did:

  • Updated the Stuff I've done page
  • Replaced the weird flickery font I was using with a system font stack
  • Brand refreshed the site so that the body colour is off black instead of that dodgy maroon
  • Adjusted the line heights so that the type has more room to breath (thanks Mia for the pointer)
  • Sorted out my sass to use the module system properly

It feels nice to finally put time towards this little corner of the internet. There's still some tricker stuff I want to do that I've put off like paginating the blog page and implementing some kind of linting but it's better than it was.

What Owen did on his holly day

One frustrating bit of my time off is that I didn't do any BJJ. I'm currently injured. The Friday before my week off at a class I didn't commit properly to a forward roll and landed bad on my shoulder. It's been bothering me for 2 weeks now. The GP reckons it's a minor sprain and it is healing slowly but until it heals, I'm off the mats.

Whilst I'm bothered about the lack of BJJ I've actually quite liked doing weight training at home as a change. It also kinda throws the whole BJJ thing into question. I've been getting little injuries for a few months now that take me out for days or weeks at a time which isn't sustainable long term. I'm optimistic that this is a result of me both not training smart and not being string in the right places, which I can affect. I'm gonna try getting my exercise elsewhere for now and see how I get on. Even if I take a little break I'd like to go back to it eventually.

Besides that as I say, had a very chill week off and I have no regrets. I cleared out some cloths for donation, I made a cake, I cleaned the house. Whatdoya want?

I basically spent the majority of the week playing Monster Hunter Rise. I'm now into the DLC: Sunbreak, and it rocks. They've hugely upgraded my little stats optimisation spreadsheet game for freaks (me). I've come to accept that I'm perfectly ok being a one-game-at-a-time person and this time playing monster hunter has given me plenty to choose from next. I've got my eye on you, DELTARUNE...