Last week, I shared a framework to help you answer the question, “Should I become a data scientist (or business analyst)?“. For the people, who clear the cut-offs, the next obvious question is “How do I become a data scientist?” In this article, I’ll share what I would have done, if I was starting my journey for a career in data science.
Background – my journey as data scientist
I started my career as an analyst without any knowledge about the tools I was going to work on – all I knew was how to create basic models in Excel. I had not heard about Pivot tables and didn’t know something like conditional formatting even existed in Excel!
Thankfully, Capital One hired me for my logical thinking and not for the knowledge of the tools, I would need to use. In the following years, by working with several employers, freelancing and doing a few pet projects – I learnt several tools and techniques – SAS, SPSS, R and Python included!
Having said that, if I was starting my career today, would I choose the same path? The answer is NO. I would take up a very different path, than what I did. This path would not only cut out the period of confusions I had, but also uses some of the dramatic shifts which have happened in analytics industry in past few years.
So, I thought, I would share how I would plan out my journey to become a data scientist – if I had to chart out my career path today. Here is how I would plan out my journey (in chronological order):
Step 1: Graduate from a top tier university in a quantitative discipline
Thankfully, this didn’t change much for me. Education makes a huge difference in your prospects to start in this industry. Most of the companies who do fresher hiring, pick out people from best colleges directly. So, by entering into a top tier university, you give yourself a very strong chance to enter data science world.
Ideally I would take up Computer Science as the subject of study. If I didn’t get a seat in Computer Science batch, I’ll take up a subject which has close ties with computational field – e.g. computational nueroscience, Computational Fluid Dynamics etc.
Step 2: Take up a lot of MOOCs on the subject – but do them one at a time
This is probably the biggest change, which would happen in the journey, if I was passing out now. If you spend even a year studying the subject by participating in these open courses, you will be in far better shape vs. other people vying to enter the industry. It took me 5+ years of experience to relate to the power R or Python bring to the table. You can do this today by various courses running on various platforms.
One word of caution here is to be selective on the courses you choose. I would focus on learning one stack – R or Python. I would recommend Python over R today – but that is a personal choice. You can find my detailed views about how the eco-systems compare here.
You can choose your path – but this is probably what I would do:
- Introduction to Computer Science and Programming using Python – eDX.org
- Intro to Data Science – Udacity
- Workshop videos from Pycon and SciPy – some of them are mentioned here
- Selectively pick from the vast tutorials available on the net in form of iPython notebooks
- The Analytics Edge – eDX.org
- Pick out a few courses from Data Science specialization to complement Analytics Edge
- Other courses (applicable for both the stacks):
- Machine Learning from Andrew Ng – Coursera
- Statistics course on Udacity
- Introduction to Hadoop and MapReduce on Udacity
Step 3: Take a couple of internships / free lancing jobs
This is to get some real world experience before you actually venture out. This should also provide you an understanding of the work which happens in the real world. You would get a lot of exposure to real world challenges on data collection and cleaning here.
Step 4: Participate in data science competitions
You should aim to get at least a top 10% finish on Kaggle before you are out of your university. This should bring you in eyes of the recruiters quickly and would give you a strong launchpad. Beware, this sounds lot easier than what it actually is. It can take multiple competitions for even the smartest people to make it to the top 10% on Kaggle.
Here is an additional tip to amplify the results from your efforts – share your work on Github. You don’t know which employer might find you from your work!
Step 5: Take up the right job which provides awesome experience
I would take up a job in a start-up, which is doing awesome work in analytics / machine learning. The amount of learning you can gain for the slight risk can be amazing. There are start-ups working on deep learning, re-inforcement learning – choose the one which fits you right (taking culture into account)
If you are not the start-up kinds, join a analytics consultancy, which works on tools and problems across the spectrum. Ask for projects in different domains, work on different algorithms, try out new approaches. If you can’t find a role in a consultancy – take up a role in captive units, but seek a role change every 12 – 18 months. Again this is a general guideline – adapt it depending on the learning you are having in the role.
Finally a few bonus tips:
- Try learning new tools once you are comfortable with ones you are already using. Different tools are good for different types of problem solving. For e.g. Learning Vowpal Wabbit can add significant advantage to your Python coding.
- You can try a shot at creating a few web apps – this adds significant knowledge about data flow on the web and I personally enjoy satisfying the hacker in me at times!
Few modifications to these tips, in case you are already out of college or hold work experience:
- In case you can still go back to college, consider getting a Masters or a Ph.D. Nothing beats the improvement in probability of getting the right job compared to undergoing a good programme from top notch University.
- In case full time education is not possible, take up a part time programme from a good institute / University. But be prepared to put in extra efforts outside these certifications / programmes.
- If you are already in a job and your company has an advanced analytics setup, try to get an internal shift by demonstrating your learning.
- I have kept the focus on R or Python, because they are open source in nature. If you have resources to get access to SAS – you can also get a SAS certification for predictive modeler. Remember, SAS still holds the majority of jobs in analytics!
What do you think about this path to become a data scientist? Do you have additional tips, which can help people making their career choices. Please feel free to post these tips below for the benefit of larger audience.