Christian Heilmann

A lesson from history for Software Engineers, Product Owners and CEOs

Friday, August 22nd, 2025 at 10:35 am

A photo of the German Submarine U 1206, on the sea with 5 people on deck.

This is the U-1206. It was the peak of submarine technology at the end of the Second World War. Right now it lies at 70 metres depth slightly North West of England.

Location of the sunk submarine U1206 in the northwest of England

You might say this is an impressive feat for a submarine to be submerged that long. Alas, it is isn’t by design but aided by lots of bullet holes caused by allied aircraft.

The reason is advancing technology for the convenience of maintainers without testing it properly.

You see, the U-1206 was the first submarine to be equipped with a flushable toilet instead of a septic tank. Cleaning out the tank means having to ascend. Ascending for submarines is bad as it makes them an easier target for aircraft. So, German engineering ingenuity prevailed and the U-1206 got a toilet that can flush whatever goes into it out into the ocean, making it Mother Nature’s problem.

Blueprint of the submarine showing the toilets.

On 14 April 1945, 24 days before the end of the war and 8 days after the submarine got into commission things went wrong.

Karl Adolf Schlitt

Captain Karl-Adolf Schlitt used the facilities and ran into the issue of getting rid of a captain’s log. The toilet wouldn’t flush.

So he called in an engineer to fix it. This one deduced that it must be a valve that’s closed and released one of them in the wall, promptly flushing the compartment with a mix of fresh sea water and other things. This would be bad enough, but the flooding also unearthed another design flaw: the toilet was located above the batteries of the submarine. Water – let’s call it that – seeped through the ceiling onto the batteries and caused a shortage and the release of Chlorine Gas. The submarine had to make an emergency ascend, got spotted by Allied Aircraft and sunk. Three people died, 46 got captured.

Just a reminder that using state of the art technology to release your shit as fast as possible out into the world is not a good idea. Especially when people handling that technology haven’t been properly trained on it.

Share on Mastodon (needs instance)

Share on BlueSky

Newsletter

Check out the Dev Digest Newsletter I write every week for WeAreDevelopers. Latest issues:

160: Graphs and RAGs explained and VS Code extension hacks Graphs and RAG explained, how AI is reshaping UI and work, how to efficiently use Cursor, VS Code extensions security issues.
159: AI pipelines, 10x faster TypeScript, How to interview How to use LLMs to help you write code and how much electricity does that use? Is your API secure? 10x faster TypeScript thanks to Go!
158: 🕹️ Super Mario AI 🔑 API keys in LLMs 🤙🏾 Vibe Coding Why is AI playing Super Mario? How is hallucinating the least of our worries and what are rules for developing Safety Critical Code?
157: CUDA in Python, Gemini Code Assist and back-dooring LLMs We met with a CUDA expert from NVIDIA about the future of hardware, we look at how AI fails and how to play pong on 140 browser tabs.
156: Enterprise dead, all about Bluesky and React moves on! Learn about Bluesky as a platform, how to build a React App and how to speed up SQL. And play an impossible game in the browser.

My other work: