Member-only story
The Thin Line Between Flexibility, Readability, and Scalability in Software Development
What would be your strategy?
Do you know that feeling when your managers have a problem to solve and they ask you to come up with a solution?
The programmer, developer, coder, or nerd inside you thinks, “Yes, I’m going to rock this! I’m going to blow everyone’s minds with my super-smart solution.”
If you know this feeling, keep reading because this can cause several dangerous situations for the business.
In this story, I want to dive into the danger of over-engineering. I want to show you that there is a very thin line between building a solution that is good enough and over-engineered solutions.
I’m not going to tell you what the best solution is. I want to make you think about this carefully because these situations and decisions can have a big impact on the timeline of the development phase.
Design a Rock-Solid Architecture
Most developers are happy to dive into a problem and make the best solution there is. We are very devoted to putting everything in our power and ability into this solution.
You probably recognize the great architecture you and your team came up with and you were all stoked about it.
Maybe you were on fire and confident that you were going to rock this. There is no doubt that something comes between that.
And then your manager comes in, and you have a time frame of six months.
Ouch, there goes the plan!
But you and your team find a way to make the architecture a little bit less awesome — but still awesome enough.
You and your team start building day in and day out.
Reusable or Not
Weeks go by and you’re building lots of components.
It gets the data from the APIs and shows all the data.
You’re building a service to transform all data models into forms. This is super awesome!
So you build a service that can be used everywhere.