Introduction

My journey learning to code started when I graduated from college with a political science degree. After I left school, I struggled to get a job. I didn't have the skills employers were looking for, and I watched as my friends who studied more practical subjects went on to get high-paying jobs. Meanwhile, I was stuck applying for jobs and not getting them, making no money, and feeling like a failure. So, living in Silicon Valley and being surrounded by coders, I decided to try to learn to program. Little did I know that I was about to start the craziest and most fulfilling journey of my life.

This attempt wasn't my first shot at learning to code: I had tried to learn to program in the past without success. During my freshman year of college, I took a programming class, found it impossible to understand, and quickly dropped it. Unfortunately, most schools teach Java as a first programming language, which is challenging for beginners to understand. Instead of Java, I decided to teach myself Python, one of the easiest languages for beginners to learn. Despite learning an easy-to-understand language, I still almost gave up. I had to piece together information from many different sources, which was frustrating. It also didn't help that I felt like I was on my journey alone. I didn't have a class full of students I could study with and lean on for support.

I was close to giving up when I started spending more time in online programming communities like Stack Overflow. ...

Get The Self-Taught Computer Scientist now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.