A Data Scientist Learning Plan to not only prepare for interviews, but to become a world class Data Scientist
Now that I've finished Galvanize's Data Science Immersive Program, this is my plan to continue my development as a Data Scientist, not just for interviews, but for my skillset as a whole. But because $$$ is important to live, my short-term focus will be on preparing for the Data Scientist interviews. Once I find the right fit, the plan will shift towards a life-long learning approach towards Data Science.
And in order to continue self-educating myself, a solid plan is very important. I'll be using this Github repository as my central location to store all my practice problems & additional notes.
The plan here will emphasize practice>learning, since I've already finished covering most of the material. For me the focus will be on application of the ideas, so you might notice that the resources are more tailored to this approach. Practicing will help identify holes in my understanding, which optimizes my time spent on filling my weaknesses.
Get an offer
Pass on-site interviews
Pass take-home examination
- Machine Learning Algorithms
- SQL
- Python
- Statistics/Probability
Codewars(Python): https://Codewars.com
Hacker Rank(Python): https://HackerRank.com
SQLZoo(SQL): https://SQLZoo.net
William C. Chen on Quora(SQL): https://www.quora.com/What-are-some-good-resources-to-practice-SQL-for-a-data-science-interview
William C. Chen on Quora(General Data Science): https://datascienceinterview.quora.com/Answers-1
Galvanize's Immersive Program Assessment Questions(General Data Science)
120 Data Science Interview Questions(General Data Science)
SpringBoard(General Data Science): https://www.springboard.com/blog/data-science-interview-questions/
Andrew Ng(Machine Learning): https://www.coursera.org/learn/machine-learning
Introduction to Statistical Learning(Machine Learning): http://www-bcf.usc.edu/~gareth/ISL/
Introduction to Machine Learning(Machine Learning): http://alex.smola.org/drafts/thebook.pdf
Galvanize Model Comparison
Think Bayes(Statistics): http://www.greenteapress.com/thinkbayes/
Think Stats(Statistics): http://www.greenteapress.com/thinkstats/
Since finding a job + developing skills are two separate things, I'm splitting my workday in half. 4 hours for the skills development + 5 hours for networking, applications.
A few principles I'm applying to my schedule:
-
Morning are the best times I can get my deep work done.
-
Distributed practice > Mass practice: Psychological research has said that practicing a skill 1 hour over 10 days is better than practicing a skill for 10 hours in 2 days, mainly because of the spacing effect.
-
Attack areas of weakness first.
Here's my preliminary schedule:
As I continue to interview, I'll identify which skill I'm weakest and that'll get moved to the front of the queue. There's a chance I may need to increase the time on a specific skill due to upcoming interview on a specific topic.
Since I am practicing for interviews, the way I'll be practicing these problems is through solo-whiteboarding, since it most closely resembles how I'll be using the skill. To do this, I'm going to need:
-
Practice Problems
-
Solutions to the problems
Here are the initial resources I plan to use:
SQL: SQLZoo.net
Python: Codewars.com , Hackerrank.com
Machine Learning: Feynman Technique on each Machine Learning Algorithms/Interview Questions
Probability/Statistics: Khan Academy + Feynman Technique on Interview Questions
And in addition to all these, working on the take-home practice(s) for one day on the weekends. One day for rest(probably Sunday).
-
I'll attempt the problem without looking, check the answer, apply a memory technique(if necessary), re-do the problem knowing the answer and then move on. Each problem and solution will be logged in this Github repository so I can review previous problems.
-
For the sake of time, only use a Feynman technique or create a cheat sheet for topics I struggle with. May not have the time to create it for everything.