Hacker News new | ask | show | jobs
by StrangeClone 1574 days ago
Hardware is quite cheap. Even with bloated software companies are making ton of money. Software developers like to optimise resource but never have enough time for this as business requirements itself keep changing. Time to market and engineering resource required are bottlenecks here.

Only part of software optimisation which should be focusing early should be cross cutting concerns like logging, monitoring, authentication, etc. Business logics should be separated from these and optimised only when required. Consuming more resource is better than rewriting business logics and fixing bugs.

2 comments

> Hardware is quite cheap.

Enterprise has embraced a cloud-first stragegy.

Suddenly, throwing hardware at a problem becomes throwing cash at the cloud.

You are missing broader point here. If something is in production and burning cash, it can be replaced with optimised code if system are decoupled. But forcing optimisation earlier will make your developers less impactful and loose interest in the project or job. Most business logic code is updated frequently due to change in requirements and spending 100s of hours for feature which will be used by just small set of users is bad investment. This strategy can help you release some feature faster, get it A/B tested and once you have scaled enough you can start focusing on the individual decoupled system to be optimised.
> Hardware is quite cheap.

Joe Armstrong (Erlang) always joked that if you wanted your program to run faster, just wait a few years and the computing power will increase. I found it to be a profound statement about shrugging about optimizing things needlessly unless it was absolutely necessary.

Yes, and now Windows 10 is slow even with an SSD boot drive.