Growing A Programmer https://www.ccs.neu.edu/home/matthias/Thoughts/Growing_a_Programmer.html (how to move across the skill divide, from basic coding to program design and collaboration)