I shudder to think about the amount of man hours wasted on a relatively simple website that has been completely over-engineered with the likes of React and/or Angular JS when a simple server side MVC framework and a bit of jQuery could have sufficed.<p>The industry is rife with people that instead of looking at a problem and choosing the appropriate tech to solve the problem. They choose the technology and then try to solve a problem with it.
Sometimes it requires a lot of thinking to come up with simple solutions.<p>Usually you need to consider a lot of alternative solutions in order to come up with the simplest solution and that takes time and a lot of thinking and a deep understanding of the requirements.<p>When I start a new complex project, in the early stages, there are entire days where I'm just thinking about stuff without writing any code. Then as the project moves forward, I spend less and less time thinking about things until I get to a point where it feels like the code pretty much writes itself because the design is aligned with my original goals.<p>You just have to be very clear about what your big goals are and where you're going to need flexibility from the beginning.
I think it's too easy to be sucked in by the promise of distributed X or eventually consistent Y.<p>In the past I managed migration of a few services away from Hazelcast as the team started peeling away the nice abstractions they'd become used to so they could handle things they hoped it would protect them from. All of a sudden a distributed lock isn't a lock if your cluster splits.<p>In the end almost everything ended up back in Postgres. Resistance was surprising - there was a lot of opposition to simple things due to a fear that the database would be harmed by being used to hold a few row locks, for example.<p>I can see why people overlook the obvious when the complicated solutions seem more sophisticated, which is easy to mistake for "better".
A lot of technologies are getting way more complex and confusing than necessary. Just look at the market of time management. Tonnes of tools, software, coaches, websites, books, etc. You name it.<p>I recently found out that a simple .txt file serves me exceptionally well (a good IDE plugin definitely helps, too!). No more messy software, apps, journals, etc. which I feel are making my time management tasks even more challenging.
<i>“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”</i>
― Antoine de Saint-Exupéry, Airman's Odyssey