Though I think it is a nice list it also seems to miss some more conceptual problems. E.g. doing stuff with concurrency, learn object-oriented programming, learn functional programming, doing CI, learn about statically- and dynamically typed languages, see and understand the multiple methodologies and their characteristics (TDD, BDD, Scrum, waterfall), etc.
Even if you do everything in the list you created there are quite some aspects which you miss. The list is good but rather incomplete in my opinion.