Note: This article is a perpetual work in progress and is up to date as of 17 May 2019.
2018 Update: 9-months into my curriculum, I got hired as a Machine Learning Engineer at Max Kelsen, a technology company in Brisbane!
I live in Brisbane, Australia.
I graduated in 2015 with a Dual Major in Food Science and Nutrition. It took me five years to do a three-year undergraduate degree.
I thought I wanted to be a doctor. Probably because I was following what my friends were doing rather than creating my own path.
I’m a fitness nut. And I love food. Marrying my love for food and fitness with my studies was one of the best I ever did.
The most valuable lesson I learned from five years as an undergraduate was if you’re truly interested in what you’re learning, studying is no longer a chore.
I learned how to learn.
If you had told me this piece of wisdom before starting university, I would’ve listened and understood but not put it into action. I was still under the impression studying would always be a painful task. Wisdom must be learned not taught.
This whole revolution of Artificial Intelligence (AI) fascinates me. AI, coupled with other technologies has the power to make the world a better place. It also has the power to the world a worse place. I’m an advocate for the good side.
Advancements in AI have been happening for decades. Computing power has only recently reached a stage where it is accessible enough to enable people like me to work on these technologies from my bedroom.
Rather than stand by and watch this paradigm shift happen without fully understanding it, at the start of 2017, I decided to start learning about it.
I went in reverse when I began my studies. I dived straight in the deep end (literally) and signed up for a Deep Learning course without ever writing a single line of Python code.
I scared myself to the point I emailed support asking whether I was eligible for a refund. Luckily, I didn’t take the refund.
After learning more about the field, I matured a little and started to get an idea of where I want to take my studies. More thought is starting to go into where I spend my time.
I’m not looking to be the best Artificial Intelligence Engineer or the most hireable. My focus is a foundation of knowledge I can use to build things.
My curriculum is not as robust as it could be, instead, it’s being built on the fly, learning what I need to know to get to the next step.
At the beginning of 2017, I had no idea what data science was, let alone AI. I wrote my first line of Python code in February. These courses are to give me a foundation across Python programming, Computer Science and Data Science.
I stumbled upon Udacity’s Deep Learning Nanodegree Foundations (DLND) and was won over by Siraj Raval. I had a slight interest in AI and machine learning but his introductory videos on YouTube got me hooked. This was the first course I started with.
From the DLND, my learning journey has grown with a focus on the crossover of AI and health.
Sometimes a more traditional route is needed rather than always being in front of a screen. Zed’s book on Python helped immensely alongside the Treehouse Python track.
The last time I did a statistics course was the first semester of my undergraduate degree. I failed. Naked Statistics has helped me start to think with more of a statistics mindset. It’s written a way that takes away the jargon and gives real-world examples of complex statistics concepts.
Learning AI without the holy grail of AI textbooks — Artificial Intelligence: A Modern Approach — wouldn’t really be learning AI.
Deep Learning with Python is perhaps the best introduction to AI, Deep Learning and Python so far. Its author, François Chollet, is the author of Keras, a popular deep learning framework and currently works on deep learning at Google.
Hands-on Machine Learning is another incredible resource. This book is most aligned with what I do day to day as a Machine Learning Engineer.
The Hundred-Page Machine Learning Book is a new edition for 2019. I wish I had this book when I started out. You can read it in a day. We’re getting one for the office and going to use it as a go-to resource.
My high school math skills needed some refining once I started learning about Machine Learning and Deep Learning. Thanks to various frameworks and libraries, much of the math work is done behind the scenes.
Having a general understanding of the math that goes into these technologies has helped me immensely.
My personality type is ENFP. Essentially, I’m more extroverted than introverted (only slightly). Too long in front of a computer screen and I get weird. As previously mentioned, I’m using Meetup to find and meet people who are interested in what I am.
Siraj Raval is a wizard. His YouTube channel was my main inspiration for learning about AI and eventually creating my own AI Masters Degree. Watching his videos led to me documenting my learning journey on YouTube. If you’re looking to learn more about AI, I’d highly recommend his channel.
FreeCodeCamp is where I’ll go if I need to brush up on web technologies outside of the Python stack I’m currently learning. After all, if you build something with AI, you’re going to need a way to deliver it to the world. They have one of the best online communities I’ve ever seen. If you’re looking to get into web development, this is your starting point.
I’ve already mentioned the most valuable skill I learned after five years of university was learning how to learn. But I figured it out the hard way. The Learning How to Learn course on Coursera should be a compulsory course for every student. Learning How to Learn is the ultimate skill because you can apply it to anything else.
The use of cloud technologies is a requirement for any machine learning engineer or data scientist. If you want people to use the things you make, you have to distribute them. Cloud computing helps you do that. I’ve chosen Google Cloud to be my current cloud vendor. And I used the Google Cloud Data Engineering Specialization on Coursera to upskill myself. To see more, see the article, How I Passed the Google Cloud Data Professional Certification Exam.
I’m tracking all of this using a public Trello board. I find keeping things visual and as simple as they can be is how I work best. Feel free to follow along with my progress.
During my studies at university, I often found myself asking lecturers and professors,
Will this be on the test?
What I really meant was,
I’m not going to learn this unless it’s on the final exam.
This article by Seth Godin hits the nail on the head.
I’ve spent enough time at university this decade.
I did, however, use two main criteria when deciding how I was going to learn.
In terms of cost, a postgraduate degree in Computer Science at the universities in my area was between $20,000 AUD and $30,000 AUD per year (a minimum of two years). I’ll use the low-end for the sake of future comparisons.
Based on my previous experience at university, it was anything but flexible. Strict due dates, medical certificates for basically any absence, strict class times, one-time-only lectures, a 70-minute round trip commute from where I live to my closest campus, etc. These are not bad things but when you compare it to the alternative of online learning, things start to look a little different.
Online learning was the clear winner in terms of flexibility. Being able to study at my own pace is a big plus. I slow down on the concepts I have trouble with and fast on everything else. I miss a deadline because of an unforeseen event? It’s on me. No one else.
Online learning is not all roses. What you gain in flexibility, you lose in actual human interactions. After a day of studying in front of my computer, results in me becoming an introverted zombie. I’m using local Meetups to compensate for this.
Online learning also doesn’t come with as much prestige as what would a university (yet). Some of the courses I’ve completed don’t provide a verified certificate. I’m not worried about that. My goal is to gain enough knowledge to put these technologies into practice and bring value to the world.
I’ll use what I build as proof of my capabilities rather than a certificate.
Instead of accumulating more student debt, I chose to use the money I would’ve spent on two years doing a Computer Science Masters towards funding my own learning journey.
I pay for all of my courses up front. To do this, when I started the curriculum, I drove Uber on the weekends. And after being hired as a Machine Learning Engineer I still pay for them up front.
You can consider this article a work-in-progress of my self-created AI Masters Degree curriculum. I’ll keep it updated as I go along with the courses I’m learning and the projects I’m working on.