The path is long. Besides familiarizing yourself with Bitcoin Core (as the most maintained client), studying from development mailing lists and StackExchange posts, and start programming yourself a cryptocurrency from scratch as exercise, you will have to become professional at C++, examine pull requests, issues, code-- pretty much the entire repository. Maybe appear in some conferences as well, and talk with the rest of the developers to be taught directly.
It is a long path and that is true, I cannot imagine how long it will take before you will become a successful developer.
In addition to the said above that I quoted is that you must also stay up-to-date with the latest developments in the bitcoin ecosystem, which can be done by regularly checking development mailing lists, StackExchange posts, and examining pull requests as aid above.
The basic information that you need to acquire first is to read gently the bitcoin white paper and understand it very well.