Hacker News new | ask | show | jobs
by sriram_malhar 5476 days ago
"We either make ourselves miserable or we make ourselves strong. The amount of effort is the same." -- Carlos Castenada

Take a complex product like a distributed database or a queue or a browser (or whatever else takes your fancy) and build a competitor. You'd be tackling disk structures, concurrency, query parsing and evaluation, distributed programming, encryption, compression, the works.

Make sure you don't spend all your time on learning what others have done. Think of how you'd do it from scratch and then you'd be able to understand the various real world algorithms and tradeoffs that go into it. It is a fantastic challenge, and when you come off that exercise, you'll be up there with the big boys.