How to Become a Data Scientist from Software Developer

Roadmap to become a data scientist from a software developer in my experience.

Bala Venkatesh
6 min readMay 16, 2020

Why do You want to become a data scientist?

Why? Why? This is a very important question to ask yourself before changing the direction of your career. Answer to that will lead you to your destination. How? Let us assume, you are a software developer having a well-established experience. Why then? Some developers are thinking if they are good at data science, they can make more money being a data scientist than a software developer. And they do have an assumption of getting placed into a new role since many companies are hiring for data scientists. I’m strongly insisting, if you got such an idea, it would not help you and it is better not to change your career.

If you are really into solving complicated problems then the Data scientist role is going to be very fun and I’ve to mention that. Each and every day you are going to learn something new, sometimes you will be required to write own algorithm and should have knowledge on which library is capable of resolving the issue.

I believe you might be working in a different language other than python and R language. Even before data scientist, I was a java developer. So, I ask these questions to myself.

Why do we want to learn python or R language for data scientists?

Because they are ingredients(library) for data scientists. Tensorflow is missing:-)

Image Source:- t.me/dev_meme

What is the difference between java vs python?

Java

public class HelloWorld
{
public static void main (String[] args)
{
System.out.println("Hello, world!");
}
}

Python3

print("Hello, world!")

Don’t get spooked, python is very easy to learn, In addition to that, you already know other language(Java). When I started learning, I asked myself two questions, because I’m a software developer and I’m thinking at the language level. Then I realized that it’s not enough to know one language and framework for data scientist I should learn other libraries (Numpy, Pandas, Matplotlib) and frameworks (Tensorflow, Keras).

Keep in mind that you have to learn one by one

Hold on!! Don’t panic before learning all those libraries first understand your project requirement and what problem you are going to solve in that project. Let’s say if you want to detect objects like laptops/phones then choose which library is suitable to solve the problem. or else if you want to analyze your data to extract meaning and show the chart then learn NumPy, pandas, and matplotlib. So basically you have to learn based on your project requirement. In my opinion, don’t spend too much on the learning part just start to play with it. You can use this link to prepare a dataset for machine learning.

Machine Learning vs Software Developer

It’s a very important part to know what is the difference between traditional programming vs machine learning. once you know the basic you can do whatever you want as a software developer.

Laurence Moroney who is Lead of AI developer at google. He uploaded one series about the foundation of machine learning which is very useful for beginners. Here is the YouTube video link. I have attached one of the image from that video which gives a clear picture of the difference between software developer vs machine learning.

Image Source

Then, I started from sklearn library because I really want to know the basic fundamental concept of machine learning then slowly I understand what is supervised learning, unsupervised learning, and reinforcement learning. I recommend you should start with a linear regression algorithm. I have a couple of links that give more clarity to me. below are

https://github.com/Avik-Jain/100-Days-Of-ML-Code

https://data-flair.training/blogs/machine-learning-algorithms-in-python/

Also, I highly recommend reading the below article that is very very good for beginners who want to learn why ML and other stuff like how it works and everything. Don’t miss it!! it’s really fun.

I hope you understand some fundamental concepts of machine learning. It may be useful to take the first step into machine learning for beginners.

Let’s see Deep Learning!!

What is the difference between Deep Learning vs Machine learning?

Image Source

I hope the above diagram gives you some ideas about the difference between ML vs DL but this is not only one difference. For deep learning, Google open-source TensorFlow library is very useful to implement deep learning projects. Day by day TensorFlow community developing a lot more features and enhancement. Also, learn Keras to use the TensorFlow library because it’s a high-level library we can easily write code to get output. They introduced tensorflow js for javascript developer it gives more flexibility to run code in browser. checkout below blog for tensorflow js.

On the other hand, we have a PyTorch framework for deep learning that is developed by Facebook. just check it out below blogs to know what is the difference between PyTorch vs TensorFlow. I highly suggest you learn Keras first to use the TensorFlow library.

So, I started from a Convolutional neural network for deep learning. it’s quite easy when you know how it works!!

What is a Convolutional neural network?

In neural networks, a Convolutional neural network (ConvNets or CNNs) is one of the main categories to do images recognition, images classifications. Objects detections and faces recognition, etc., are some of the areas where CNNs are widely used.

But the convolution neural network is evolving day by day. A researcher is doing lot of implementation on CNN to get accurate predictions on images. checkout below blog to know which algorithm is good for object detection.

Conclusion

I believe you have learned the basics of deep learning and machine learning. Keep learning and keep yourself updated. In my opinion, Deep learning and machine learning are not as stable as web development. So this is the right time to dive into machine learning.

Image Source

If you really want to know each and everything in machine learning and deep learning try Andrew Ng tutorial on Coursera and Deep learning.ai website.

To explore your skills, try the Kaggle website where you can find more problems.

My best wishes for those reading this to become data scientist from software developer!! if you need any help or assistance please connect with me LinkedIn and Twitter.

--

--

Bala Venkatesh

I have a passion for understanding technology at a fundamental level and Sharing ideas and code. * Aspire to Inspire before I expire*