If you're at that stage where you're no longer just “writing code” but starting to think about architecture, trade-offs, and maintainability, this article is for you.
KISS is not just a catchy acronym.
It’s a maturity filter.
Where Did KISS Come From?
The KISS principle emerged in the 1960s, in the context of aerospace and military engineering — not software.
It is attributed to Kelly Johnson, the lead engineer at Lockheed Skunk Works, the division responsible for projects like the legendary SR-71 Blackbird.
The original phrase:
“Keep it simple, stupid.”
The word “stupid” was not an insult.
It was a design constraint.
The idea was simple:
A system should be simple enough to be maintained by an average person, under pressure, in real-world conditions.
The Real Problem He Was Solving
The aircraft built by Skunk Works needed to:
- Be repaired in the field
- With basic tools
- By non-specialist technicians
- In hostile and urgent conditions
Kelly Johnson imposed a strict rule:
If it cannot be easily explained, maintained, and repaired, the design is wrong.
Complexity = risk.
In aviation, risk = death.
Now replace “aircraft” with “production system.”
How This Applies to Software
Decades later, software engineers realized they were making the same mistake:
- “Brilliant” systems no one understands
- Beautiful architectures that collapse under change
- Codebases that become unmaintainable after 6 months
KISS became one of the foundational principles of software engineering.
But here’s the key difference between a junior and someone becoming mid-level:
- Juniors try to prove how much they know.
- Mid-level engineers try to reduce complexity.
KISS in Practice (With Python Examples)
Let’s move from theory to code.
Example 1 — Premature Abstraction
❌ “Architectural” Solution
class PriceCalculatorStrategy:
def calculate(self, price):
raise NotImplementedError
class DefaultPriceCalculator(PriceCalculatorStrategy):
def calculate(self, price):
return price * 1.2
class CheckoutService:
def __init__(self, strategy: PriceCalculatorStrategy):
self.strategy = strategy
def final_price(self, price):
return self.strategy.calculate(price)
Looks clean.
Feels “enterprise.”
But what if the system only needs one tax rule?
✅ KISS Version
def calculate_final_price(price):
TAX_RATE = 1.2
return price * TAX_RATE
Until you actually need multiple strategies, this is:
- Clearer
- Faster to modify
- Easier to debug
KISS doesn’t reject design patterns.
It rejects patterns without problems.
Example 2 — Clever vs Clear
❌ Clever (but confusing)
result = [x for x in data if x % 2 == 0 and x > 10 and str(x).startswith("2")]
Compact? Yes.
Readable? Debatable.
✅ KISS Version
def is_valid_number(x):
return x % 2 == 0 and x > 10 and str(x).startswith("2")
result = [x for x in data if is_valid_number(x)]
Now:
- Logic is reusable
- Easier to test
- Easier to explain
KISS often means naming things properly instead of compressing them.
The Shift From Junior to Mid-Level
Here’s what changes in your thinking:
Junior mindset:
“How can I make this elegant?”
Growing engineer mindset:
“How can I make this obvious?”
You start asking:
- Will someone understand this at 3AM?
- Am I solving a real problem?
- Is this abstraction justified today?
That’s professional maturity.
The Most Important Line
Code is read far more often than it is written.
If your code is not obvious, it is expensive.
Simple code:
- Reduces onboarding time
- Reduces bugs
- Reduces cognitive load
- Reduces ego-driven architecture
Final Thought
Next time you are about to add:
- One more abstraction
- One more layer
- One more pattern
Ask:
Does this solve a real problem right now?
If not, you might be violating KISS.
Simplicity is not lack of skill.
It is controlled intelligence.
And that is what separates someone who writes code
from someone who builds systems.
Thanks for reading!
If you have any questions, complaints or tips, you can leave them here in the comments. I will be happy to answer!
😊😊 See you! 😊😊
Support Me
Youtube - WalterNascimentoBarroso
Github - WalterNascimentoBarroso
Codepen - WalterNascimentoBarroso
Top comments (0)