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

I would argue that "engineering" and "scale" are different concerns.

Engineering is about building and maintaining things fit for their purpose.

A bridge that only needs to last for one year is designed very differently than a bridge intended to be used for twenty years.

In the case of software, that means (a) building what your users and business need; (b) designing software that is easy to change; and (c) delivering enough scale to meet your expected needs for the current business cycle.

For a new startup, you can probably get by with a Rails app on a single Digital Ocean droplet, with plans to scale horizontally. For an established business, you might have a large data warehousing operation running custom C++ code across multiple datacenters, of which the web frontend is a tiny (but important) part.

Good software engineering makes the steps between "New Startup" and "Established Business" as painless as possible, with a minimum of additional overhead.




> A bridge that only needs to last for one year is designed very differently than a bridge intended to be used for twenty years.

Yes, but in software, the usual case ends up that the 1 year bridge actually has to become an interstellar spaceship and has to last basically forever.

This happens in other disciplines as well but I have not seen it as extreme as many software projects I saw.




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

Search: