I learnt this week - 14th April 2025
The links today including the best programmers, improving retrospectives, a live tube map, unusual trading cards, prioritisation, complex decisions, MCP issues and conversational interfaces.
The Best Programmers I Know
A great summary of some of the traits of the best programmers. I agree with nearly all of them. The ones that stand out for me are:
Know your tools really well - the amount of time that can be saved and the improvement of quality of code produced can be huge just by knowing how to use the tools properly.
Read the error message - it is so easy to assume you know what it means and miss the detail that would help you.
Always help others - we can get so engrossed in what we are doing it is easy to ignore those around us.
Never stop learning - I’ve known in the past when it is time to change job by the fact I am no longer learning anything new. I am always trying to learn.
Don’t be afraid to say “I don’t know” - so important!
In fact I could probably have listed all of them - go have a read!
Effective Retrospective Training
I like the arguments that the normal approach to retrospectives is broken but I don’t think it needs two training courses to fix it. We have used a very interactive approach to retrospectives that encourages everyone to get involved and is much less formal than the traditional way.
Live Tube Map
I’m not sure how useful this is but quite a nice visualisation in real time of the London Underground (tube) trains. I particularly like the use of gradient to show which way the train is travelling.
Middle-Aged Man Trading Cards Go Viral in Rural Japan Town
I grew up with Top Trumps and this reminds me of them. A brilliant idea to engage the local kids in the community and it seems to be working.
The most popular of them all is probably All-Rounder Mr. Fujii (68), a former prison officer turned community volunteer. His card is so sought after that local kids have even started asking him for autographs.
Don’t ever page me
I like the clear prioritisation of what to work on and in what order. It suggests these priorities:
- Incidents
- Interviews
- Ensuring we never get paged again for the same reason
- Adhering to KPI SLAs
- Unblocking others
- Everything else
I particularly like numbers 3 and 5. Putting fixing what broke at such a high priority sets the culture - but probably causes friction with the product team who want more features. And “unblocking others” being above working on other things is great. We tried this in the past and found that it was quite difficult to stick to as it often required a significant context switch.
How to simplify complex decisions by cleaving the facts
A nice illustration on how to make some complex decisions - especially around selecting product features to develop and recruitment - two areas that are very relevant to me at the moment.
It is very easy to focus on fixing the weaknesses rather than developing the strengths and differentiating from the competition. When recruiting it is also easy to get lost in the search for the mythical perfect candidate when you should focus on what they are exceptional at and how the gaps can be addressed.
Everything Wrong with MCP
Nice to see an article that questions all the hype around MCP (Model Context Protocol) and some of the issues it still needs to address. At the moment it definitely feels like there is a lot of “we’ll worry about that later” and ignoring fundamental questions such as security.
The case against conversational interfaces
This starts by highlighting that writing/typing is a bottleneck in interactions due to the speed you can type. It builds on this and nicely walks through the way humans interact including introducing shortcuts, like gestures, and how this translates to the way we interact with computers. It finishes with suggesting that speech to text could be used to augment our interactions rather than replace our existing approaches. A very nicely written article.