• Sahil Gaba, a software engineer at Google, shares his top free Google programming courses.
  • Gaba is a self-taught engineer who used Google’s free and auditable courses when learning to code.
  • Gaba says there’s a course for programmers at every level on topics like Python and generative AI.

Advertisement

Before becoming a software engineer at Google, Sahil Gaba, 33, 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 pricey programming courses. 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 Business Insider.

In the search for resources, Gaba discovered ways to access Google’s programming courses for free. Some of these courses are part of packages that cost roughly $49 but can be audited at no cost, while others are complimentary lessons on Google’s tech-development site.

Advertisement

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 to Google in 2021.

He recommends every programmer take these eight courses that can be accessed for free.

1. Crash Course on Python

Python is among the most popular programming languages for beginners and experts. This course “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 that allows you to apply your skills to a real-world problem. Gaba said this course is particularly useful for folks in data science, web development, automation, and even certain back-end frameworks.

Advertisement

2. Tools of the Trade: Linux and SQL

Gaba said he regretted not learning Linux earlier in his career and recommended others not make that mistake. “Linux is a widely distributed operating system known for its stability and security and practically runs most machines on the internet,” he said. “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 programmers learn it as soon as possible, too. “It’s not anything complex,” he said, “but it’s an integral part of being able to deliver apps.”

Tools of the Trade: Linux and SQL helps users build a solid foundation for both tools.

3. Master Data Structures and Algorithms

Data structures and algorithms are the building blocks of problem-solving in software engineering and a crucial component of Big Tech coding interviews. Gaba described understanding Master Data Structures and Algorithms as a cornerstone of interview preparation.

Rather than creating content, this course gives you access to a database of existing resources on interview preparation.

Advertisement

“They’re not trying to reinvent the wheel,” he said. “They’re actually using some of the good resources out there and giving it to you as a structured learning path.” Gaba suggests that if you’re going to do just one course on this list, make it this one.

4. Introduction to Git and GitHub

Gaba said 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.”

Advertisement

5. Troubleshooting and Debugging Techniques

Many new coders spend more time trying to debug their code than actually writing it. Gaba argued that effective 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 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.

Gaba recommends Google’s Machine Learning Crash Course to dabble in machine learning without being overwhelmed by algorithms. His favorite parts are the interactive visualizations and the hands-on exercises on Colab.

Advertisement

7. Introduction to Generative AI

Google’s Introduction to Generative AI course introduces participants to the technology’s basic principles 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 said.

This could help new programmers feel more prepared to work with these technologies in the future — and it’ll take only one hour.

8. Foundations of Cybersecurity

In our increasingly digital world, data breaches are increasingly frequent. Gaba argued that understanding the basics of cybersecurity is no longer optional.

Foundations of Cybersecurity introduces common cyber threats and basic security practices and describes how to integrate them in the development process. It’s a beginner-level course expected to take about 14 hours to complete.

Advertisement

Gaba said that while this course won’t turn new programmers into cybersecurity experts, it offers 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,” he said.

If you’re a software engineer with savvy career tips and would like to share, please email Tess Martinelli at tmartinelli@businessinsider.com.