The Simplest Solution is the ‘Best’ Solution
Sometimes in software development we spend too long arguing over and building the ‘best’ solution.
But it is a form of premature optimization (which is the root of all evil), whenever we ask ourselves:
- What is the most-performant way to implement a feature?
- What requires the least amount of memory?
- What is the most secure way to architect something?
These are appropriate questions to ask, but only at the right time. When we ask these questions right out of the gate, we over complicate things unnecessarily.
Most likely, you are not Google. You are not Amazon.
You do not need to worry about the scale that they worry about… yet.
The goal early on is to move fast and move simply so that you can easily refactor if needed. In fact, you won’t even know what your needs are until after you’ve actually built the thing.
In the end — ‘Best’ is expensive. ‘Best’ takes time. ‘Best’ is complicated. ‘Best’ is arbitrary.
And ‘Best’ may never be needed.
Instead, ask yourself — “what is the simplest and easiest way of doing x”?
Then build that.