This talks about the gap beyond the "Learn how to code" materials, but lighter weight than a computer science degree.
I personally managed to fill this knowledge gap with the MOOCs, in particularly Udacity/Coursera (Cryptographic, Basic data structures/algorithms, ML).
That, and just building lots of stuff and seeing all the places where problems can emerge.