My facilitator explained something in class today that I felt in my chest.
Most startups don't build auth from scratch. They reach for Keycloak or a managed service first.
Because auth is a rabbit hole. And your core product can't wait for you to climb out of it.
Data Integrity means your system never lies.
No partial writes. No silent failures. No records that are half updated and half not.
What the system says happened actually happened. Completely.
In a hospital ward system, a patient's record gets updated with a new medication.
If that write fails halfway β the record shows the medication was added. The nurse acts on it. But the dosage never saved.
I went with many-to-one. Multiple next-of-kin, one patient.
High-stakes systems don't get to optimise for simplicity. They optimise for safety.
#StillShowingUp#SoftwareEngineering#SystemDesign
While writing the code for a hospital ward management system today, a question stopped me.
How many next of kin should a patient have?
One feels clean. Simple to model. Easy to query.
But this isn't a clean problem.
Not all systems are built equal.
A bug in a social media app? Someone sees the wrong post.
A bug in a fintech app? Someone loses money. Families go hungry. Emergencies go unfunded.
A bug in a hospital system? A nurse acts on wrong information.
The stakes change. The responsibility changes with them.
I'm building a hospital ward management system.
Every design decision carries weight I've never felt before.
In an auction app, imagine a bidder clicks "Place Bid", and the network lags. They click again. And again.
Without Idempotency, three bids go through.
With it, only one. The system recognises the repeat and ignores it.
Same action. Same result. Every time.
#StillShowingUp
Idempotency. Sounds complex. The idea is simple.
If you do something once and get a result, doing it again should give you the same result.
No duplicates. No side effects. Same outcome.
In my auction app, when a bid wins β the buyer's wallet gets debited, the seller gets credited, the item changes hands.
If any one of those steps fails, none of them should go through.
All or nothing. That's Atomicity.
#StillShowingUp#SoftwareEngineering#SystemDesign
Atomicity. One of the first system design concepts that stopped me cold.
It means all or nothing.
A transaction either completes fully β or it doesn't happen at all. There is no in between.
Software Engineering is not about writing code.
I thought it was. Most people do.
Code is just the output. The real work is thinking, understanding the problem deeply enough to know what solution it actually needs. Not just what solution you can build.
A bad plan written in perfect code is still a bad plan.
I learned this from mixing boards.
You don't walk into a session and start twisting knobs. You listen first. You ask questions. You understand what the artist is trying to say.
Day 1 of 365. Still Showing Up.
September 30, 2025. I walked into Semicolon Africa and took a break from 7 years of mixing boards.
Not because I stopped loving it. Because I needed to know what else I was capable of.