Ciao!
I know what you are thinking: “that’s a cheesy stock picture.” I couldn’t agree more, but it’s fun, isn’t it?
Before we jump in, would you be willing to help me?
I’ve prepared a survey about the PinkLetter. Since there are no required questions, you decide how much time to spend on it.
I’m willing to help; bring me to the survey!
I really appreciate the hand. Now, let’s get to the cool stuff.
This week, I write about technical debt. I hear some folks murmuring in despair back there. I feel you, but I need my weekly dose of therapy!
When I started planning this week’s article, I wanted to talk about the imperfections of the first attempt at a solution and the dissatisfaction that stems from it.
However, as it often happens, the mindmap hijacked me into describing two types of technical debts. One does not need repaying and should be left alone. The other will require attention in the future and, as such, needs to be maintainable.
I haven’t read the book, but I found this pearl in the prelude to How To Design Programs:
> Good programming is far more than the mechanics of acquiring a language. Most importantly, it is about keeping in mind that programmers create programs for other people to read them in the future. A good program reflects the problem statements and its important concepts. It comes with a concise self-description. Examples illustrate this description and relate it back to the problem. The examples make sure that the future reader knows why and how your code works. In short, good programming is about solving problems systematically and conveying the system within the code. Best of all, this approach to programming actually makes programming accessible to everyone—so it serves two masters at once.
The way I put it in the blog post is that software needs to reveal intentions. I recommend providing an index in the code as a way to achieve that goal. Also, there are some links to help create a process that guarantees more intention revealing code by design.
How to Deal with (Your) Unsatisfying Code — In the past, I committed the crime of adding a “Refactor Feature X” ticket to the cemetery (aka backlog). Luckily, there are better ways.
Managing technical quality in a codebase by Will Larson — If there’s one thing that engineers, engineering managers, and technology executives are likely to agree on, it’s that there’s a crisis of technical quality. One diagnosis and cure is easy to identify: our engineers aren’t prioritizing quality, and we need to hire better engineers or retrain the ones we have. Of course, you should feel free to replace “engineers” with “Product Managers” or “executives” if that feels more comfortable. It’s a compelling narrative with a clear villain, and it conveniently shifts blame away from engineering leadership. Still, like most narratives that move accountability towards the folks with the least power, it’s both unhelpful and wrong. (Riccardo: technical debt from another angle, and it’s stuffed with actionables!)
THE LONG ROAD TO HTTP/3 by Andrew Savchyn — While HTTP/3 specification is still in the draft stage, the latest version of the Chrome browser already supports it by default . With Chrome holding around 70% of browser market share, you could say HTTP/3 has gone mainstream. (Riccardo: I find the explanation of HTTP/3 through the evolution of the protocol nice and tidy.)
Hands-Free Coding by Joshua Comeau — Earlier this year, I developed Cubital Tunnel Syndrome, a repetitive-strain injury, in both of my elbows. As a result, I pretty much can’t use a mouse or keyboard; after a few minutes, I get a burning pain shooting down my arms. Even if I try to limit my computer usage to 60-second bursts, I wind up inadvertently making the situation worse. (Riccardo: I talked about my experience with RSI in the past, but I never thought you could get so far with dictation and eye-tracking. Wow!)
Before we say bye, how did you find the PinkLetter this week? Please, consider sharing your feedback by filling the survey. It takes a minute, I swear.
Thanks for spending some time reading with me. Talk to you soon.
Yours truly,
Riccardo.