Logo
Join the CTO Newsletter for free!
 
Amazing CTO Logo

Amazing CTO | More happiness and success
🚀 123.4

by Stephan Schmidt

Happy 🌞 Sunday,

Welcome to my opinionated newsletter. This week’s insights

🧠 The hidden force killing your code quality — Why cognitive load matters more than you think
🚀 AI coding burned me out — An unusual consequence nobody talks about
💬 I sat down with Werner Vogels — 9 brutal truths from AWS’s CTO
🎨 Stop using CSS preprocessors — 4 reasons they’re slowing you down
🧪 Delete your tests — The controversial advice that might save your sanity
⚡ When software kills — The Therac-25 incident that changed everything
🔤 German Strings are everywhere — The optimization trick which is genius 🤖 CEO fires devs for refusing AI — Coinbase’s controversial ultimatum

Good reading, have a nice Sunday ❤️ and a great week,

Stephan
CTO-Coach and CTO-veteran

Need support as an engineering manager? Thought about coaching? Let's talk—I helped many CTOs and engineering leaders with growth and making the right decisions under pressure, I can help you too.
🎁

If you only read one thing

Cognitive Load is what matters (27 minute read)

Cognitive load, a core concept to software development that becomes even more important with AI. “Confusion is caused by high cognitive load. It’s not some fancy abstract concept, but rather a fundamental human constraint. It’s not imagined, it’s there and we can feel it.” My theory, over the last fifty years, we have created roles split by cognitive load. Skills get broader and deeper, cognitive load expands, we split the role in two new roles. While at the same time, there is pressure from the business to generalize people and minimize roles. The tension between these points has determined our industry over the last decades. The article has more insights. Hurray to “Since we spend far more time reading and understanding code than writing it” - yes, take this to heart and interview with this insight, also AI prompting is more than generating code, see my Marvai. Also relevant: Team Topologies book and Idea Flow by Janelle Arty Star (must read!) I consider the concept, and the article crucial for understanding software development.

https://github.com/zakirullin/cognitive-load


🚀

Stories I’ve enjoyed this week

An unusual consequence of AI coding (1 minute read)

“For me, apples to apples, a 4-hour session of AI coding is more cognitively intense than a 4-hour session of non-AI coding.” For me using AI is straining, it feels like driving a rally car you need to be awake every second to steer in the right direction - understanding what is going on at insane speeds.

https://www.praf.me/ai-coding


i sat down with werner vogels (4 minute read)

OMG. Lucky guy I guess talking with Werner. My claim to fame, I once gave a talk at a conference about time to market and Werner Vogels sat in the fast row and clapped his hands from time to time. That’s that. From the article, “Werner is sharp, real, and doesn’t sugarcoat.”

1. Solve Problems, Not Hype
2. Plan for Failure, Not Perfection
3. Reversible vs. Irreversible Decisions
4. Security > Operations > Cost
5. AI Gives Us Time Back – That's the Real Magic
6. Build Only When You Can't Buy – But Own the Long-Term
7. What You Build, You Run
8. Cost Isn't Boring – It's Survival
9. AI Is Not Magic – It's a Compiler

My 2 cents. About 3: one of my former bosses said: If the decision is hard to reverse and can kill the company, come ask me. Otherwise, do it. Too many companies have no clear guidance around decisions. Second, 9: this is what I have been saying for some months now, e.g in April I wrote in my AI newsletter: “One-Shotting Minesweeper - AI as a compiler” Perhaps Werner reads my AI newsletter.

https://everton.xyz/i-sat-down-with-werner-vogels/


4 Reasons to stop using CSS Preprocessors (2 minute read)

Some of my clients have long CI/CD runs and wonder why. It is often the small things adding up. The attitude that performance does not matter today leads to lots of bloat. For some projects, the bloat is CSS preprocessors that make deployments slower. David Heinemaier Hanson wrote “The dream has come true. It’s now possible to build fast, modern web applications without transpiling or bundling either JavaScript or CSS.” For more and more projects #Nobuild is an option, it creates faster development loops and shortens CI/CD. For many projects, CSS is good enough with nesting and variables, and no more need for a preprocessor. It’s good enough for all my side projects. Drop CSS preprocessors if you can.

https://helloanselm.com/writings/4-reasons-to-stop-using-css-preprocessors


You should delete tests (4 minute read)

Tests are like laws, we get more and more of them because people are paid to create more and more. It sounds like anathema to delete tests, doesn’t it? Is there too much of a good thing? Over the last decade I came to the conclusion, that I love unit tests but that E2E tests were build for another area: That of the yearly release. Working in a tech company in the 2000s, we had a complicated release process with release trains and lots of planning, and complicated hot fixes. Today, in the startup of my wife, a hotfix might have taken five minutes. Less tests are a good thing. I advise CTOs to have E2E tests for the crucial user flows that bring in the money, like login or checkout, but do not E2E test the last pieces of your apps, like changing the username - stop those writing those tests. If it breaks, with good observability, just hotfix it in five minutes - and make thousands of CI/CD runs faster and determenistic. Also, read the article.

https://andre.arko.net/2025/06/30/you-should-delete-tests/


People Are The Point (21 minute read)

I’ve struggled a lot to include this article. For starters, it lost me in the beginning by quoting Star Trek - an Scifi sitcom that people want to quote for philosopical insights, instead of reading philosophers. For starters - second time - why do I need a pilot in Star Trek? Why not tell the computer where to go? Star Trek authors recognized this themselves, did you notice? STNG has lots of computer usage, Voyager much less, DS9 - perhaps AIs could not be retrofitted onto Cardassians tech - mostly nothing. But it cuts to the core: why people when I have AI? Sorry, got distracted. We hear lots of bad arguments in the article (like energy, 0.2% of todays world electricty usage goes into AI, vast percentages go into senslese commuting with cars - but I guess the targets you choose determine who you are). Sorry, again got distracted. But I wanted to include the article in the end, perhaps it makes you think (in whatever direction, I prefer people thinking even if they come up with conclusions I disagree with - and you can learn more from the people who disagree with you than from those who agree). Ha, long opinion on an article I struggled to include. Find the nugget between the rants.

https://whatwelost.substack.com/p/people-are-the-point


The Therac-25 Incident (1 minute read)

A tragic story of people dying from software bugs - or from software killing people by a bug - but quite some things to learn from it. “In fact, the Therac-25 and all the supporting equipment were always finicky, so “something doesn’t work” practically was part of the routine.” - the signs of the problems were there, but igored because something always didn’t work. Feels like too many customer support and backoffice applications I have seen, which usually have the lowest of the lowest priorities in companies (they shouldn’t, your margins are there!)

https://thedailywtf.com/articles/the-therac-25-incident


Why German Strings are Everywhere (12 minute read)

Do you know what German Strings are? I didn’t. The idea is that there are many short strings in applications, and most don’t change so you can optimize them with the edge case of putting short strings in 128bit - which are 2 64 registers instead of a memory pointer + memory. They are called German Strings because they were invented by a German university (TUM). What can we learn from that? Many developers want to generalize and abstract everything, with the downside of their solution being very inefficient (same thing: many bad sorting algorithms are the best when sorting <20 items, a major use case in many web apps) for the majority of use cases. I do believe many developers find the idea of German Strings enticing and revolting at the same time. Build for your reality.

https://cedardb.com/blog/german_strings/


Coinbase CEO says he ‘went rogue’ and fired some employees who didn’t adopt AI after being told to (1 minute read)

If you change your org, or culture, or process, not everyone will change. People in your company are there because they like it the way it is. When we introduced Agile in companies, some people left because it wasn’t their thing (which is ok). Same with AI - not that I endorse firing them - but in the end they will leave. I understand where this comes from, “He said the goal is to get to 50% of code written by AI by the end of the quarter.” but wow will this lead to lots of bad LOC in their codebase. Reminds me of that Dilbert comic, where the boss says “I’ll pay $10 for every bug you find and fix” and a developer shouts “I’m gonna write me a new minivan this afternoon!”

https://www.businessinsider.com/coinbase-ceo-fired-employees-not-using-ai-tools-onboarding-2025-8


Events For Engineering Managers

  • September 18-19, TechLeadConf, Remote
  • September 23-24, CTO Craft Con: Berlin
  • September 26, T3 Berlin 2025
  • November 3–4 LeadDev, Berlin
  • November 5-6, code.talks, Hamburg
  • November 28, TechLeadConf, London

What is happening with Stephan?

Lots has been going on. I got a record number of new CTO Coaching clients in August, I do think financing picked up on one hand, and the AI transition gets more important and people don’t know what to do on the other. I gave some talks on AI and held a workshop on how to motivate developers to use AI, what is in it for them. Started writing my Ultimate Practical Guide to Meetings and finishing the AI update for my CTO book.

Join the CTO newsletter!
Impressum