
For a word to be spoken, there has to be silence. Before and after. (Ursula Le Guin)
I’ll prepare a conference talk one day that’s made entirely out of fantasy and sci-fi quotes. I’m sure it will be a lot of fun for myself 😀
Cats, good books, AI, and religious walking in the city of Sofia

For a word to be spoken, there has to be silence. Before and after. (Ursula Le Guin)
I’ll prepare a conference talk one day that’s made entirely out of fantasy and sci-fi quotes. I’m sure it will be a lot of fun for myself 😀

This is Bruce Wang from Netflix with his inspiring talk about Technical Debt. I enjoyed his talk and wanted to write about it but as it turns out, I’m opinionated on the subject and would like to share my thoughts rather than his. Bruce says Technical Debt is the delta between the current code and the ideal code. I think Technical Debt is when a coding team takes a shortcut and comes up with a solution that mostly works but needs future changes. The work that’s needed and may never be done is the debt.
Samples of technical debt from my experience:
Out of these, the second system presented the biggest and the most time-consuming challenges. All the other problems can be improved with small iterations but when you have two competing systems, you’ll keep having two until the very end of whatever the solution is.
This code is bad, it will be better to rewrite it from scratch
— An engineer getting in trouble
To my understanding, this is the worst type of technical debt – one that’s hard to repay because the best outcome of the work is that nothing visually changes. Some issues with rewriting:
Before I continue, note that sometimes rewriting is the only option. 20-ish years ago, I saw a complete ASP/MS SQL website that used horizontally expandable tables. A new record would need a new column. I was contacted as a freelancer to fix it because the owner ran out of columns. The whole thing felt bad beyond repair. It, however, was not a high-traffic or high-responsibility service.
In many cases, the rewrite is initiated when other solutions exist.
Here’s what I’d do if a rewrite of a heavy-use code is suggested. First, I’d come up with a vision for what the final result needs to be, then challenge that vision with honest questions like “Do I need this?”. Most of the time the answer is no, You aren’t gonna need it (YAGNI). With the vision in mind, I’d need to reach the most simplified version of the future version of the code with small iterations that go to production so that there are never two systems and there is no migration between them, for example, by using the Strangler Fig pattern. I’ve done this and it works well enough that nobody notices. And if the second system is started and never gets completed, it soon becomes everyone’s problem.

Barbican Centre is a collection of concrete high-rises and old blocks in the City of London I’ve never paid attention to. I watched a talk by Nickolas Means on Day 1 of LeadDev about the history of it, who designed it, how it was built, who built it, and the how, and whys behind a bunch of other things like roads and rails. The process was quite impressive and completely turned my view about it from “ugly” to “impressive” although not necessarily “beautiful”.
The architects and the city planners navigated complex constraints and built for success. For example, the main hall had to be dug deep into the ground because the planners realized a successful hall needed residing musical organizations, and the two willing to use it, needed a larger venue. So the engineers identified the constraint, found a solution (dig deep), and built for success.
The proactive requirements and constraints identification lasted many years but the final result stayed and became a landmark area. The approach was not different from what has to be done in the software world when starting a complex refactoring initiative, although in the software things need to move a bit faster. Perhaps that’s why some people in the code world like the title Software Architect 🙂
I personally find the Brutalism and the maze-like corridors overwhelming.



The best part of Barbican for me was how cars were hidden beneath. Also, the bar that filled quickly with well-dressed people after work. It radiates life, while many of the brutalist buildings in my country radiate decay with their rusty walls and old windows. This was also predicted – the builders used special stone in the concrete with less iron so that the concrete would last longer without looking rusty and old.

Some speakers are worried about AI (AI skills threat as defined by Cat Hicks) and shared how they deal with it. The quote of the day is this – “I skate to where the puck is going, not where it has been” (Wayne Gretsky, shared by Lena Reinhard). However, given that all the tech visionaries and CEOs know this saying, we all move in packs towards that point with AI doing something. This reminds me of an old quote I shared in 2018 here:
By any normal measure, our growth was great, but it quickly became clear it could be a lot better if we operated less like a soccer team of seven-year-olds: all of us chasing the ball, none of us in position.
— Kim Scott. Radical Candor
According to Cat Hicks, science shows building a less-competitive company culture improves morale and people are less concerned if they’ll adapt to the change. The best response to the lurking AI in all the talks came later, and sorry I didn’t manage to take a photo of it to be more precise. Not a precise quote: “The best things in life come from uncomfortable, messy, and chaotic situations. We will live better if we embrace the mess and treat the situation as an opportunity. (It’s science).” I wrote down the source and it’s a book called Messy – The Power of Disorder to Transform Our Lives by Tom Harford. I’ll add it to my list.
Apart from the AI-speak, I was impressed by a talk about Architecture, and another about dealing with Technical Debt. The one about technical debt is worthy of a separate post.