This is the second post in a series profiling Googlers who facilitate classes as part of our g2g program, in which Googlers teach, share and learn from each other. Regardless of role, level or location, g2g's community-based approach makes it possible for all Googlers to take advantage of a variety of learning opportunities. - Ed.

If someone had told me when I graduated with a degree in economics that I’d one day be employed in a technical role at Google, I would have laughed. In 2008, I joined Google’s people operations rotation program, in which one experiences three different people ops areas—from benefits to staffing—over the course of two years. After just a few short months, I found myself with a passion for technology and a profound interest in programming that would draw me into teaching a class, Intro to Programming (I2P), to non-engineers at Google as a part of the g2g (Googlers-to-Googlers) program.

Teaching programming to an I2P class at our Mountain View, Calif. headquarters

While on the benefits team, I was assigned a project that involved matching up hundreds of Googlers’ names with their corresponding office locations and job titles. I quickly realized that a few simple programming scripts could probably speed up my work and reduce errors. The only problem was, I had no clue how to write a program.

I began to teach myself the programming language Python, which is known for its clarity of syntax and friendliness to beginners. Slowly, I produced a multi-functional automated spreadsheet, and then a web application to share with my team. My teammates, seeing that my newfound technical skills had saved all of us time, asked me to teach them how to code; thus, in front of a whiteboard in a small conference room, I2P was born.

Since then, more than 200 Googlers have taken I2P. We encourage an open, supportive environment in the class, making it an approachable way for Googlers to broaden their horizons within the workplace and gain new skills. Some of my former students have even moved from roles in global business, finance and people operations to full-time engineering positions. That’s awesome to see, but I love that Googlers can use what they learn in I2P to make processes across the company more efficient—no matter what team they work on. For example, an administrative assistant who took the class streamlined a manual daily task by automating an email response survey for her team.

In addition to solving business challenges, I’ve also seen Googlers using the programming skills they learned in I2P to help others—both inside and outside of Google. Recently, an I2P alum increased participation in Google’s free flu shot program by writing a Python-based enrollment tool that allows Googlers to find appointments online by preferred office location and time. Thousands more Googlers signed up to receive flu shots due to the convenience provided by the tool. Because Google donates an equal number of vaccinations, such as those preventing meningitis or pneumonia, to children in the developing world, this new tool also led to thousands more children receiving crucial vaccinations.

More than 200 Googlers have participated in the 11-week course (the sword definitely helps keep engagement high...don’t worry, it’s foam!)

What’s extraordinary to me is that under the g2g program, the “guy down the hall in HR” can teach programming—of all things—to his fellow Googlers. It’s been extremely rewarding to experience first-hand the results of my students’ learnings. Googlers have taken the principles and skills from I2P and put them to work in time management, email communication and even just having fun re-creating Frogger—leave it to Googlers to span the gamut of I2P skill application. I often think how awesome it would be if every Googler could take I2P and apply what they’ve learned to make processes across the company more efficient.

If you’re interested in learning how to code, here are three tips from the course that you can practice on your own. While I’ve learned these principles via programming, they can be helpful in all kinds of fields!

  • Practice and theory. You learn best when you have something to apply your learning to. With programming, find a project you want to apply your skills to and build the knowledge necessary to accomplish your project.
  • Bad habits die hard. If you are writing messy or convoluted code, you are building habits that will be very hard to break. Better to overcome the pain of doing it the right way initially so that you never have to go back and change.
  • Get feedback. Just because a script "works" doesn't mean it works well. Always get advice from others with more experience so that you are learning how to do things better, not just sufficiently well.