Start AI in 2024 — Become an expert from nothing, for free!
A complete guide to start and improve in machine learning (ML), artificial intelligence (AI) in 2024 without ANY background in the field and stay up-to-date with the latest news and state-of-the-art techniques!
I’m asked the same question multiple times a day on my social media. The question is “How can I start in machine learning?”. It frequently takes multiple forms, such as “How can I start for free?”, “What is AI? How can I learn it?”, “How does AI work? Where can I start?”, “How can I start if I don’t have a developer background”, etc. So I decided to write a complete guide on how to start in machine learning in 2024 from no background at all, and for free. Because of these pertinent questions, I’ve researched a lot of resources and saved the best ones on a notepad over the past year to quickly answer the next upcoming questions.
Today, I will share this notepad with everyone and list many great resources, and give you some tips on how to learn, and improve your machine learning skills.
Who can become a machine learning expert in 2024?
This guide is intended for anyone having zero or a small background in programming, mathematics, and/or machine learning. There is no specific order to follow, but a classic path would be from top to bottom, following the order given in this article. If you don’t like reading books, skip the section, if you don’t want to follow an online course, you can skip this one as well. There is not a single way to become a machine learning expert, and with motivation, you can absolutely achieve it by creating your own steps.
But the goal of this article is to give a path for anyone wanting to get into machine learning and not knowing where to start. I know it can be hard to find where to start or what to do next when learning something new. Especially when you don’t have a teacher or someone to guide you. This is why I will list many important resources to consult ordered by “difficulty” with a linear learning curve. If you are more advanced, you can just skip some steps.
All resources listed here are free, except some online courses and books, which are certainly recommended for a better understanding, but it is definitely possible to become an expert without them, with a little more time spent on online readings, videos and practice. When it comes to paying courses, the links in this guide are affiliated links. Please, use them if you feel like following a course as it will support me. Thank you, and have fun learning! Remember, this is completely up to you and not necessary. I felt like it was useful to me and may be useful to others as well.
Don’t be afraid to replay videos or learn the same concepts from multiple sources. Repetition is the key to success in learning something new!
Find the complete list on GitHub.
Maintainer: louisfb01, also active on YouTube and as a Podcaster if you want to see/hear more about AI! You can also learn more twice a week in my personal newsletter! Subscribe and get AI news and updates explained clearly!
Tag me on Twitter @Whats_AI or LinkedIn @Louis Bouchard if you share the list!
👀If you'd like to support my work, check out my Patreon.
Table of contents
Here is a quick table of contents of this article if you would like to skip the first steps right away:
— Let’s dive in! (Start with short YouTube video introductions)
— Start learning seriously (Follow free online courses on YouTube)
— Read articles online
— Read important books
— No math background for ML? Check this out!
— No coding background, no problem! (Coding resources for beginners)
— Follow online courses
— Practice, practice, and practice!
—Want to build language models/apps? Check this out (now with LLMs!)!
— More resources (join communities, use cheat sheets, follow news of the field, and more!)
— How to find a job
— AI Ethics
— Conclusion
Note that there is also a repository of this article with all the resources clearly identified for you to follow in order as well.
Let’s dive in and start to learn machine learning!
In my opinion, the best way to start learning anything is with short YouTube video introductions. This field is no exception. There are thousands of amazing videos and playlists that teach important machine learning concepts for free on this platform, and you should definitely take advantage of them.
Here, I list a few of the best videos I found that will give you a great first introduction to the terms you need to know to get started in the field.
The first one I would personally recommend is a YouTube Playlist introducing the most used terms of the field by Louis Bouchard. This is a must-watch playlist to have a basic understanding of machine learning and all the terms frequently said in the further resources mentioned. IT basically answers the famous question "What is AI" with a series of really short 1-minute videos covering all the most used terms starting from the basics to more advanced. It will take no longer than 30 minutes to have a complete overview of the field and understand the basics of machine learning!
Following these short videos, I would suggest diving a little deeper into the foundations of machine learning and deep learning and learn more about neural networks. Understanding neural networks and backpropagation is the most important thing when starting and gives you an enormous advantage when you dive into more advanced lectures and courses.
Fortunately for us, an amazing channel called 3Blue1Brown created a series of videos covering these exact concepts really clearly. Other excellent places to start that will give you a great understanding of the maths behind ML are (1) this series of videos by Weights & Biases and (2) Andrej Karpathy's most recent video "The spelled-out intro to neural networks and backpropagation: building micrograd".
Pick the one you prefer! Don’t be afraid to replay the videos or find any other playlist on your own if certain aspects of the videos are unclear to you! Learning is made of repetition!
Now that you have a good basis of what a machine learning algorithm is, how it works, and how it can learn with backpropagation, you are ready to dive a little deeper with more complete and advanced courses.
Dive into the hottest new topics by Understanding Transformers and LLMs (i.e. models behind ChatGPT)!
- Luis Serrano, "Natural Language Processing and Large Language Models" - amazing video introductions to the attention mechanism, tokens, embeddings and more to better understand everything behind large language models like GPT!
- Louis Bouchard's LLM free course videos "Train & Fine-Tune LLMs for Production Course by Activeloop, Towards AI & Intel Disruptor". "A playlist for our LLM course: Gen AI 360: Foundational Model Certification!"
Another easy way to get started and keep learning is by listening to podcasts in your spare time. Driving to work, on the bus, or having trouble falling asleep? Listen to some AI podcasts to get used to the terms and patterns, and learn about the field through inspiring stories! I invite you to follow a few of the best I personally prefer, like Lex Fridman, Machine Learning Street Talk, Latent Space Podcast, and obviously, my podcast: Louis Bouchard Podcast, where you will learn about incredibly talented people in the field with inspiring stories sharing the knowledge they worked so hard to gather.
Feel free to keep on watching other videos on YouTube. It has great resources and is a free, and underrated platform for learning!
Start learning seriously
This step is a little longer than the previous one since you will be watching many hours of free, amazing courses on YouTube, and learn a lot from them.
Please, do not watch these courses while doing something else. They are great resources that deserve concentration and you take notes and ask questions through online communities!
They are fascinating as well. Once you have the motivation to press the “Play” button, you will be hooked until the end and learn A LOT, I promise!
Here’s a quick list of the best courses I would suggest watching first. They are listed in the“difficulty of understanding” order. Starting from an introduction and ending with a great specialization. Note that even the specialization is still an introduction at this point, but it will prepare you for the funnier stuff coming next! Of course, they are all free!
— Introduction to machine learning (Stanford)
— Introduction to deep learning (MIT)
— Deep learning specialization (Deeplearning.ai — Andrew Ng)
— MIT Deep Learning — Lex Fridman’s up-to-date deep learning course
— Deep Learning (with PyTorch) — NYU, Yann LeCun
Read articles online
As it has been proven multiple times. Humans learn better by repeating and learning in different ways, such as hearing, writing, reading, watching, etc. This is why it is as important to read as to watch videos to have a better understanding.
You will cover many angles and have a more complete view of what you are trying to learn. This section is a list of short articles that are completely free and optional. Similarly, using Medium is an amazing platform to find great explanations, either on Towards AI or Towards Data Science publications. I also share my own articles there and I love using the platform. You can subscribe to Medium using my affiliated link here if this sounds interesting to you and if you'd like to support me at the same time!
Note that you can certainly find other items on your own, these are only suggestions based on my personal choices.
Here are 5 articles, all available here on Medium, that I would suggest you look at before diving into any books, coding, or online courses. They are all short reads really beneficial if you couple that with the videos mentioned earlier.
- 5 Beginner-Friendly Steps to Learn Machine Learning and Data Science with Python — Daniel Bourke
- What is Machine Learning? — Roberto Iriondo
- Machine Learning for Beginners: An Introduction to Neural Networks — Victor Zhou
- A Beginners Guide to Neural Networks — Thomas Davis
- Understanding Neural Networks — Prince Canuma
- Reading lists for new MILA students — Anonymous
- The 80/20 AI Reading List — Vishal Maini
Now that you’ve gone through these short reads and videos, you are definitely ready to start coding and practice! If you feel like you need a deeper understanding of the theoretical aspect of machine learning, then, the next section is for you. Otherwise, you can skip straight to the coding, online courses, or practice sections below to learn exponentially fast!
Read Important Books
This section is completely optional, but it is strongly recommended to better understand the “behind the scenes” of a machine learning algorithm. Books are a great way to learn at your rhythm. Be sure to understand everything before going into practice mode. Don’t be afraid to re-read sections!
As you may know, most books need a lot of work from the authors, and therefore, are not free. Fortunately for us, there is one amazing book that is completely free and available online! The rest are available on Amazon for buying. Here I list some of the best books to read for the people preferring the reading path:
- Building LLMs for Production: Enhancing LLM Abilities and Reliability with Prompting, Fine-Tuning, and RAG - by Towards AI. "Discover the key tech stacks for adapting Large Language Models to real-world applications, including Prompt Engineering, Fine-tuning, and Retrieval Augment Generation." (Or get the e-book here. You can DM me for a nice discount!)
- Deep learning book — Free Online
- Dive into Deep Learning — Free Online
- Probabilistic Machine Learning: An Introduction — Free Online
- Artificial Intelligence: A Modern Approach — Optional (Paying)
- Pattern Recognition and Machine Learning — Optional (Paying)
- Deep Learning with Python — Optional (Paying)
- Understanding Machine Learning: From Theory to Algorithms — Shai Shalev-Shwartz and Shai Ben-David — Free Online
Great books for building your math background:
- Mathematics for Machine Learning — Free Online
- The Elements of Statistical Learning — Optional (Paying)
- Statistical Inference — Optional (Paying)
A complete Calculus background:
- Calculus: Concepts and Contexts — Optional (Paying)
- Single Variable Calculus: Concepts and Contexts — Optional (Paying)
- Multivariable Calculus: Concepts and Contexts — Optional (Paying)
Again, these books are completely optional, but they will provide you a better understanding of the theory and even teach you some stuff about coding your neural networks! You can find more free books online, such as in this great list of 100+ free machine learning books (open access books, nothing illegal!), which you can read or download online.
Now, you are more than ready to start coding and apply the theory you’ve learned and mastered.
No math background for ML? Check this out!
Don’t stress, just like most of the things in life, you can learn maths! Here are some great beginner and advanced resources to get into machine learning maths. I would suggest starting with these three very important concepts in machine learning (here are 3 awesome free courses available on Khan Academy):
- Linear Algebra — Khan Academy
- Statistics and probability — Khan Academy
- Multivariable Calculus — Khan Academy
Here are some great free books and videos that might help you learn in a more “structured approach” :
- mathematicalmonk on YouTube
- Mathematics for Machine Learning — Garrett Thomas
- An Introduction to Statistical Learning: with Applications in R (Springer Texts in Statistics) — Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani
If you still lack mathematical confidence, check out the books section above, where I shared many great books to build a strong mathematical background.
You now have a very good math background for machine learning and you are ready to dive in deeper!
No coding background, no problem!
This section is for beginners in coding. If you have no background at all in Python or any other programming languages, this will get you starting and give you an awesome basis for machine learning programming.
If you are already pretty familiar with python, you can skip to the “Follow online courses” step!
Here are the best online courses to learn the programming side of machine learning:
At first, you need to learn python. A great way to start is with this Free interactive tutorial to learn python or by following this great practical Machine Learning tutorial.
Then, you can follow this free course on OpenClassroom, called Learn Python Basics for Data Analysis, or free video series like this one by Data Science Dojo.
Following these two resources, if you are still not comfortable with python, you can dive deeper into a paying course on Coursera by IBM called Machine Learning with Python. This will certainly get you ready to start coding your first machine learning algorithms and dramatically improve your programming skills! Another great idea is to follow online training, like this one by Data Science dojo. Note that these are often paying and completely optional. They are just other resources for those of you that would like to have more “guided” practices using live sessions where they will give you challenging exercises and projects to work on! An alternative could be to find exercises and projects online, using Kaggle for example, join a community to find learning teammates and ask questions.
Confirm your python skills with these 100 NumPy exercises. It is a great collection of exercises that have been collected in the NumPy mailing list, on stack overflow, and in the NumPy documentation.
Lastly, here's an amazing Shell tutorial - Learn to use the Unix shell! A must for developers and AI practitioners.
Follow Online Courses
Now that you have a good understanding of the theory behind machine learning AND a coding background, you are ready to start your way into machine learning courses. Of course, these are all optional. Again, the first one is free and the other ones are paying since they will teach you many things and some even give you certifications you can use in your resume! Coursera is a great place to start with high-value certifications. I listed some of the best courses below. I also want to mention that Coursera offers great financial aids or scholarships if you can't afford such certificates. The only things you need to do to apply:
- Fill out an application that includes information about your educational background, career goals, and financial circumstances.
- Commit to abiding by our Honor Code and our Code of Conduct.
Check out their help page and apply!
If you don’t want to follow any courses, you can jump to the next section and start to practice on your own. It will be a little more difficult at first, but with your “googling” skills and motivation, you will be able to do this for sure.
If you prefer to be more guided and have clear steps to follow, these courses are the best ones to do (starting from the basics to more advanced):
- Intro to Machine Learning — Kaggle (Learn the core ideas in machine learning, and build your first models)
- Get started in AI / AI For everyone — Andrew Ng
- Machine learning — Andrew Ng — Stanford
- Deep learning specialization — Andrew Ng
- TensorFlow (Professional certificates)
- AI Engineering — IBM (Professional certificates)
- Complete data science boot camp 2021
- AI Programming with Python - Complete nanodegree
- Instructor-led Online Data Science Bootcamp — datasciencedojo (complete 16-week learning program)
- Data Science Training + Industry Experience — datasciencedojo (complete 16-week training program with experience)
- fast.ai’s Deep Learning Courses — Free
- DEEP LEARNING COURSE - François Fleuret - This course is a thorough introduction to deep-learning, with examples in the PyTorch framework. There are some prerequisites.
For specific applications, get right into it:
- AI For trading, nanodegree from Udacity - Paid
- Learn Deep Reinforcement learning, nanodegree from Udacity - Paid
- Become an NLP pro with Coursera's Natural Language Processing Specialization by deeplearning.ai — Paid
"Break into the NLP space. Master cutting-edge NLP techniques through four hands-on courses!"
Get your models online and show them to the world:
- How to Deploy a Machine Learning Model to Google Cloud - Daniel Bourke - Free
- Machine Learning DevOps Engineer - Udacity Nanodegree - Paid
- AWS Machine Learning Engineer - Udacity Nanodegree - Paid
Now, you are more than ready to start to practice and build your portfolio!
Practice, practice, and practice!
The most important thing in programming is practice. And this applies to machine learning, too. It can be hard to find a personal project to practice. You have to find a problem to solve before you can even start coding, which can be very difficult without any help.
Fortunately, Kaggle exists. This website is full of free courses, tutorials, and competitions. You can join competitions for free, and just download their data, read about their problem, and start coding and testing right away! You can even earn money from winning competitions and it is a great thing to have on your resume. This may be the best way to get experience while learning a lot, and even earn money!
But Kaggle isn't the only place to work on interesting projects for the industry where you will gain valuable expertise. Zindi is a similar website based in Africa where you can compete on super interesting AI projects and win money prizes as well (some go up to $10'000USD!). Many "hackatons" for AI are worth participating in, and many companies offering similar projects or competitions, like the NVIDIA Jetson Community Projects. You can also get certifications on NVIDIA Jetson's website and receive hardware and financial support to help you work on the projects with NVIDIA. Here's a great guide to get started with the NVIDIA Jetson Nano if you'd like to see it fits you. If that doesn't seem attractive, I'd strongly recommend looking for the companies that interest you and look for community projects they may be financing or asking for help with. You could try to either make improvements to their code on GitHub or directly work on their projects. Making meaningful contributions on GitHub repositories is very well seen, and having a great GitHub profile is undoubtedly something that interviewers are looking for!
Before ending this section, I'd like to highlight that you can also create teams for Kaggle competitions or other projects and learn with people! I suggest you join a community to find a team and learn with others. It is always better than learning alone. The following section is devoted to this.
Want to build language models/apps? Check this out (now with LLMs!)!
I had a lot of requests from people wanting to focus on natural language processing (NLP) (models dealing with language) or even learn machine learning strictly for NLP tasks. This is a section dedicated to that need. Happy NLP learning!
- Here's a complete roadmap to master NLP in 2022
- Become an NLP pro with Coursera's Natural Language Processing Specialization by deeplearning.ai — Paid
"Break into the NLP space. Master cutting-edge NLP techniques through four hands-on courses!" - An NLP Nano Degree! — Paid
"Learn cutting-edge natural language processing techniques to process speech and analyze text. Build probabilistic and deep learning models, such as hidden Markov models and recurrent neural networks, to teach the computer to do tasks such as speech recognition, machine translation, and more!" - NLTK Book is the free resource to learn about fundamental theories behind NLP: https://www.nltk.org/book/
- Looking to build a quick text classification model or word vectorizer, fasttext is a good library to quickly train up a model.
- Huggingface is THE place to get modern day NLP models, and they also include a whole course about it.
- SpaCy is great for NLP in production, as it does NLU, NER, and one can train classification, etc with it. It's also able to add customized steps or models into the pipeline.
- Prompting! Prompting is a new skill that you should master if you want to build NLP-related apps. This is a great course I am contributing to, intending to teach prompting and give tips for specific models.
Train, fine-tune, and use Large Language Models!
- LangChain & Vector Databases in Production - An amazing free resource we built at Towards AI in partnership with Activeloop and the Intel Disruptor Initiative to learn about LangChain & Vector Databases in Production. "Whether you are an experienced developer who's a newcomer to the AI realm or an experienced machine learning enthusiast, this course is designed for you. Our goal is to make AI accessible and practical, transforming how you approach your daily tasks and the overall impact of your work."
- Training & Fine-Tuning LLMs for Production - An amazing free resource we built at Towards AI in partnership with Activeloop and the Intel Disruptor Initiative to learn about Training & Fine-Tuning LLMs for Production. "If you want to learn how to train and fine-tune LLMs from scratch, and have intermediate Python knowledge as well as access to moderate compute resources (for some cases, just a Google Colab will suffice!), you should be all set to take and complete the course. This course is designed with a wide audience in mind, including beginners in AI, current machine learning engineers, students, and professionals considering a career transition to AI. We aim to provide you with the necessary tools to apply and tailor Large Language Models across a wide range of industries to make AI more accessible and practical."
- From Beginners to Advanced LLM Developer - by Towards AI. "Build Your First Scalable Product with LLMs, Prompting, RAG, Fine-Tuning, and Agents! Master the skills top companies need and build your own advanced LLM MVP with real-world applications."
- Building LLMs for Production: Enhancing LLM Abilities and Reliability with Prompting, Fine-Tuning, and RAG - by Towards AI. "Discover the key tech stacks for adapting Large Language Models to real-world applications, including Prompt Engineering, Fine-tuning, and Retrieval Augment Generation." (Or get the e-book here. You can DM me for a nice discount!)
👀If you'd like to support my work, check out my Patreon.
More Resources
Most of the time, the best way to learn is to learn with someone else. Join communities online and find partners to learn with!
— Here is an awesome Discord Server with many AI enthusiasts where you can learn together, ask questions, find Kaggle teammates, share your projects, and much more.
— Here is a great Discord Server where you can stay up-to-date with the latest AI news, ask questions, share your projects, and much more.
— You can also follow Reddit communities — Ask questions, share your projects, follow news of the field, and more. Here are the most popular ones:
- artificial — Artificial Intelligence
- MachineLearning — Machine Learning (Biggest subreddit of the field)
- DeepLearningPapers — Deep Learning Papers
- ComputerVision — Extracting useful information from images and videos
- learnmachinelearning — Learn Machine Learning
- ArtificialInteligence — AI
- LatsestInML — Game-changing developments in machine learning you shouldn’t miss
— Save Cheat Sheets!
The best Cheat Sheets for Artificial Intelligence, Machine Learning, and Python:
- Cheat Sheets for AI, Neural Networks, Machine Learning, Deep Learning & Big Data — Stefan Kojouharov
- Machine Learning cheatsheets for Stanford’s CS 229 — Afshine Amidi & Shervine Amidi
- Cheat Sheet of Machine Learning and Python (and Math) Cheat Sheets — Robbie Allen
- AI Expert Roadmap — Use it as a skillset checklist!
— Another important thing in this field is to stay up to date with the new upcoming papers and new applications that are released every single day. A great way is to join LinkedIn groups that are sharing these new applications, follow medium publications or even YouTube channels that are summarizing these new papers, here I list a few of the best ones I know, but you can definitely search for more in your fields of interest!
Subscribe to YouTube channels that share new papers: Stay up to date with the news in the field!
- Two Minutes Papers — Biweekly videos covering new papers
- Louis Bouchard — Weekly videos covering new papers
- Bycloud — Weekly videos covering new papers
— Join LinkedIn Groups
- Artificial Intelligence, Machine Learning, and Deep Learning News
- Artificial Intelligence | Deep Learning | Machine Learning
- Applied Artificial Intelligence
— Join Facebook Groups
- Artificial Intelligence & Deep Learning — The definitive and most active FB Group on A.I., Neural Networks and Deep Learning. All things new and interesting on the frontier of A.I. and Deep Learning. Neural networks will redefine what it means to be a smart machine in the years to come.
- Deep learning — Nowadays society tends to be soft and automated evolving into the 4th industrial revolution, which consequently drives the constituents into the swirl of societal upheaval. To survive or take a lead one is supposed to be equipped with associated tools. Machine is becoming smarter and more intelligent. Machine learning is inescapable skill and it requires people to be familiar with. This group is for these people who are interest in the development of their talents to fit in.
— Subscribe to Newsletters
- AlphaSignal — The Most Read Technical Newsletter in AI
- AI News — by Swyx & friends - a lot of LLM aid going on indexing ~356 Twitters, ~21 Discords, etc. (I personally mostly read the main recap)
- Inside AI — A daily roundup of stories and commentary on Artificial Intelligence, Robotics, and Neurotechnology.
- AI Weekly — A weekly collection of AI News and resources on Artificial Intelligence and Machine Learning.
- AI Ethics Weekly — The latest updates in AI Ethics delivered to your inbox every week.
- Louis Bouchard weekly — Covering and explaining news in AI and more!
- Toward's AI newsletter — Summarizing the most interesting news and learning resources weekly as well as community updates from the Learn AI Together Discord community. Perfect for ML professionals and enthusiasts.
— Follow Medium accounts and publications
- Towards Data Science — “Sharing concepts, ideas, and codes”
- Towards AI — “The Best of Tech, Science, and Engineering.”
- OneZero — “The undercurrents of the future. A Medium publication about tech and science.”
- A little self-promotion, myself — “Hi, I am Louis (loo·ee, French pronunciation), from Montreal, Canada. I try to share and explain artificial intelligence terms and news the best way I can for everyone. My goal is to demystify the AI “black box” for everyone and sensitize people about the risks of using it.”
— Check this complete GitHub guide to keep up with AI News:
- BAILOOL/DoYouEvenLearn — Essential Guide to keep up with AI/ML/DL/CV
How to find a job
I have a good ML basis. Now what? Here are some tips to find a job in machine learning...
First of all, if you are not sure about what job to get into, please take a look at the first chapter of this amazing free book detailing the different jobs in ML. It will help you understand the various roles and what you would prefer to do.
Now that you know the role you are aiming for, you need to build your portfolio. To do so, you *need* interesting projects that you worked on which you can share online—something like a complete GitHub, a blog, a great Kaggle profile, etc. You also need to get prepared for the different kinds of interviews you’ll have to go through.
Let’s start with personal projects. Personal projects are underrated. Take the example of owning a blog. It can make you find a job or even remove the need to find a job. If you post about how you made an ML-based application, the post can fall in the hands of a recruiter, and if it was well explained, the recruiter may just message you and offer you a job or a contract. On the other side, if your blog does well, it will become a side hustle and could end up making a lot of money. Of course, this is for a blog example, which you can post on Medium, a blogging platform that pays you per view, quite easily, and here’s how. You only need to write and publish! No personal website is needed or anything. Do not underestimate the power of sharing what you do clearly. Knowing how to clearly explain the projects you work on so that your non-technical boss can understand is extremely important and directly recognized in your salary. One last reason to own a blog is to teach. Teaching is one of the most valuable skills that exist and something hard to develop. It will improve your communication skills and leadership, which are extremely relevant in data science jobs, as your main goal is to understand data and use it optimally. It can become extremely complex, and until your results are not published, you need to know how to explain what you are doing and why it will work, or else you may not get any money to do it. As long as it’s not published for the investor or your boss, it’s like you haven’t done anything. Here comes the power of great communication skills. Oh, and why not do a two-in-one and help others by explaining something? Give back as soon as you understand a complex concept that gave you a hard time. It will confirm you really understand it while also helping others not get stuck like you were.
Technical skills are also important to display. Having a well-supplied GitHub is highly valuable, especially if you take the time to comment and clean your code and readme files. Share the projects you worked on, even if it was a course project! Obviously, personal projects that you worked on, on your own are much more impressive for a recruiter. However, these other projects can still demonstrate your skill level and ability to work in a team and document your work. If you have the time available, the best thing is to create an ML-based application and share it with the world on your GitHub and in an application. On a website or in a mobile app, or both. It will show that you took the time to learn many skills school didn’t teach you that was needed to publish them. It shows your motivation to work on complex problems and learn something new. The best thing is that it can also earn you money! This is the beauty of side projects. How can you not do them when it can both help you get a job and become your job in the best-case scenario.
Networking (during and post-pandemic)… Networking is underrated, even on LinkedIn. Having a great network will change your life, but you need to build it. One good contact will give you a job opportunity or even become your co-founder partner! And fortunately, we now have access to LinkedIn, where you can easily connect with people and start exchanging. But, please, don’t just spam connections. Connect with people with the same interest as you or people with roles you’d like to be connected with, and send them a private message introducing you and why you are reaching out to them. A generic copy-paste message won’t work. You need to see this just like a real-life networking event. Would you really go shake the hand of someone and not say anything? Would you shake the hand of someone and introduce yourself as “Hi, I’m looking for a job?”. Most certainly not. You’d ask for their name and roles, which is given on Linkedin, so you can skip this step and then talk about yourself and ask your acquaintance questions. Then, if it clicks, you’ll have a new contact in your list! Before doing so, just like in real life, you need to be presentable, so please update your LinkedIn and make your profile look good! You may ask who to connect with more precisely. In this case, my first recommendation would be to reach out to the teacher assistant you had directly, some you saw online, authors of GitHub repos or papers you liked, bloggers or YouTubers, etc. Once your network starts growing, you'll have very interesting LinkedIn recommendations to go further.
Now let’s get into the last but not the least important step: the interview process. I am not an expert in interviews, so I will mainly cite the best tips I found in this amazing book by Chip Huyen. If you are currently in the process of finding a job, this book is a must-read!
The dos and don’ts for ML interviews…
Here I will list some valuable tips from the book itself in no specific order. As you may already know, finding a job takes time, so you need to start early. Start before finishing your degree, before changing job, or throughout an online course and do it slowly in parallel. To come back with the importance of networking, try to exchange with your professor or colleagues to get valuable referrals. It helps a lot! Share with your network that you are looking for a job. Why build such a network if you won’t use it? Just like for coding and maths, practice! Practice your interview skills with your friends, family, or colleagues using the mock questions from the book. Keep up-to-date with the new research and new practices. I share a lot of tips for that in the section just above! Keep your skills up-to-date as well, do coding exercises like the one with NumPy shared in the coding practice section of this guide, but don’t stop here, try out but also on leetcode.com as well! Try to find questions to ask before the interview to look interested and the company’s mission so you can orient your answers towards that. Listen to them clearly and don’t talk too much. Try to learn about them and the role as well, but don’t sit in silence. Think out loud so they can analyze your thought process and see how you react with transparency. This is a winner habit! Remember that these interviews are also to find a fit for you, not only for them. One of the most important steps that are often failed by candidates: DO NOT LIE, honesty is key, and they will see it if you lie. Lastly, please find a job you think you will love. I know you can’t really know in advance, but follow your heart and try to pick something that will challenge you while working with an amazing, fun, and motivating team.
Some quick don’ts before we conclude this guide: again, do not lie. This is crucial. Do not criticize previous or current employers. Anything you do to them will appear as you could do the same to the interviewee's company. Be respectful at all times. Be confident, don’t be scared, they are looking for someone as much as you are looking for a job, remember that. I know there may be more competition on your end, but you are unique and surely have valuable skills that others don’t. Do not look down or away. Look in the eyes or sometimes upwards when you are thinking. It shows you are looking for a real answer in your memory. Do not agree to everything. Sometimes they put you in situations to test how you would react, and sometimes you just want something different than they offer. Again, be honest and figure it out with them spontaneously. Don’t talk about the irrelevant and personal information that can differ from your interviewer, like your political affiliation, religion, age, marital status, etc. Do not bring the salary question first. Wait for them to ask you (if they do). It will often be discussed with someone else than your interviewer afterward. In the same way, salary is not everything. If the salary seems a bit low, there are other advantages like bonuses or equity grants that can be as interesting or even better than a regular salary. Learn to negotiate. Either for salary or any other very important features, a job can offer you it is SO IMPORTANT to know how to get what you want and do it respectfully. If you have no negotiation experience, I strongly recommend reading (or listening to) the book Never Split the Difference by Chris Voss. It changed my life. Most importantly, do not stress it. You are unique and awesome, and you will find a job. It can take a dozen if not hundreds of tries depending on the world's current situation and where you live, and that’s perfectly normal. Take your time, be patient, and enjoy the process as much as possible by always learning and improving!
This was mainly to orient you and give you quick tips to help you get an interview and own it. If you’d be interested in getting more detail about the types of questions asked, the interview pipeline, how to negotiate your role and salary, which skills are needed, and much more, take a look at this incredible free book by Chip Huyen.
Lastly, I'd recommend learning how the interview process goes and getting better at preparing for them by watching how others did it, like the interview series I ran with experts from NVIDIA, Zoox (Self-driving company), D-ID (Generative AI Startup), etc.
AI Ethics
AI ethics is an underrated part of AI. It is actually the side you should mainly focus on, as humans will use your application, and thus it must respect their privacy and be trustworthy. It may sound obvious, but it is, in fact, an extremely complex side of the technological field. Indeed, as new technologies like AI come to the public, we need to be sure it isn't harmful to humans and can be trusted by all, which we often forget or voluntarily ignore, thinking that "someone else will take care of it". But that isn't true. You need to take care of it. Take some time to think about the trustworthiness of your model, take some time to think about the ethical issues that may come out of such an application run by an automated machine. As I said, this is complicated, which is why there are experts in ethics and philosophy working on this, but they need help from professionals in the field. To help them, you first need to understand why this is so important for our future, so here's an amazing series of short videos covering AI Ethics by Rachel Thomas, founder of fast.ai that is a great start to open your mind and allow you to identify the possible issues and how to attack them.
Here are three great resources for AI ethics in society and guidelines to build trustworthy AI shared by my good friend Auxane Boch, PhD Candidate & Research Associate at the Institute for Ethics in AI (TUM):
- "AI4People—An Ethical Framework for a Good AI Society: Opportunities, Risks, Principles, and Recommendations", Floridi et al., 2018 AI4People AI for a good society.
- "Ethics guidelines for trustworthy AI", European Commission high-level expert group 7 points for a trustworthy AI.
- "An Introduction to Ethics in Robotics and AI", a free e-book by Christoph Bartneck, Christoph Lütge, Alan Wagner, and Sean Welsh
Conclusion
This was a guide for anyone having zero or a small background in programming, mathematics, and/or machine learning. There is no specific order to follow, but a classic path would be from top to bottom.
Note that this is a non-exhaustive list of resources to become a machine learning expert from nothing in 2024. You can definitely use more, or less, resources and learn at your rhythm. Not everything in life is a competition and you must follow your instinct in the best way you can learn. Don’t ever feel guilty about replaying a video or reading an article twice to understand a concept. We’ve all been through this and it is perfectly normal. The most important thing is that you understand the concepts, and not that you go through the list as quickly as possible.
Thank you so much for reading, and I wish you all the best of luck in your future machine learning careers!
— Signing out.
Here’s a GitHub repository with all the links in this article if you would like to contribute or just easily find the information through it:
Tag me on Twitter @Whats_AI or LinkedIn @Louis Bouchard if you share the list!
Come chat with us in our Discord community: Learn AI Together and share your projects, papers, best courses, find Kaggle teammates, and much more!
If you like my work and want to stay up-to-date with AI, you should definitely follow me on my other social media accounts (LinkedIn, Twitter) and subscribe to my weekly AI newsletter!