I spend a lot of time talking to engineers.
I ask them about design choices, technical decisions, and why something is built a certain way. I try to understand why this feature is so cumbersome to use, why this API is so convoluted, or why the user experience feels unnecessarily difficult.
And more often than not, the response I get is:
💬 “Well… it’s complicated.”
Sure. Everything is complicated.
That’s why you’re here. That’s why you’re an engineer.
But “it’s complicated” should never be an excuse for bad design.
Imagine If Other Professions Worked Like This
Let’s take a bakery, for example.
You walk in and ask for a loaf of bread.
The baker hands you a cup of flour and some water.
🫤 “Uhh… I was expecting actual bread.”
💬 “Well… it’s complicated.”
💬 “We’d have to mix the dough, let it rise, bake it for a while…”
💬 “That’s a lot of steps, so we just decided to give you the raw ingredients instead.”
This is exactly how software feels someday.
When users interact with your product, they don’t want to assemble the damn bread. They just want something that works.
Your job as an engineer is to handle complexity—not push it onto the user.
The Difference Between Good and Bad Engineering
Look, I get it. Engineering is hard.
Making things simple is difficult.
Abstracting complexity takes effort.
But great engineers don’t just write code—they design experiences.
A bad engineer builds something difficult and says, “Well, it’s complicated.”
A great engineer builds something difficult and makes it look simple.
🔹 Bad engineering forces users to deal with complexity.
🔹 Good engineering hides the complexity behind smart design.
Take Apple, for example. You know what’s actually complicated?
🔹 Compressing a 4K video into a tiny file.
🔹 Rendering realistic lighting effects in real-time on an iPhone.
🔹 Syncing all your messages, contacts, and photos seamlessly across devices.
But do Apple users ever have to think about any of that?
No. It just works.
That’s good engineering.
Stop Saying “It’s Complicated”—Start Making It Simple
When you hear yourself saying, “It’s complicated”, stop for a second and think:
🛑 Are you solving a hard problem in the simplest way possible?
🛑 Or are you just passing the complexity to the user?
If it’s the latter, you haven’t finished the job yet.
Because real engineering isn’t about making things work.
It’s about making things work… simply.
It was not complicated to acknowledge this article