Hacker News new | ask | show | jobs
by spoiler 4412 days ago
I agree with this, however I'd like to add to it.

When you build stuff for the purpose of practice also make sure you build it incrementally. For example, design a file format, build a parser/generator for it. After that, add networking, so two apps can communicate the contents of the file. After that add encryption (nothing fancy, just use a library), then add some TLS, and then, and then, and then.

I found this approach best because:

1) You learn new things (because you research best way to do stuff, experiment with code, etc), and 2) you learn from your mistakes, because as you add you might notice that certain things don't play with your new features, and you will be forced to improve them.

P.S: I know my example might seem a bit lame, but I couldn't think of anything else at the moment.