News for hackers. Stuff that matters.
Re:Running a Software Business on 5 Hours A Week by nostrademons on Saturday March 20, 2010 @07:40PM (#1207227)
I thought that was the best line in the piece, because it's so true. Probably 90% of the engineers at Google are there because they want to work on wonderfully interesting technical problems all the time, and don't want to deal with all the other bullshit that comes from running a company. And I suspect that a major part of the reason my startup failed was because I wanted to work on wonderfully interesting technical problems yet also wanted to get rich. There're a limited number of problems that people will pay you to solve, and most of them are boring.

As for who is eligible to build a complex product? Nobody. If you set out to build a complex system from the start, it invariably won't work at the end. Remember Gall's Law:

http://en.wikipedia.org/wiki/Galls_law

Before you cite counterexamples like Linux or Google, it's worth considering what they looked like when they started. Linux started as a terminal emulator that would spit back "ababa" when you turned on the computer. Google's early webserver was a dozen or so source files that looked vaguely like Tornado, except that instead of having all those webframeworkey goodness like regexp-based dispatch rules and templates, it would just issue "prints" on the file descriptor for the user's connection.

If you want to write a database from scratch, you should start with some sort of basic persistent key/value store. Then give your values a column-like substructure. Then figure out how to index it. Then figure out how to index it based on multiple columns. Then figure out how to handle joins and sorts. Then slap an SQL parser on top of it, and you'll have something similar to MySQL c. late 1990s. Then endure all the laughs as people say you're not a "real" database, and put in 10 years of incremental improvements while you add transactions, and better SQL compliance, and query optimizers, and wire protocols, and replication, and clustering, and all that stuff.

There are no comments on this comment yet.