The Missing Course: Fail Fast

Dean
ILLUMINATION
Published in
14 min readOct 6, 2022

--

For fewer insects nibbling at the codebase

A Big Fail: Russian Main Battle Tanks Destroyed by Ukraine at Kherson. Photo by author, in the field

This is an article in my continuing series on critical subjects in Software Engineering that were not taught in my daughter’s university — her at times poor experience is the reason why I wrote these.

Basic knowledge of programming is assumed — what is a compiler, a statement, a variable. I am trying to introduce SE terms in context, without unnecessary jargon — these articles are designed for people at the forward arc of their learning, not so much for long-time practitioners. If you are new to this series you may want to start here, at the beginning. Or not — it’s your journey.

Fail Fast is my #2 principle — a fundamental underpinning of software engineering that should be incorporated into all development processes. The basic idea is you want to fail (expose your errors) as fast as possible. The first principle (in The Secret to Software Engineering) is how to design to prevent problems. Fail Fast is how to deal with those that slip through.

Below are examples — there are many other techniques, I’m just scratching the surface here — but these will illustrate fast fails : type safety, lint, assert, continuous integration, and iteration.

She’s Just Not My Type

--

--

Dean
ILLUMINATION

Indie Hacker -- C++,PHP,AI,Finance,Telecom -- after 40 years in the US and Europe: you name it, I've coded it, traveled through it, or tried to ski over it.