Data Science is a popular field of the 21st century. Everyone from data analysts to Ph.D. students wants to work in this field. If you are a software engineer; you must have felt the same inkling of exploring data science and what the hype is all about. However, what experts have seen is that as we move to the end stages of the hype cycle; engineering and data science are asymptotically moving closer. The skills needed by data scientists are less statistics-based and visualization and more in line with computer science. Concepts like continuous integration and testing have found their way in everyday jargon.
But what most software engineer experience is a lack of knowledge on leveraging your experience. If you are one of these, you might have some questions like:
In this article, we will be providing you details on the journey path from a software engineer to a data scientist.
Let's start by discussing the difference between these two roles. While both of them are responsible for handling machine learning models; their nature of work and the interaction with the models vary widely.
As a data scientist, you will be involved in the machine learning workflow and perform statistical analysis for determining what machine learning approach should be used. After this, you can start prototyping and developing these models. Data engineers work with the data scientists before and after the modeling process. They build data pipelines for feeding data into the models and creating an engineering system that can serve the models and ensure continuous health.
In most of the data science and machine learning courses, you won't learn about the best practices and concepts from software engineering such as unit testing, CI/CD, version control, and writing modular reusable code. Even most advanced machine learning teams don't use these practices to code their machine learning systems that lead to a disturbing trend known as 'The Machine Learning Reproducibility Crisis'. As per this crisis, the system of rebuilding models from scratch and tracking changes is so bad that it feels like we are stepping back in time when we coded without source control.
Even though these software engineering skills are not explicitly stated in the job description for a data science role, having a good understanding of these skills during your role as a developer will ease your job. Plus, you will be able to answer all the programming questions asked in your data science interview.
Even if you have a strong foundation in computer science with your background in software engineering, you will have to work hard to become a data scientist. If you are interested in making a career in the field of data science, there are four aspects you have to work on:
You should start by building a combination of applied skills in training models on GPUs/distributed compute or data wrangling and theory-based knowledge of statistics and probability. The best way to get started on this is through a certification program; that will help you get acquainted with all the basic concepts of data science. There are also several resources available online that you can use.
If you want to work in a specific industry like financial services, retail, healthcare, consumer goods, etc., it is important to catch up on the developments and pain points of the industry. You will find the application of this knowledge as it relates to machine learning and data. You can try scanning the websites of AI startups with specific verticals; and see how they position their value proposition and use machine learning. Here are some steps to help you approach next:
It is not recommended that you apply to an organization you find through while searching, but see what are their value propositions, customer's pain points, and the skills that they listed in their job descriptions.