Imran,

I was in a very similar shoes till 2 years back. Here is what I did in order to transition into a more “data science-y” role.

**Pre-work:**

Before starting the journey on learning algorithms, you should make sure you have done following steps:

- Choose one stack you would specialize on. I chose R and it paid off well. I think today, you can choose between SAS / R or Python - all of them are widely used and are flexible enough.
- Once you have zeroed on a tool / stack, spend some time learning nitty-gritties of that tool. Foe example, if it is SAS - master base SAS first. If it is Python - master the data structures first.
- Next, look at some of the operations done commonly for data manipulation and massaging - for example imputation of missing values, creating segmentation and plots, reading statistical summaries.

**Learning the algorithms:**

Start with the algorithms mentioned by @kunal Kunal, but I used a different approach, which helped me well. Instead of trying several different types of problems (e.g. Regression, classificaton, clustering), I did them one at a time. While I was working at the problem, I learnt all the related algorithms and played around with them to see how to they compare against each other. That helped me a lot.

Just to make it clear, I am saying take up one branch of the diagram attached by Kunal at a time and learn the algorithms in that branch. That gave me far better understanding of the algorithms.

Hope this helps.

J