Hacker News new | past | comments | ask | show | jobs | submit login

Premature optimization is the root of all evil.

If you were able to accurately predict the future so you could know what your pain points would be as you grew, you would be wasting your talent writing software. You should be playing the lottery.




If you were utterly unable to predict any of the potential pain points in the things you build, I would seriously question your expertise. The fact that you cannot predict the future perfectly does not mean that the future is wholly unknowable.


It's not that pain points are impossible to predict. It's that you'll get some predictions wrong. False positives will cost you from the start and false negatives will bring you problems when they surprise you.

Instead of planning for future predicted problems, plan for change. Embrace the fact you know little about the future and that both the problems and the way you tackle them will always be mutating.


What you're saying is basically "the only constant is change", which is fine and dandy, but also kind of a useless truism. You are attempting to predict the future by building a product/project. You are assuming that the thing you build will continue to be useful and valuable into the future. By the very act of building, you are asserting some knowledge about the future.

Sure, you shouldn't go crazy and build a complex and expensive solution you don't need today and may never need, but it's disingenuous to claim that a lack of perfect clarity into the future justifies a complete lack of planning for the future.


Well let's see, which JavaScript framework is popular this week?


If you're picking your frameworks based on popularity this week, I can probably predict your future pretty accurately: You'll encounter a bunch of growing pain as you find that your chosen framework is not as mature as you'd hoped. You'll also find increased friction as your developers jump between projects and need to remember multiple frameworks that were chosen for popularity when each project was started. And you'll probably end up repeating this cycle on the next project.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: