Born to Code
Depending on what you define as programming, I started coding at age 9. It was just drag and drop visual blocks, but still it seems crazy! I remember asking my dad to teach me C++ the summer before I turned 12. We first did a command line program that asked you what your name and favorite food was and printed that out. And then I remember that I was reading a cryptography book at the time so we started to work on a program to solve Mono-Alphabetic Substitution Cyphers using Frequency Analysis. That turns out to be a pretty tough challenge, especially for my limited attention span at the time (and even now). And given that I insisted on typing the code myself I’m sure that my dad had a limited amount of patience with the snail’s crawl of the cursor across the screen. So we never finished that project, but that doesn’t detract from the experience. I’ve even gone back to try to finish that project multiple times, even starting a rewrite. I still have the original code and the rewrite on Github called Codebreaker. We used 8 width tabs for indentation. Blah!
I remember being so bad at spelling, typing, and knowing what to type that my dad had to literally spell out that key to press on the keyboard. He would say sentences like “print line, p-r-i-n-t-l-n, open parenthesis, double quotes, percent sign, d, closing double quotes, comma, x, closing parenthesis, semicolon.” Slowly we got so that he didn’t have to spell out keywords, and next he could just say “print out x”, and eventually he would just outline a function on paper and tell me to implement it and go drink coffee, and by the time I was in high school (not that we were still working on Codebreaker), I might ask him how to do something and his response would involve syncing the GUI thread and the processing thread to pass image data between. Then at the dinner table I might bring up something that I had read and that would trigger a 30 min lecture on virtual memory and page tables, or endianess, or some .NET thing he did at Compuware, or stories about using the mainframe at University, or doing whatever (compiler stuff?) he did at DEC.
At school I have the opportunity to work with other students who didn’t start programming until they got to college, which means I had a head start in some classes, but it also gives me perspective on the privalage that it is to be born into this profession. Even my mom more subtly guided me down this path with FIRST Robotics, but those are memories for a different day. Basiclly, I’ve been programming for a decade now. I’d say the last 5 years of that have been at a more than beginner level. A decade. That’s more than half of my lifetime! It doesn’t seem like that long, but those first memories are so faded that they could’ve been a lifetime ago.