Monday Links: Notebooks, Learning, and KPIs
19 Feb 2024 #mondaylinksFive interesting reads from the past month.
Lab Notebooks
I like the idea of keeping “lab” notebooks, especially to record the thought process for consulting clients. I’m a big fan of plain text. But the article recommends using pen and paper.
Git Things
Git and Version Control are one of the subjects we have to learn ourselves. I prefer short Pull Requests with only one or two commits. I name my commits with a long and descriptive title that becomes a good title on PR descriptions.
This article shows “tactics” to better use Git. I really like these two:
- start by writing the commit message before the actual work and then amending it. Commit Message Driven Development I guess, to follow the XDD trend
- splitting refactorings into two commits: changing the API and then changing the calling sites
10 Things Software Developers Should Learn about Learning
This article contains ten findings, backed by research, about learning and software engineering. Totally worth reading if you’re into learning about learning.
These are some of my favorite lessons:
- “Expert programmers may have low or high working memory capacity but it is the contents of their long-term memory that make them experts.”
- “Expert developers can reason at a higher level by having memorized (usually implicitly, from experience) common patterns in program code, which frees up their cognition.”
- “The brain needs rest to consolidate the new information that has been processed so that it can be applied to new problems.”
- “There is a key distinction between a beginner who has never learned the details and thus lacks the memory connections, and an expert who has learned the deeper structure but searches for the forgotten fine details.”
- “There is no reliable correspondence between problem-solving in the world of brain teasers and problem-solving in the world of programming. If you want to judge programming ability, assess programming ability.”
If you don’t want to read the whole article, jump to the Summary section at the end.
Why Most Software Engineering KPIs are BS and What to Do About it in 2024
Does your team measure story points too? The truth is we don’t know how to measure our work. I worked with a company that measured the percentage of completed tasks. It was a killing pressure. And once we have a metric, we start to game it. On the last day of the sprint, we saw people removing tasks so as not to mess with the final percentage.
From the article: “Engineering leaders (and sometimes non-technical executives) have often made the poor choice to measure output rather than impact”. The author recommends: “separate engineering health metrics to KPIs.” This is how the team feels vs the business impact of the work done.
27 Years Ago, Steve Jobs Said the Best Employees Focus on Content, Not Process.
This article tells Steve Jobs’s opinion on office politics and bureaucracy and how often we think “paperwork” is the real work. Process vs Output. Also, this article shares how to keep the best team members around, those who are good at identifying the output.
From the article: “Success is rarely based solely on process. Success mostly comes down to what your business accomplishes.”
Voilà! What are the KPIs of your team? Do you measure story points or percentage of completed vs planned tasks? Until next Monday Links.
In the meantime, don’t miss the previous Monday Links on NDC Copenhagen.
Happy coding!