A self-taught engineer at Google shares the 8 best Google programming courses you can access for free
Before becoming a software engineer at Google, 33-year-old Sahil Gaba was an entirely self-taught computer engineer with a mechanical engineering background.
Many new programmers who start in Gaba’s shoes turn to free YouTube videos or their pricey counterpart, programming courses. However, neither is without its faults. YouTube videos often lack an interactive element, while paid courses can be inaccessibly expensive.
“I started learning programming very late in my life, around 25, and I was completely confused at the time,” Gaba told B-17.
In the search for alternative resources, Gaba discovered ways to access Google’s programming courses for free. Some of these courses are part of different packages that cost roughly $49 but can be audited at no cost, while others are complimentary lessons located on Google’s tech development site.
Auditing a Google programming course allows you to enroll without receiving credit or a certification. Gaba audited several courses and landed his first programming job a few months later at a small fintech startup before transferring to Amazon in 2019 and Google in 2021.
Here are eight important courses that he recommends every programmer take — which can be accessed for free.
1.Crash Course on Python
Python is among the most popular programming languages for beginners and experts.”It focuses on the core skills you need to actually start building things without bogging you down with unnecessary details,” Gaba said.
The 32-hour course includes readings, quizzes, and a final project which allows you to apply your skills to a real-world problem, giving you a well-rounded learning experience. Gaba said this course is particularly useful for folks in data science, web development, automation, and even certain backend frameworks.
2.Tools of the Trade – Linux and SQL
Gaba says he regrets not learning Linux earlier in his career and recommends that folks not make that same mistake. “Linux is a widely distributed operating system known for its stability and security and practically runs most machines on the internet. As a developer, you have to work with its command line interface called Shell quite regularly.”
Structured Query Language, or SQL, is a standard language for working with relational databases, and Gaba recommends that programmers learn it as soon as possible, too. “It’s not anything complex, but it’s an integral part of being able to deliver apps.”
Tools of the Trade — Linux and SQL is a course that helps users build a solid foundation for both tools.
3.Master Data Structures and Algorithms
Data structures and algorithms are the basic building blocks of problem-solving in software engineering and a crucial component of Big Tech coding interviews. Gaba insists that understanding Master Data Structures and Algorithms is the cornerstone of interview preparation.
Rather than creating new content, this course gives you access to a database of all the best existing resources on interview preparation.
“They’re not trying to reinvent the wheel, they’re actually using some of the good resources out there and giving it to you as a structured learning path.” If you’re going to do any course on this list, this is Gaba’s No. 1 suggestion.
4.Introduction to Git and GitHub
Gaba says writing code is only the first step in programming; an effective programmer should also master Git and Github to manage codes, collaborate with others, and track changes over time.
Introduction to Git and GitHub is a 27-hour course that’ll walk you through both.
“By the end of this course, you’ll have the skills to manage your code efficiently and contribute to open-source projects,” Gaba said. “You’ll understand how to create and manage repositories, handle merge conflicts, and use pull requests effectively.”
5.Troubleshooting and Debugging Techniques
Many new coders fall into the trap of spending more time trying to debug their code than actually writing it. Gaba explained that effectively debugging is a skill that can make or break a programmer’s reliability and efficiency.
Google’s debugging course teaches programmers how to reproduce issues, find their root causes, and systematically debug their code.
6.Machine Learning Crash Course
Machine learning, or teaching a machine to make decisions without providing direct commands, is one of the hottest topics in tech and is sweeping through nearly every industry.
Gaba recommends Google’s Machine Learning Crash Course as a great way to dabble in machine learning without being overwhelmed by every algorithm out there. His favorite part is its interactive visualizations and hands-on exercises on Colab.
7.Generative AI
Google’s Introduction to Generative AI course is a quick introduction to the basic principles of GenAI without getting too deep. “It’ll tell you what the large language models or LLMs are and how they tie into things we keep hearing about, like Gemini and ChatGPT,” Gaba explained.
Getting a grasp on this emerging concept can help new programmers feel more prepared to work with these technologies in the future — and it’ll only take one hour.
8.Foundations of Cybersecurity
In our increasingly digital world, data breaches have seemingly become a norm. Gaba says understanding the basics of cybersecurity is no longer optional — it’s necessary.
Foundations of Cybersecurity introduces common cyber threats, basic security practices, and how to integrate them into the development process.
Gaba admits this course won’t turn new programmers into cybersecurity experts, but it does offer a better grasp of security practices used within companies. “It’s designed to help you understand the basics of cybersecurity so you can write code that doesn’t expose any data.” It’s a beginner-level course expected to take about 14 hours to complete.
One of Gaba’s greatest takeaways from these courses is the learning style. You get to implement the concepts instead of just memorizing them.