Study the code of software you like that you can found for example on CodeProject, GitHub, GitLab, SourceForge, etc.
Try to make similar software and adapt them, without plagiarizing outside of personal learning, like a notepad, a calculator, a file explorer, a bank manager... or a game.
Write code, don't stop to write.
And above all, read and re-read books.
Personally, I like Wrox (Wiley) books, they are very good: do not hesitate to read even old books if newer version not available.
Online course are great too, but they don't replace books and source code or professional training.
To be able to understand advanced and in depth subjects related to programming and the nature of computers, we must go to Assembly, not only IL, but native Assembly and machine code.
Continue reading »