Andrew Cairns

@acairns.co.uk

Using metaphors and analogies to explain Software Engineering in fun ways: https://youtube.com/@metaphoricallyspeaking Staff Software Engineer. Passionate about DDD, CQRS, Event Sourcing and Distributed Systems. Kayaking, too.

This is my favourite part of creating content. Just being silly and entertaining myself. Spent the morning explaining OCP using a replicator from Star Trek 🖖 Any excuse for wee graphics and stuff like this. Loads of fun.

Bild

Meyer coined the OCP principle and presented inheritance as the OOP way to achieve it. This was in the 1980s, using Eiffel. Eiffel is a tower. So are inheritance hierarchies. If I just ruined Paris for you, then... you're welcome.

Incredible that 5k of you subscribe to my silly little channel explaining software things using metaphors and analogies. I hope you all know I have no idea how to make videos. I'm totally making it up and learning as I go. Having loads of fun, though!

Bild

Read about a few companies struggling with throughput now their output has dramatically increased. They say "code review has become a bottleneck". They are finding some creative solutions to the four-eyes principle while avoiding pair programming. I'll give them that.

Teaching Idempotency using my favourite card game while making a Silicon Valley "always blue" reference. Having fun like this is what keeps me making videos. Lord knows it's not the views! 🤣

I've been thinking about how Ideas used to be almost worthless without Execution. And now, the barrier to executing is at an all-time low. Got an idea? Get it done!

I'm really grateful to be in an IC role at the moment. It's an important time to be hands-on, develop new skills, explore new ways of working and form new mental models.

If my sit/stand desk and Oura ring were integrated and, when it was "time to stretch my legs" automatically raised... ... that would keep me on my toes. 🥁

I've been exploring how agents demonstrate "implicit freshness". This is what I've been calling the assumption the code, dependencies, or documentation, is up-to-date. But I think I might have it wrong. I think what I'm needing is some sort of Occam's razor heuristic.

Each time I work on a new OG image for an article, I'm reminded the devlog series flow from one to the next. Utterly pointless, but makes me happy.

Bild

We really should be kinder to people. If someone achieved something, gained knowledge, or had some luck... please remember what it took to get there. Belittling people who are still trying, practicing, and improving says more about the critic than the criticised.