Better Programming

Advice for programmers.

Follow publication

Member-only story

Stop Overthinking Your Complex Solutions and Start Building Simple Ones

Allen Helton
Better Programming
Published in
5 min readMay 13, 2020

Image by Gerd Altmann from Pixabay.

It doesn’t matter if it’s the first day of your career or you just had your 30th work anniversary. As a software engineer, you will subconsciously do one thing your entire life: overthink. You will design the most intricate and elaborate systems in your head when all you needed was a boolean value.

We can’t help it — it’s how we’re wired. It comes naturally to us. And honestly, there’s nothing wrong with exercising your brain a little bit. But it’s how far we take it that causes us problems.

Software takes careful design to build something truly powerful. What it does not take is weeks and weeks of meticulous planning to accommodate for all the edge cases. We used to do that, and we called it waterfall development. But we don’t do that anymore. We are agile.

The scary thing about overthinking your solution is how easy it is to do it. What seems like a straightforward path will quickly lead you down a rabbit hole. That rabbit hole will lead you to another, and another, and another.

Soon, you’ve reached the conclusion that you’re facing an impossible task. You might as well scrap the whole thing because you’ll never build the perfect software in any decent amount of time.

Well, you’re right about one thing: There is no such thing as perfect software.

Let’s discuss some strategies to help catch yourself when you start overthinking your solution.

Photo by Mia Baker on Unsplash.

Design for the 80%

Live by the 80/20 rule. Know that the primary use case of your application is going to be run 80% of the time. Combine all of the other edge cases and what-if scenarios, and you get the remaining 20%.

If you start thinking about use cases that don’t fall into the 80%, just stop. Write them down so you don’t forget them, then drop them. Your initial design does not…

Create an account to read the full story.

The author made this story available to Medium members only.
If you’re new to Medium, create a new account to read this story on us.

Or, continue in mobile web

Already have an account? Sign in

Allen Helton
Allen Helton

Written by Allen Helton

I am an AWS serverless hero with a strong focus on API design and standardization, event-driven architectures, and software automation.

No responses yet

Write a response