I'd really like it if we replaced the phrase "write your own crypto" with "deploy your own crypto". It would be really great if we had more people who were competent enough to develop better cryptography!
Deploying your "own" crypto is fine, as long as it's done with a proven implementation.
This book and books like it are great to help people to understand how crypto works which allows them to implement and in fact choose the correct cryptographic system in their application.
As for people who can develop cryptography, well in which way? a cryptographic system or a cryptographic principle, one is very complicated and any mistake will result in a disaster, and the 2nd well it requires individuals with a very specific and i would say natural ability who had chosen educate them selves in a very narrow field.
On the crypto system part for example PGP I would say it's less a question of competence and more a question of investment, PGP was developed with a good understanding on how a specific cryptographic principle works however I have high doubts that Phil Zimmermann would've been able for example to come up with a cryptographic principle like RSA or DSA which could be used to encrypt and sign data in that system even with all the education possibly available.
So I do not personally believe that much can be done to increase the amount of mathematicians that can develop new cryptographic principles, but educating developers to actually implement them, and more importantly implement existing systems (because people seem to be able to mockup everything from bouncy castle to commercial HSM implementations with such creativity that deserves an award on it's own) in a secure manner is something that should be heavily invested in.