Very well written. I have been recently thinking about the first 2 of the topics you covered, namely software development and scalability, and I need lot of work in both. Without proper idea, newbie data science enthusiasts tend to focus more and more in theory of algorithms, while coding and solution deployment remains neglected and weak point. I completely agree that top down approach works better, making sure we know only what we need to know.