learning was hard.
There were many courses, books and resources I used along the way that helped me, but being honest, many of them I wouldn’t have taken in hindsight.
So, I want to review all the things I studied to land a job in machine learning, and then I will tell you which areas were actually worth it and which weren’t.
Let’s get into it!
University Degree / Maths
I am very fortunate that I decided to study for a master’s in physics when I was a teenager.
Yes, you are probably rolling your eyes right now.
“This guy said he had no CS background but did a master’s in physics, what the hell.”
I can’t deny that this definitely gave me an advantage. However, many STEM graduates still struggle to find jobs in machine learning. I’ve even personally worked with them.
Simply having a master’s in a STEM subject is far from a guarantee that you will be able to land a job easily.
There are so many more things you need to learn, which are typically not taught in the majority of programmes.
With all that said, the main things I learned in my degree that are relevant to my current machine learning engineer job were the maths skills.
I learnt calculus and linear algebra to an intense level, more than you need being honest, and statistics to a decent standard. Even then, I still had to brush up on my stats knowledge later.
My degree was also the first time I wrote code.
Literally on my first day, at 9am, I had a computer lab tutorial in Fortran.
For those of you unfamiliar, Fortran is the oldest “high-level” programming language invented in the 1950s. Yet, here we were being taught it in 2017.
Fortran is hardly beginner-friendly and it immediately made me not like programming. If only old me knew what I would be doing today!
Although I didn’t enjoy Fortran, it taught me how to think and solve problems using code, which paid dividends in the long run.
If you want to know all the maths skills required to work in machine learning, checkout my previous post:
How to Learn the Math Needed for Machine Learning
A breakdown of the three fundamental math fields required for machine learning: statistics, linear algebra and…medium.com
Python
Because I hated Fortran so much, I actively avoided any module with a programming aspect.
However, in 2020, during my third year, a video was recommended to me on my YouTube homepage.
For those of you unaware, this was a documentary about DeepMind’s AI AlphaGo that beat the best GO player in the world. Most people thought that an AI could never be good at GO, let alone beat the world champion.
After watching the video, I began reading about how AI works, including neural networks, reinforcement learning, and deep learning.
From then on, I was hell bent in becoming a data scientist, and I knew I had to learn Python to become one.
In the evening and at weekends, I would go through several Python courses and projects, the ones I used were:
Not to mention the endless Google searches and StackOverflow threads I visited. This was pre-ChatGPT, after all.
I also practised my Python skills on HackerRank problems and built basic projects for fun, as well as for my university coursework.
SQL
After I learnt Python, I dedicated a month or so to learning SQL while applying for entry-level and graduate data science jobs.
SQL is easier to learn than many other languages, as it’s smaller and the basics cover pretty much anything you want to do.
The courses and resources I used for SQL were:
And again, I used HackerRank to practice SQL problems for interviews.
This was a small part of my learning journey, and I acquired most of my advanced SQL skills on the job.
Machine Learning
During my final year of university, I took Andrew Ng’s Machine Learning Specialisation. I took it when it was still the 2012 version, when the coding exercises were in Octave/Matlab.
This course taught me the theoretical fundamentals of all the machine learning algorithms, like:
This was all before I even started implementing them in code. Building that intuition behind the algorithms is so invaluable.
I also supplemented my learning with various textbooks:
All of these I still use today, as you will forever be studying and updating your knowledge of machine learning.
Deep Learning
After studying all the fundamental machine learning knowledge, I took the subsequent course by Andrew Ng, which was the Deep Learning Specialisation on Coursera.
I again supplemented my learning with the same textbooks as in the machine learning section, as they cover many advanced concepts.
Some further videos and courses I used were:
Statistics
At this point in my journey, I landed my first job as a data scientist at an insurance company, where I worked closely with actuaries.
For those of you who don’t know what actuaries are, Wikipedia describes them as:
An actuary is a professional with advanced mathematical skills who deals with the measurement and management of risk and uncertainty.
Even though I studied statistics before, the level required at an insurance company is relatively high, especially when working with actuaries, as they are specialists in the field.
To upgrade my statistics, I studied the CS1 (statistics) actuarial exam. Even though I didn’t actually sit the exam, I reviewed and studied all the contents.
The syllabus pretty much covers all the statistics you are likely to use as a data scientist or machine learning engineer for your entire career.
The book Practical Statistics for Data Scientists (affiliate link) served as a reference text to refresh my knowledge, and I studied the Think Bayes (affiliate link) textbook to learn Bayesian statistics.
It’s important to note that I didn’t simply take the courses and read the books; I documented practically everything I learned on Medium.
General Statistics
Probability Distributions
Bayesian Statistics
By far, as I have said many times, this has been the biggest ROI for my career.
Time Series Forecasting
After spending a year in insurance, I switched companies and worked in a team that specialised in time series forecasting and optimisation problems.
The only book I used to learn forecasting was Forecasting: Principles and Practice (affiliate link) by Rob Hyndman and George Athanasopoulos.
This is known as the bible of forecasting, and it is the only book I recommend people get when starting out studying the field.
The rest of my knowledge I got from Google searches and random videos online. This was typically how I supplemented my knowledge in most areas.
And of course, I documented everything on Medium.
Optimisation / Operations Research
For my optimisation knowledge, it was a bit more mixed as it’s a vast field. To give you a sense of size, it arguably encompasses the whole of machine learning and also covers a list of discrete optimization algorithms.
The primary reference text I used was Algorithms for Optimisation (affiliate link), and I supplemented that with a variety of other online resources, such as:
But in general, I would study areas that I needed to learn for my job and write blog posts about them. That is how I learned most things, being honest, and still do.
Software Engineering
When I was looking to transition from being a data scientist to a machine learning engineer, the key areas I needed to improve were my software engineering skills.
It’s a big area, in fact, it’s a whole job, but I focused on the fundamentals.
The courses I took were:
One area that is hard to study is writing proper production code. This is the only thing I learned solely on the job, but you can gain experience in it outside by creating your own software projects.
If that seems a lot, don’t worry, as that’s nearly 5 years’ worth of studying consistently almost every day!
Also, as I said in the beginning, not all of it was needed in hindsight. The following areas are things I would definitely not do again.
- Actuarial CS1 — Many concepts are not needed in practice, and the mathematical detail can be overkill. I recommend sticking to the Practical Statistics for Data Scientists (affiliate link) textbook.
- CS107 Computer Organisation & Systems — Haven’t really used any ideas from here that much.
- Elements of Statistical Learning — An overkill textbook for most people.
The rest was definitely worth it, but I definitely didn’t need all those resources. One good one in each section is enough.
If you are after a proper and detailed roadmap to break into machine learning, then I recommend you checkout my previous post below:
The Ultimate AI/ML Roadmap For Beginners
How to learn AI/ML from scratch
Another Thing!
I offer 1:1 coaching calls where we can chat about whatever you need — whether it’s projects, career advice, or just figuring out your next step. I’m here to help you move forward!
1:1 Mentoring Call with Egor Howell
Career guidance, job advice, project help, resume review
Connect With Me
Source link
#Studied #Machine #Learning #Engineer #Background