Many programmer friends have recently asked me privately for advice / online resources where they can learn how to program Blockchain-based applications. In fact, although the Internet is full of resources it is also very dispersive and it can happen that if the wrong guide is found the learning process can become frustrating and very long. The advice I am giving is to take this free course: cryptozombies.io
Cryptozombies teaches you how to program DApps in Solidity on Ethereum's Blockchain and does it in the old style: making you immediately get your hands dirty by creating a DApp from scratch. If you already have the basics of programming, especially the C and javascript, you will be immediately at ease: you will immediately deal with concepts such as structures, functions and methods, mapping, saving in memory or blockchain etc. And it's fun too!
My advice is therefore to do this course, understand the basics and understand how to reason when you have to build a DApp, then try to make one, just for fun. And always remember to structure the project so that it can easily be moved to other Blockchains, not only to deepen even further and try the other, understanding the possible risks and benefits, but because you always have to be ready for any unexpected: if in phase of realization of a project you realize that a determined Blockchain is not good for the DApp that you are trying to build you must be able to immediately change road, otherwise you risks the failure.
Programmer friends do you have any other tips and suggestions to give to youngsters who want to try their hand at this world? :)