DEV Community

Cover image for Software Engineering to Data Science
Rose Day
Rose Day

Posted on

Software Engineering to Data Science

The other day I saw a question from @yadlra posted:

Hey guys, what skills do I need to be a data scientist? Do the same skills apply as being a software developer?

I posted a lengthy response but felt others would also benefit from a post on the topic.

In 2017, I graduated college as a computer engineer and began working full time before making the transition into data science. I have found the skills learned from software to be greatly transferrable to data science, especially when you are looking to build tools to work with big data.

Currently, I work on a team that focuses on tools and machine learning application, but there are many areas of data science that one could consider. Below, I outline some of the areas, skills, and resources that I looked into during my transition into the field.

Areas of Data Science

There are many fields in which data science can be applied. Recently, I have spoken at two colleges for talks on data science and was asked a series of questions:

Is there a field in which you cannot utilize data science?

My answer to this question was no. I believe that every field could utilize data science if the data is available, or in turn, be able to use it in the future, if the data is made available. I have even seen artists utilize data to create sculptures. Once you have picked a field of interest, you can find data related jobs in data science, data engineering, and more.

Did you study data science in your undergraduate or is it okay to have a Bachelors degree in another field first?

Like mentioned earlier, I did not study data science initially but transitioned to it when I went back for a masters. I have found that with most data scientists I have worked with, they have studied something else first before moving into data science. These individuals specialized in computer science, different areas of engineering, mathematics, and more. It is perfectly fine to specialize in one area and then use the knowledge gained there to further your data science education. You will bring different aspects to data science that others may not see due to your background.

How did you go about searching for jobs?

One thing I have learned while job searching in the field is that not all titles mean the same thing. Titles ranged from data scientist, data analyst, business analyst, data engineer, and more. I stopped searching by title and started searching by keywords as it helped me narrow down job descriptions that fit with what I was looking for. Keywords I used when searching focused on the languages I wanted to program in (Python), the tools I wanted to get exposure to or keep using (Tableau, Spark, Git), and the type of work I was looking for (IoT, Connected Systems, Sensors).

Another method of job searching that can be a valuable tool is networking, both virtually and attending meetups. For example, I have found LinkedIn to be a wonderful tool to network virtually with colleagues in my field, and to connect with them on what their companies are doing and the types of conferences or events they are attending.

What skills have helped you in your career and what tools have you used?

Once I found a field to specialize in, I began focusing on the skills I wanted to learn. The first job I had in data science was a co-op as a data engineer. During this time I worked to learn more about Docker for containerization of data applications, databases, and ETL processes. After this job, I began working as an engineer in applied data science. At this point, I began focusing my skills more on statistics / math, data cleaning, big data handling, data storytelling and visualizations, and tool development. Of these two jobs, tool development and application development was where I was able to leverage more of my software background, while more data analysis and visualizations were where I was able to use more of my data science background. During both jobs, I have found programming to be a valuable skill, especially object oriented programming and writing clean code. Skills can vary job by job but finding out what you enjoy doing will aid you not just in finding a job but in enjoying it too!

If you are looking for tools and frameworks to learn, here are just a few to consider:

  • Jupyter Notebooks for prototyping code
  • Git for version controlling notebooks and other code
  • Spark and Hadoop for big data processing
  • Databases and data storage for different types of data, understanding when to use what type of data store will be helpful
  • Tableau and other BI tools for dashboarding and visualizations
  • Python visualization libraries: Bokeh, Matplotlib, etc.
  • R and its respective libraries / R Shiny

What resources have you found helpful to continue learning outside of going to college?

A good book to look at when starting in data science is An Introduction to Statistical Learning: With Applications in R. This was a great read and very helpful when I was starting out. I still keep a copy at work as a reference for when I am working on something.

If you are looking for another good read that is more software focused, Clean Code by Robert Cecil Martin is a great book focused on how to write well structured code that is easy to read. The book focuses on Java to teach the skills but I apply the same concepts to Python.

Another good resource for books is the publisher O'Rielly. They have tons of good books on data science and Python. I have found their books to be helpful and keep some of them as reference at work as well.

I also recommend looking into open source data sets available to see what flavors of data exists and to determine your preference on what kind of data you want to work with. Some types of data include spacial data, image processing, structured or unstructured documents, etc.

There is so much you can look into with data science, just pick somewhere to start and run with it!

Top comments (10)

Collapse
 
darkes profile image
Victor Darkes • Edited

Thanks for the write up!

Do you feel that the master’s was necessary for the transition? Do your peers that have transitioned from different fields have master's degrees? When you originally graduated what type of role were you in? Do you feel like there was a significant or insignificant salary difference between the role you had before and your current role?

Collapse
 
rosejcday profile image
Rose Day

Hello! I did find my masters to be helpful during the transition from software to data science, along with obtaining as much work experience as I could from internships, co-ops, and full time positions both in my undergraduate, after my undergrad, and during my move to data science. Many of my colleagues and peers have either their masters or PhD in data science or a closely related field to their undergraduate degree. When I first graduated from my undergrad, I worked in DevOps, focusing on servers and containerization. After completing my masters degree, I found that there was a significant difference before and after I earned my masters in salary which made the pursuit of it worth it for me. I hoped this helped answer your questions!

Collapse
 
darkes profile image
Victor Darkes

Thanks for the lengthy reply Rose! It does help.

Collapse
 
allanbugyi profile image
allanbgy

Thanks a lot. Im doing this transition at the moment, wondering the next steps. I heard people talking about how to engage in data science, but it's all in the beginning. I'm pursuing certification (360 hours) accredited by a university in data science and big data. This was the way I found to migrate from SWE to data science. I have ~2 years of experience in systems engineering, had worked in an applied physics national lab... So, I was trying to get in touch with people from the field in LinkedIn. I wonder if you are open to connections there, so that I can follow your steps in the field :) Best!

Collapse
 
allanbugyi profile image
allanbgy • Edited

PS: what was specifically your masters about? A data science graduate level of studies can vary a lot from program to program - computer vision, text mining, nosql, statistics, big data, etc- ?

Collapse
 
rosejcday profile image
Rose Day

Thank you for taking the time to read and comment. I focused on taking classes in big data, application development in data science, and using data science in the business. For projects, I mainly focused on automating data processes and tooling for big data. Feel free to connect on LinkedIn, it should be linked in my bio.

Collapse
 
shreya123 profile image
Shreya

I've always been curious about data science, and your blog has given me valuable insights into what this career transition entails. Your emphasis on continuous learning and building a strong foundation is particularly motivating. Thanks for sharing your experiences and advice!

Collapse
 
ahmadkharsah profile image
Ahmad Kharsah أحمد خرسة

Thanks, Rose
I'm working on Software Engineering for about 9 years now, and I found that data science is the next thing I want to do it in my next years.

Collapse
 
ad0791 profile image
Alexandro Disla

Do you know any good online master for data science or Machine learning? Can you teach us more about software integration? When you bring the machine leaning model to production?

Collapse
 
rosejcday profile image
Rose Day

There are quiet a lot of schools offering programs for data science and/or machine learning, I encourage you to research the programs online to see what may interest you! As for the other two questions, those are interesting topics to discuss, I will have to think on those for future posts.