So many ways to learn data science/machine learning what’s the best bang for the buck.
Of the many routes, you can pursue to learn Data Science and Machine Learning (grad school, MOOC, boot camps, self-learning, etc…), which may be the right one for you?
Getting involved in the realm of data science is a huge leap and there are so many different paths that it can be overwhelming (and discouraging) just to get started.
I recently embarked this fall semester on returning to grad school with the aim of developing the skills that will be demanded and expected from engineers in the very near future. I work for a large international corporation and was recently selected to be a full-time student in an accelerated Master’s program with the aim of helping to bridge functional expertise (i.e. engineering skills and business knowledge) with skills that would largely be associated with computer and data science. When I first heard about this opportunity I thought this would be a perfect opportunity to help learn all these skills in a more structured way.
In recent years, I have been working in my company largely as a product owner of Digital and analytic projects, working with stakeholders (the would-be end-users of said projects) and the development team (largely composed of various IT professionals in my company). I helped to steer projects and work with the development teams, but very rarely got very involved with the nuts and bolts of development. Our working relationship was around transference of knowledge and requirements to develop a product as it was kicked off and then slowly moved to one of testing, setting up demos, and coming up with a plan to move it to production. In this role, I was always eager to learn about what exactly went on behind the IT curtain with our data scientist and software engineers but was easily in over my head when they began getting into the weeds of code, processes, and such. I know that if I wanted to be a better manager or leader in this new combined space I would need to learn more.
I wanted to share this background on myself to be able to share:
- My experiences and how they lead me to where I am in my career
- Highlight some of the pros and cons that I have seen with some of the options/routes you can pursue
- Provide insight and offer help if possible.
University Enrollment (Undergrad/Graduate Degree, Short Courses, and Boot Camps)

The traditional Learning method for individuals to gain new skills and pivot their careers is to attend a classical university and enroll to get a degree. The degree is usually an individual milestone that companies and organizations accept as verifying that someone has attained the skills that they need to be successful. For this reason, these types of programs are still heavily favored by those who can afford the time and money it takes to complete them. I’m currently in an accelerated Computer Science program with a concentration in Data Science. I’ve been extremely lucky that the company I work for has selected me for this role and is covering the cost of the program and allowing me to be on a sabbatical until I complete the program. I would say one of the biggest benefits of this mode of learning is having interactive discussions with professors and classmates, as well as to discuss the common error traps, useful tips, and build connections. A good example of this is prior to starting my program, I would be heavily reliant on sites like stackoverflow.com, Github, as well as Medium articles to try and solve coding and/or issues with things that I was learning. One thing that a novice (who uses these sources as unquestionable truths) may not understand initially is that not all content is created equally, meaning there is a lot of erroneous and less than ideal things put on these sites since it is crowdsourcing for a solution. Learning from trusted and reliable sources like the professors and the coursework has helped guide me to start to be a better searcher (and interpreter) of these sites and how to understand whether or not it makes sense and is actually going to help me with my problem. Another example is how by taking an online course or self-learning coding you may feel a bit overconfident in where your actual competency lies. For a long time I felt I was making major strides, but really didn’t understand a lot of core things about the base Python language, rather I was really good at importing packages and calling functions. When I was put into a traditional classroom setting with assignments, I quickly realized I needed to focus on the base things to get me to script and code in a more efficient manner. These are just a few examples of how I feel the traditional university route could be helpful, but it does come at a hefty price for both money and time needed to complete. There are other options like graduate degrees if you already have a STEM degree (and still costs a sizeable amount of money but less time than an undergraduate degree). In addition, there accelerated non-degree programs like boot camps and other short certificate courses that you can enroll and take. These give a variety of options as well to go down this route. Many renowned universities like Harvard, UC Berkeley, and MIT all offer some sort of boot camp and/or online degree program that you can take. From my own experience, I would like to believe this is the most effective method of learning due to the added interaction you get with people and network-building opportunities, but it does come at a cost.
MOOC (Massive Open Online Courses)

There are a variety of options these days for MOOC offerings with some of them providing certificates to validate your learning. The key thing that I want to stress with MOOCs is that with their advent and acknowledgment by companies, it does relieve the burden of having to go through a degree-based program to make a career change. While companies may not look at a MOOC certificate the same as a four or two-year degree, if a user can demonstrate their knowledge that they gained through a portfolio of work and through their resume, this is massive for the learner. An effective, cheaper way to learn new skills to further your career.
The MOOC that I’ll be focusing on and one that I have used extensively is Coursera. I’ve used some other companies, but I really have enjoyed Coursera the most. They have tons of classes, topics, and specializations available (a collection of courses that have a particular theme). The awesome thing with Coursera is that the courses are put together by academic institutions and universities, professional organizations/institutions, as well as companies (like Google). What I have found to be good is that if you want to start building your mathematical knowledge to prepare your data science career, there are a variety of organizations and institutions that teach common material, meaning that if the methods of teaching don’t suit you you can find other courses on the same topic that match better your learning style. Through MOOC’s you can slowly build up your understanding in whatever direction you want to go into in this new field (data engineering, data science, etc…). You can also help build yourself a learning plan and schedule a sequence of courses to either be a generalist or narrow into a specialization in a particular field. Really there are a lot of great options which is why I would suggest anyone leverage MOOCs if you can. They do take up a fair amount of time to go through the lectures, assignments, etc… So be very focused in terms of what you want to learn and set a schedule to accomplish it in a specific amount of time.
Self-Learning

I’d largely call this category "Offline Learning" as well, since it’s disconnected from any structured coursework and really focuses on specific concepts, themes, and ideas. This is another avenue and route you can partake in, but it comes with a lot of assumptions from someone trying to learn new skills. The major pros to this are that it is the cheapest option, but it comes with the most questions about how to steer towards a goal that you don’t really understand where the finish line is or where it is. I would say that you could perform self-learning in conjunction with the other methods as they can help. There are actually a lot of good texts out there and I own quite a few that I would say are very helpful in learning about data science. I can recommend that any O’Reilly textbook is really well done, I personally own a couple in print as well as have access (through my company) to their online portal to nearly all of their texts and can say they are generally really well put together. There are other publishers and other writers that have some very good books on topics. I would suggest giving Andriy Burkov’s books a read. They are very good overviews specifically on Machine Learning and operations. A brief list of books that I own and would recommend (you may see that I have an inclination towards Machine Learning topics):
- "The Hundred-Page Machine Learning Book" by Andriy Burkov
- "Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow" by Aurelien Geron
- "Machine Learning with TensorFlow" by Chris Mattmann
- "Machine Learning Engineering" by Andriy Burkov
Another route that is helpful in continuing your self-learning is through videos on YouTube. Although again, you need to be careful of the legitimacy of the YouTube Channel and the videos, there are still a ton of great channels out there that can help you better understand some of the difficult concepts that are out there. Some of the channels that I like are:
- MIT Lecture courses — There quite a few different courses that have their entire lecture for the semester available for free. Quality material put on from a highly regarded US university (Note the link is to Alexander Amini’s channel, although a quick search on YouTube will yield other options)
- 3Brown1Blue — An excellent resource on many of the hard to understand and abstract math principles that serve as the backbone of data science/ML/AI. The videos are well put together and use visuals to explain some of those hard to fathom concepts.
- GeeksforGeeks — Although this would largely be more directed to computer science coursework, GeeksforGeeks does an awesome job of explaining some of the more coding-based questions that you would have.
I would put a disclaimer that self-learning from paper/digital books and videos isn’t probably the ideal way to solely begin to build the skills needed to build and develop a career in data science. I do believe though that it is a very good way to supplement one of the other methods above.
Summary
Above, I briefly described three major approaches that one can take to get started in their career and would largely list it out in the following order of importance based on my experience. As stated, I’m still on this journey and by no means an expert in any of these domains, but I think I have seen and consumed enough content to have a good inclination of what’s out there and what is the best bang for your buck.
Enrollment at a University
Pros:
- Human Interaction – From professors to students the knowledge passed/discussed in this environment is unrivaled
- Career Opportunities – Most campuses have career opportunities and partnerships with many companies and can help you with finding the next destination in your new career
- Boot Camps and Short Courses – An alternative that is more targeted and faster and cheaper than degree-based programs
Cons:
- Opportunity Costs – A lot of money and personal time is necessary for a traditional two or four-year degree program
- Needing Pre-requisites – Depending on the program you may need to have fulfilled prereqs to get into the program (i.e. standardized tests, completed bachelor’s degree, etc…)
MOOC (Massive Open Online Courses)
Pros:
- Accessibility – There are so many options these days that the whole educational system seems to be flipping upside down. So many choices and learning styles to choose from to further your career and all at a substantially lower price than paying a traditional university.
- Targeted Coursework – Depending on the direction in the data science/ML/AI/Analytics/Engineering path you wish to take, there is an abundance of courses that are available for people to choose from
- Partnerships with Academic Organizations – Many universities have partnerships with MOOC companies (like Coursera) to give you university-level quality courses in an easily accessible and cheap alternative form.
Cons:
- Roadmap – I list this as a con because there are so many options out there that there can be a lot of time spent trying to formulate a plan of what to learn and what courses to take. I would suggest prior to starting any MOOC do some research to identify the skills needed for the career path you want and then try to build a framework of courses that support that goal. It might be intimidating at first, but to ensure that you don’t spin your wheels this is critical and the MOOC’s although might have some stuff intended to do this, the level of understanding of each person and their career goals are always drastically different.
- Recognition of Accomplishment – I just wanted to highlight this about MOOC. Largely you take these courses to learn new things to be able to apply them in a professional setting. This means that a completed course in a MOOC will not be looked at equally as say a University course, but if you take the skills and knowledge gained and can demonstrate it through a portfolio of work (i.e. like maintaining a GitHub account with new projects) that is where the value is.
Self-Learning (Actually not comparable to the other two methods, but a great supplement)
Pros:
- Supplemental Learning – As mentioned above, this is a great way to learn offline. You can use static sources of data to help support the topics that you are learning
- Costs – Books (Digital and paper books) relative to the amount of information that is inside of them are relatively cheap. YouTube videos are free, easily making this option the cheapest.
Cons:
- Guidance – The major pitfall of relying on self-learning is that your own confirmation bias on different topics may point you in directions that aren’t ideal or optimal for your time.
- Lack of interaction – Learning by yourself is hard! If you don’t understand a concept sometimes those are the things that we sweep under the rug and move on and you miss fully understanding some concepts presented.
If you have any questions about my journey or have any advice feel free to comment on this article or send me a note on Twitter.