Understanding Bitcoin protocol (through practice)
Bitcoin protocol is VERY simple. You haven't to read tons of manuals and study for years.

My point of view is (answrering your question) :


Write down on the piece of paper what you want to do.
Take your preferrable programming language (C++/Python/Delphi/Java/whatever)
Use internet sources only as referal information. Do not copy-paste
large pieces


Of course, 


USE TESTNET FOR EXPERIMENTS! NOT THE MAIN NETWORK!