Choosing between Software Engineering and Data Science

Choosing between Software Engineering and Data Science

I am currently pursuing a bachelor's degree in Software Engineering and also doing a Data Science course with Women Tech Series (gdg.community.dev/events/details/google-gdg..)

I love Software Engineering because I get to use Software Engineering tools to build technical solutions to the problems in my community and I also love Data Science for the thrill it gives me whenever I discover insights from data. These insights help to inform the decisions of business owners that drive those businesses to the top.

My confusion...

So there I was, wanting to choose the career path to focus all my energies on. I started researching more about the two paths. In my research, I wasn't looking for a path that will bring more money in my pocket but one that will help me bring more impact to my community.

What is Data Science?

Data science is the field of study that combines domain expertise, programming skills, and knowledge of mathematics and statistics to extract meaningful insights from data.

Data Science is important because regardless of the industry or size, organizations that wish to remain competitive in the age of big data need to efficiently develop and implement data science capabilities or risk being left behind. More and more companies are coming to realize this.

What is Software Engineering

It is a branch of engineering that deals with the development of software products. It operates within a set of principles, best practices, and methods that have been carefully honed throughout the years, changing as software and technology change.

Software engineering leads to a product that is reliable, efficient, and effective at what it does. While software engineering can lead to products that do not do this, the product will almost always go back into the production stage.

So, what is the complete definition of software engineering?

The IEEE fully defines software engineering as:

The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.

My Decision

I was able to strike a balance between my love for building tech solutions that could drive impact in the community and my love for mathematics, brainstorming, discovering insights from data that can drive impact and change the course for businesses leading to increased sales and profits.

I love python for the simplicity in it and the fact that I can be able to use it to build solutions, API's using the flask framework and also be able to use the libraries of the same language to get insights from the data generated from the software I create. These python libraries are:

  • pandas

  • NumPy

  • Matplotlib

  • Seaborn etc...

Since I failed to choose between the two, I decided to do them concurrently. I have learnt that there are so many benefits in doing this and sacrifices involved if you want to succeed.

Benefits

  • You widen your opportunities for jobs

  • You get to be apart of a wider community

  • Your skills set increases

  • Your impact widens

  • Your income increases

In Conclusion

Of course, just like in any other thing, there are challenges in this too but the secret is constant skilling. Learn, teach other people and grow. However small your learning is, make it happen on a daily and don't give up.

The latest technologies are not a threat, they are just better ways to build technologies that are more light, responsive, secure and efficient. That's why there should be constant learning, always looking out for the latest ways to build, in order not to be outcompeted and stay relevant in the market place.

Just like the saying goes that we should never put all our eggs in one basket, when you're starting out in your tech journey, its always good to expose yourself to multiple technologies and principles so that you find what works for you best.

And when you do, concentrate on it, and thrive.