benoau 21 minutes ago

I don't think load balancing is a good example of overengineering, whether "they have 300k+ users, and I have none" you should build your service to be horizontally scalable anyway and probably use a cloud platform that will balance the load between instances automatically. It's almost 20 years since Heroku showed us the way and today most cloud infrastructure implements something like this. There are few scenarios where a dev shouldn't be working like this by default, in my opinion.

I think overengineering would be more like, worrying about your caching, eeking out the gains from using edge servers and CDNs, message queues pushing workloads off the web servers, database mirrors or clusters, splitting stuff off into microservices, all of this you can tackle as you grow.