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