Giovanni's Diary > Subjects > Programming > Notes >
Start projects
I can't stress this enough: if you want to learn to become a good programmer / software engineer, start making projects. Lots of them. Especially early in your career, you need to explore ideas and get familiar with different and difficult concepts. The key is to play with them and have fun.
To reiterate, I think the best way to become a good programmer is to implement hard things yourself, from scratch. Yes, I know it requires a huge effort, but that is exactly the point! And I think this holds in general for most skills.
What to implement? Really anything that comes into your mind. However, I think that there are some "core software" that everybody should be able to implement themselves, including:
- operating systems
- compilers
- databases
- graphics renderers
- codecs
If you aim to have a decent understanding of all the above and implement a non-naive version of them, you would become a better software developer.
I also feel like the education system should include and promote projects, and applying the theoretical knowledge in actual applications, focusing on the "core software" listed above.
Travel: Programming Notes, Index