The Invent with Python Blog

Writings from the author of Automate the Boring Stuff.

How, As a Kid, I Taught Myself to Code

Sun 07 November 2021    Al Sweigart

article header image

I was one of those kids in the 90s who taught themselves how to code by making video games in the BASIC programming language. Later, I majored in computer science, moved to Silicon Valley, became a software engineer, started writing programming books including Automate the Boring Stuff with Python, and then quit my job to write full-time. I now wake up whenever I want and work from home or nearby cafes. I'm financially secure while being my own boss.

This is a completely true story.*

Here's how I accomplished all that by, as a kid, teaching myself to code:

  1. When I was five, my parents bought an 8-bit Nintendo Entertainment System which got me into video games.
  2. In the 90s my parents bought a Compaq 386 PC with a 14 MHz CPU, 40 megabyte hard drive, and ran MS-DOS.
  3. In the third grade, my friend Brian showed me a book from the school library about programming video games in BASIC. (His parents also bought a PC for their home.)
  4. While I was in elementary school, my grandfather gave my a 5 1/4" floppy disk with some BASIC games. As an adult I found out that these games were commonly copied around on university computer networks (my grandfather was a professor). I didn't understand the source code to them, but I liked looking through them.
  5. My parents bought a Compaq Presario desktop with a 100 Mhz CPU, 1.2 gigabyte hard drive, and ran Windows 95.
  6. My parents bought me a 16-bit Super Nintendo and more games that inspired the games I programmed (or at least tried to).
  7. In high school, I made friends with hacker kids (it turned out most of their "hacks" were made up) who showed me how to pirate Visual Basic 4.0. This was when developer tools cost hundreds of dollars, as opposed to today when they're given away for free. The hacker kids also grew up in houses with PCs.
  8. I found a copy of the Borland Turbo C compiler for sale at Half Price Books for $15 (instead of the usual hundreds of dollars). My parents bought it for me.
  9. I started going to the monthly 2600 hacker meetings. People there gave me advice and some direction. I once brought my girlfriend to a meeting, but she felt out place there and didn't come with me again.
  10. I started going to Barnes and Noble after school, pulling thick $80 tech books off the shelf, reading them in the store for a few hours, then putting them back on the shelf. I did this for years. The employees started to recognize me, but they didn't hassle me. I looked like I fit in.
  11. My parents signed up for CompuServ (back when America Online, Prodigy, and CompuServ where the three main online services). I could be online for ten hours a month on dialup, but my parents would also pay the extra $2.50 an hour when I exceeded that.
  12. My parents later signed up for an unlimited dial up service. I spent a lot more time online.
  13. My parents later signed up for broadband internet. They also bought an additional 7 gigabyte hard drive. My hacker friends showed me how to pirate Star Wars: The Phantom Menance.
  14. Junior year of high school, my computer science teacher (my high school had computer science classes) selected me and two other students to represent our school at a citywide programming competition. 14 teams from 14 schools had 3 hours to solve programming problems. The easiest problem was worth one point, and the questions got harder and worth more points. My team scored one point. So did ten other teams.
  15. The programming competition was hosted by a tech company, and they gave every participant and teacher a copy of Visual Studio 6.0. I was amazed, because this was several dozen copies of software that cost $600. (At the time I didn't realize that CDs cost pennies to create.)
  16. Reading the books at Barnes and Noble for free, I studied for the A+ certification exam. My parents paid for the $125 exam fee (and later, the exam fees for the Network+ and i-Net+ certifications). I never did use those certifications to get a job. These days, I don't even bother putting them on my resume.
  17. While I was in high school, my parents bought me a laptop. Because I asked them to.
  18. My older sister worked in a neurology lab as a student. She introduced me to the professor who ran the lab. He hired me part time to create some software for him. The program I created was pretty bad and not all that useful, but he still paid me. He also wrote me a letter of recommendation for my college application.
  19. When I was in college, my parents bought me a newer laptop. Later, they bought me a wifi card so I could get on the internet at cafes. They also paid for my tuition and housing while I majored in computer science.

And that's the story of how I, on my own as a kid, taught myself to code.

(Did I mention all of my hacker friends were boys?)

I'm encountering some readers who aren't picking up on the facetious nature of this post. While everything in this post is factually true, it is satire. No child teaches themselves to code, though software engineers often tell and believe this story about themselves. I, myself, didn't realize how long this list would be until I wrote this post. We've had support, encouragement, and inspiration to follow this path. And we did not have discouragement, subtle or not, that convinced us we were out of place or not "programmer types." We would do well to remember this.

Learn to program for free with my books for beginners:

Sign up for my "Automate the Boring Stuff with Python" online course with this discount link.

Email | Mastodon | Twitter | Twitch | YouTube | GitHub | Blog | Patreon | LinkedIn | Personal Site