Earlier quoted context omitted.
...and have time, and funding, and patience. 2 out of those 3 are in short supply in Silicon Valley. Robust software is eminently possible, but it requires a development culture that is often incompatible with shipping lots of things quickly and seeing what sticks. I recall that when Parker Conrad spoke at the Stanford startup class, he said that he'd been turned down by many VCs, at least one of which said "Well, if…
As an aside this is something people absolutely do not get. MongoDB haters were always quick to point out how the database can lose data; even after the journal was introduced and that became much harder. But MongoDB failed to explain this same thing well: if you are storing payroll information you need a very robust data storage solution. There's a cost to robustness, however, which you probably don't need to pay wh…
We used Facebook as an example all the time. For them, moving fast and breaking things is a good value. If someone's status update got lost, that isn't ideal, but it isn't the end of the world.
When people don't get paid, that's a Big F-ing Deal.
It's an easy trap to fall into as an engineer. There are many cool problems to solve, but when you join a team you're agreeing to solve their problems. Focus on the customer.