There are 2 aspects to DSP programing.
One aspect is about signal theory (such as filters convolutions, Fourier and much more).
The other aspect is the programing itself, which includes understanding the machine and it's capabilities, and writing code.
Of course there are some areas of "overlap".
It would be good if you stated what it is you are after.
One person may be very much into the signal theory and the math, extending into issues of truncation errors, limit cycles and more, yet know little about the programing and code writing.
Another person many be good at code writing, extending to good understanding of the machine (word length, speed, interrupts and more), while knowing little about how to figure out the algorithms and or coefficients...
Yes, my "breakdown" is a bit artificial, but it may be good to be clear on what aspect you want to learn (maybe both?)
Regards
Dan Lavry
www.lavryengineering.com