Ask HN: How to avoid over-engineering software design for future use cases?
This tendency has been noted since at least the Manhattan Project, described by none other than Richard Feynman. The prescription for oneself is pretty simple - just say no! It is relatively easy to catch yourself whenever you think about some improvement that&#x27;s irrelevant to delivering so long as you have convinced yourself that you need to wholeheartedly focus on delivering.<p>It is more difficult to persuade others not to over-engineer. I have tried and failed many times to do so. In fact, if you try too hard you may just make them hate their job. Folks get into software development for a whole host of reasons and only one of them is shipping. They may not be satisfied with a job where they funnel requests from a PM directly into code with little creative input. I&#x27;m not sure I can give good advice on this front, other than to look out for certain red flags during hiring.