First, I don't know if this question is suitable for this site. I tried posting to Quora, but the length was too long. If it's not an acceptable question, would someone please suggest a more appropriate place?

I'm a student currently finishing up an MS in electrical engineering. In the past few months I've gotten really interested in data science and machine learning, and I've decided that I'd like to try and pursue this field as a career. There's a tremendous amount of resources available for learning these topics, which is a great thing, but to the beginner it is slightly overwhelming to try and figure out which resources I should focus on first and what's the best way to make use of my time. My goal is to be prepared to interview for junior data science/entry level machine learning engineer positions in about 6-8 months time. I know that this is a small timeframe and I'll need to work very hard for this to be possible. I'm currently taking an introductory course in machine learning that's supposed to loosely follow the book Machine Learning: a Probabilistic Perspective by Kevin P. Murphy, along with a course in image processing which I hope will be useful later on for feature extraction and other topics. I went a bit (a lot?) overboard in the past few weeks and purchased several textbooks related to data science and machine learning. I also started the Kaggle-Udacity machine learning engineer nanodegree program.

Would someone who has some experience in the field mind suggesting a rough order of how I should direct my studies with respect to the resources I've compiled? The books/resources I currently have at my disposal are:

Online services:

  • Dataquest.io data scientist path (25% completed)

  • Kaggle-Udacity machine learning engineer nanodegree program


  • Make Your Own Neural Network (100% completed)

  • An Introduction to Statistical Learning with R (50% completed)

  • Deep Learning (25% completed)

  • Python Machine Learning (25% completed)

  • The Elements of Statistical Learning

  • Machine Learning: A Probabilistic Perspective

  • Doing Bayesian Data Analysis

  • Practical Data Science with R

  • Data Science for Business

  • OpenIntro Statistics

  • Probability Theory The Logic of Science

At this point I've read the introductory chapters to all of these books, but am beginning to feel a bit haphazard in my approach. I know that it will be difficult to complete all of these in 6-8 months, so which would be the most important to focus on in order to appear competent to hiring managers?


closed as primarily opinion-based by Scortchi Jan 30 '17 at 10:26

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Can someone transfer this question to DataScience SO? If not, go there and ask it again $\endgroup$ – Ferdi Jan 30 '17 at 8:38

I think someone will close this question, but I'll give you some help anyway.

  • The nanodegree is expensive and in my view not very useful
  • You should familiar yourself regression. Don't bother deep learning if you can't do linear regression
  • Learn the practical tools (e.g. tensorflow). Try to train MINST digits, can you do it? Then, then try to train something harder. Kaggle is your best friend.
  • Practice your skills in Kaggle competitions and look at other people's submission. Read, study, fork and ask their solutions.
  • Learn basic about feature engineering, look at how Kaggle people do it.
  • You have too many books to read. Deep learning is probably not expected for a graduate position, so skip it. You need to spend more time on the foundation.
  • None of your book is about visualization. Data visualization is actually the most important skill set for a data scientist. Again, drop your deep learning book and your Bayesian analysis. Study PCA plot, scatterplot, histogram, normal distribution smoothing, ROC curve etc
  • You should be familiar with the most common R packages such as ggplot and car.
  • You should also learn scikit-learn, numpy and pandas Python packages. They are very popular in the industry.
  • Train your programming in R and Python
  • Visit Kaggle everyday, bookmark it

Typically, some of the advanced stuffs you read such as Bayesian analysis and probability theory is done by people with a PHD degree. You don't have time to read it, focus on what people in Kaggle talk about.


  • Study classification metrics, such as confusion matrix. Read up what you should do if your data set is imbalanced. You need to understand when to use accuracy and when to use precision.
  • Study how to work with different data formats - CSV, REST API, SQL etc.
  • 1
    $\begingroup$ Good answer. Further relevant points are: (1) Evaluation of classification/regression (which metrics are used when? advantages/disadvantages) and (2) data engineering: reading data from different format and transforming it efficiently into matrices. $\endgroup$ – Nikolas Rieble Jan 30 '17 at 8:47
  • 1
    $\begingroup$ @NikolasRieble I added your suggestions. $\endgroup$ – SmallChess Jan 30 '17 at 8:49

Not the answer you're looking for? Browse other questions tagged or ask your own question.