The Journey to Machine Learning: What Was Worth It?
Learning was hard. As I navigated the vast landscape of resources, courses, and materials to land a job in machine learning, I often found myself questioning what was truly valuable. Here’s a comprehensive review of everything I studied—what was worth it and what I’d skip in hindsight.
University Degree / Maths
I was fortunate to have pursued a Master’s in Physics as a teenager. While some might roll their eyes at my claim, this experience provided a substantial advantage. However, I’d like to stress that simply having a degree in a STEM field doesn’t guarantee a seamless transition into machine learning. Many graduates from similar backgrounds still wrestle with securing roles in the industry, which I’ve seen firsthand.
The crux of my education that has direct relevance to machine learning lies in the math skills I acquired. I dove deep into calculus and linear algebra, and even brushed up on statistics. Despite how crucial these subjects are, I still found myself needing to reacquaint myself with statistics later on.
Interestingly, my first coding experience occurred during this degree. On day one, at a 9 a.m. lab session, I was introduced to Fortran, a high-level programming language that dates back to the 1950s. While it wasn’t the most user-friendly introduction to coding, it taught me foundational problem-solving skills that have proven invaluable.
For those curious about the mathematical requirements for working in machine learning, I highly recommend checking out my earlier post on the topic.
Python
My initial dislike for programming, rooted in my Fortran experience, led me to avoid any coding modules. But in 2020, I stumbled upon a YouTube video titled AlphaGo – The Movie, showcasing DeepMind’s AI defeating the world’s best Go player. This ignited my curiosity about AI, neural networks, and deep learning, compelling me to learn Python.
In my quest for knowledge, I immersed myself in several Python courses and projects during evenings and weekends. I visited countless Google searches and StackOverflow threads (pre-ChatGPT days, mind you). Practicing on HackerRank and building enjoyable side projects helped solidify my skills.
SQL
Once I had a grasp on Python, I allocated a month to learning SQL while applying for entry-level data science positions. SQL is relatively easier to learn due to its compact syntax and practicality. I utilized various courses and honed my skills through HackerRank challenges. Although my advanced SQL skills predominantly flourished on the job, this foundation proved crucial.
Machine Learning
During my senior year at university, I enrolled in Andrew Ng’s Machine Learning Specialization. This course equipped me with theoretical insights into machine learning algorithms—knowledge I found invaluable before jumping into practical implementation. Supplementing my learning with textbooks and additional resources further deepened my understanding.
Deep Learning
Following my stint in machine learning theory, I pursued Andrew’s Deep Learning Specialization. Similarly, I leaned on the same textbooks, which tackled intricate concepts essential for grasping deep learning. Several other online videos and courses enriched my knowledge as well.
Statistics
Upon securing my first role as a data scientist in the insurance sector, I found myself working closely with actuaries—experts in risk measurement. The level of statistical acumen required in this industry pushed me to revisit my statistics coursework. I explored the CS1 actuarial exam syllabus for a comprehensive overview. While I didn’t sit for the exam, the studying laid a solid groundwork for long-term career application.
Books like Practical Statistics for Data Scientists and Think Bayes became pivotal resources for refreshing my statistical knowledge.
Time Series Forecasting
After a year in insurance, I transitioned to a new role focusing on time series forecasting. My primary resource was the definitive book Forecasting: Principles and Practice, regarded as the go-to guide in the field. Additionally, online searches and various videos further rounded out my understanding.
Optimization / Operations Research
For optimization, I engaged with multiple studies as it encompasses a broad domain that intersects with machine learning. The reference book Algorithms for Optimisation was crucial, and I supplemented it with various online resources. Documenting my learning through blog posts was an excellent method to reinforce my knowledge.
Software Engineering
When aiming to shift from a data scientist role to a machine learning engineer, I recognized the need to sharpen my software engineering skills. Focusing on foundational concepts, I tackled several courses, although a great portion of my learning occurred directly on the job through practical application.
It might seem overwhelming, but this represents nearly five years of consistent daily study. While each resource played a role, hindsight can reveal which were most beneficial.
Here are some things I would avoid revisiting:
- Actuarial CS1: Many concepts felt superfluous for practical applications.
- CS107 Computer Organisation & Systems: Limited real-world application for my career.
- Elements of Statistical Learning: Far too intricate for most practical scenarios.
In conclusion, while plenty of resources exist, focusing on quality over quantity yields the best results.
If you’re looking for a structured roadmap to break into machine learning, I encourage you to explore my previous piece on that topic.
I also offer personalized coaching calls to discuss projects, career advice, or your next steps in this evolving field. Let’s connect and navigate this journey together!