4 answers

How do I change my career from Software Engineer to Data Scientist?

Asked Orlando, Florida

4 answers

Dinesh’s Answer

Hi Rashmi,

Since you already mentioned you have interest on mathematics and analyze the data that will help you on choose the Data Science career. Also, it will help if you want to explore on AI related careers. I would recommend to explore the Data Science Careers. As more and more industries see the benefit of using analytical data to improve business practices, big data and data science career opportunities are exploding.  Data science related occupations are likely to enjoy excellent job prospects, as many companies report difficulties finding highly skilled workers. The good news is that there are a number of different kinds of paths that a data science career can take. The challenge is that it can sometimes be difficult to understand how these careers differ and what kinds of skill sets are required for each. Here is the link which will help you to explore the suitable options.


G. Mark’s Answer


It depends quite a bit on your background in Software Engineering. If your background is, say, a BS or MS in Computer Science or Computer Engineering, you're likely to have a good mathematics background. You'll want to be familiar with multivariate calculus, discrete mathematics, and statistics. If you don't remember much, you'll want to refresh yourself. You'll spend a lot of time analyzing data to be able to predict outcomes from statistical methods. Some good languages to get familiar with are R and Python. Much of this training is available for free on the web. Then look into Hadoop and Splunk, for example.

The biggie in Data Science today is AI, or more specifically Machine Learning and Deep Learning. Get familiar with ML if you're not already. Use your tutorial projects to get familiar with the practical aspects and to generate some examples to show prospective employers. You'll certainly want to be familiar with SQL and any of the SQL application environments. All this will be useful in anything computer-related anyway, as SQL is everywhere and ML is the current trend. It will eventually be necessary for just about anyone who wants to be on the forefront of what businesses will be focusing on. The nice thing is that if you have a CS degree already, you're likely familiar with much of these, and the rest can actually be learned for free on the web.

Look at case studies on-line, particularly things like Natural Language Processing and Machine Vision. Find out what the big companies are using DS for. Finally, as a DS, you'll be thrown a wide range of problems that will require your own creative approaches. If you're really a CS "code head", this is probably something you're already enjoying.

Hi! I’ve completed MS in Computer Science. I have most of the mathematical background and refreshing it now! Your suggestion of the approach to transition to DS is great. Thanks a lot for the detailed answer!

Vincent’s Answer

Hi Rashmi!

I've done the reverse - I am a data scientist-turned software engineer.

Perhaps a few things I learned during that process would help you pursue your desired career path as well.

You mentioned that you love mathematics. To be honest, I think that's the number one ingredient to becoming an exceptional data scientist. (I love physics and psychology, went into the "science" field by accident lol) Depending on which kind of data scientist you'd like to become, there are usually two paths: data scientist who do research, and machine learning engineers who build products.

1) Research oriented data science

If doing research on data and extracting insight is what you like, this is your route. Here are my recommendations:

  • Compete on Kaggle. The community of brilliant statisticians and scientists on there is amazing.
  • Build presentable data science projects with your own framework of choice. Use any combination of R, Python, Scala, ggplot, plotly, R shiny, Dash, etc. to build something end-to-end and host it somewhere to share with people.
  • Gain deep understanding of statistical methods. These are two great books I recommend: An Introduction to Statistical Learning with Applications in R, The Elements of Statistical Learning. You should aim to get to the level where you can confidently say "I know my statistical methods".
  • Connect with data scientists. This is just as important as having the actual expertise. Don't wait till you're "ready" to put yourself out there. Opportunities are everywhere. Ask and knock on doors.

2) Machine learning engineering

If you love building things and making them intelligent. This could be your path.

  • Algorithm and data structure. You probably know the in-and-outs of this already. Basically stay competent in the software engineering realm in the foundations.
  • Machine learning algorithms under the hood. Make sure you have a solid understanding of how algorithms work, not just know what they do on a high level. How does feature selection work with different algorithms? How do you make trade-offs?
  • Big data framework. Hadoop, Hive, Oozie, Spark, Java, etc. Proficiency of these tools will help you be more autonomous and build faster, better.

This is definitely not an exhaustive list but hopefully I provided a sense of general direction. All the best and good luck on pursuing your dream career!

Minh’s Answer

Updated Ho Chi Minh City, Vietnam

huhm. But why do you want to be a data scientist from the very first place?

I love mathematics and I find it very interesting to be able to make predictions and analyze from data! On another hand many times I find myself getting bored with my regular software developer job.
Ask a question