What courses / subjects are most important to the field of Data Science? I've taken it upon myself to begin a career change. I have a decent background in mathematics, but lack in programming or data science specific skills (such as data munging). I have been looking through data science curricula and already feel overwhelmed by the amount of subjects a proper data science curriculum contains. Just to name a few: natural language processing, machine learning, R, Python, SQL, NoSQL, probability, statistics, numerical methods, algorithms, and the list goes on.

I can't afford to go back to school, but if my goal is to get into data science, what subjects should I focus my attention on?

I fully understand "data science" is a very big field, but certainly there must be several subjects that are important to all, if not the vast majority, of these sub-fields. I suppose this is essentially what my question is asking.  I have not yet obtained the amount of exposure to determine what I want to specialize in, so at this point, my concern is obtaining a foundation that wouldn't restrict me from entering any particular sub-field, or in other words, studying the subjects that benefit all sub-fields.

Note: Math isn't as much a concern for me compared to the other subjects.
Probably the most useful (and fun) answer is provided by the excellent Swami Chandrasekaran ... in the form of a subway map:



I would add just one comment to that:  school (or learning for the sake of learning) doesn't provide the same kind of experience as solving a real problem does.  Therefore, to learn, find real problems you can tackle.  To stay motivated, make them problems you really care about.  Kaggle competitions are a great place to start.  Even reproducing a winning solution (perhaps with some variations, or on a new dataset) will be a huge learning experience.