Recently I was asked how I started programming. Telling the story made me reflect on how sometimes what appears unfortunate on the surface turns out to be a stroke of luck.
When I was 5, my parents decided to buy me a video game console. They were both very busy (my dad getting his PhD, my mom working multiple jobs), so I had a lot of spare time. Nintendos were all the rage, but my dad bought a Radio Shack system, either because it was cheaper or due to his unfamiliarity with popular trends.
We did not own a memory cartridge, so I had to re-type the whole program every time. I also did not know how to touch type, so it would take an hour to type a 5-line program. But I had hours of time every day, so I would do this often.
When I was 8 or 9, the local school offered an introductory programming course, and my dad signed me up. The first day resembled the scene from Karate Kid where the kid discovers to his shock that he has internalized karate without realizing. The teacher handed out a syllabus with an overview of conditionals, loops, gotos (remember this was BASIC), and I knew it all already. I remember being confused. Programming is a challenging school subject, so how could it be the same thing I had been doing for years on my video game console?
I went home and announced to my dad that we can drop the class and get our money back, because I magically knew all the material already. He must've thought I was joking. He insisted that I keep going, even though I learned nothing new from that class.
A couple years later, our family friend (a CS grad student) saw that I knew the fundamentals and taught me LISP for fun. I wrote little adventure games for my brother; "You see a book that says TOM. Read / take / north / south?". Then Pascal and C in high school, the unforgettable euphoria of my first program which drew a circle using trigonometry, and eventually realizing at 16 that computer science was my life calling. There has never been a moment of doubt since.
Last year, my dad mentioned wistfully that he wished he could have given me more material possessions as a child. "You never wore designer clothes growing up," he said, "Kids love McDonald's, and I couldn't take you very often. And you only had that cheap Radio Shack game system with so few games."