Hi! Great to hear that you want to step it up your development ambitions

There is not a single road to get to that point, but we can give some pointers on how to gain more knowledge:
- Documentation: There is some information about the hardware architecture of the Crazyflie that will be interesting to read:
https://www.bitcraze.io/docs/overview_crazyflie/. It's good to know about what microprocessors are on the Crazyflie and what handles what. The STM32F4 is the microprocessor that runs the main crazyflie firmware, which bring us to...
- Read the source code:
https://github.com/bitcraze/crazyflie-firmware. It is handy to know the structure of the crazyflie firmware, on which modules there are, how the expansion deck drivers are handled. Once you got a feel for that you can try to ...
- Write an application: From this you can look at the push demo described in this blogpost
https://github.com/ataffanel/crazyflie-push-demo, which pretty much enables you to have fully autonomous behavior on board with a flowdeck and a multiranger. You can also use it to write an onboard statemachine to be used in MoCap, flying a figure or something like that.
- Contribute: Also, since it is an opensource project, we always appreciate if people use the code and contribute back improvements or features by pullrequests to the Crazyflie firmware github repository. So hopefully you will reach that level as a developer soon enough.
The easiest way to start programming on the Crazyflie is to starts from the idea that you want to implement and gathering the knowledge on how to implement it. So could you let us know what you would like to achieve with your crazyflie?