My Path to Programming

[Written December 20, 2023]

I didn’t originally plan to become a web developer.  My first career goals were cartoonist—I loved Garfield—and mechanical engineer.  The latter was because I wanted to design cars for Chrysler.  I liked Chrysler’s styles of the day, like the Dodge Dynasty.  (It’s funny that the world had a different opinion.  I have never been in step with everyone else.)

Programming was only really possible for me because my dad was interested in computers, and a serious nerd himself.  We owned some Commodore machines through the 1980s and early 90s.  He swore he would never own an Intel machine, because he didn’t like the instruction set.  He held out until 1996.

My programming really started out as a sibling rivalry.  I was significantly younger than my brother, but I wanted to do everything he did, and even do it better.  Adults of the day were helpfully saying things like, “You can do anything you put your mind to.”  They didn’t acknowledge that a nine-year-old can’t actually be expected, on average, to outperform a teen.  Anyway, when my brother started programming in earnest, so did I.  We spent a lot of time on spy-vs-spy shenanigans, because I wanted to steal his programs, pretty much.  We almost got to the point of writing our own password protection for our floppy disks.  It was serious.

My brother went off to college, not for programming, and I became ever more fascinated with the philosophy of the machine.  Somehow, these systems were constructed so that writing some numbers to an address would result in meaningful semantics on the screen.  We might say, “I am Blanka, fighting Ryu,” but that is a projection onto a physical phenomenon, mediated by the electronics inside the Super Nintendo.  I wanted to understand how that worked, fundamentally.  How do “numbers” form Ryu?  How am I given the feeling that I have “become” Blanka?

(This echoes my one of my grandfather’s questions, “When you press the ‘A’ key, how does the computer know it’s an ‘A?’”  We tried to explain scan codes, ASCII codes, and font glyphs.  I’m pretty sure that it was too much detail.  Oops.  We didn’t have this much low-level knowledge about the graphics subsystem, especially for the SNES.)

My dad believed that I would grow out of it, and go back to the engineering thing.  “He’s just that age where they’re fascinated by that stuff,” I heard him telling someone.  The real surprise was that I never grew out of it.

My interest in graphics persisted for a while.  I learned GTK+ 2.x on the side in college, then taught myself Perl and PHP because that’s where the Web space was at the time.  I did not really want to pirate Visual Studio, and I otherwise couldn’t afford it, so I learned neither the IDE nor how to do Windows development.  GTK+ ostensibly supported Windows, but I never learned how to build and distribute code there.

The reason I became a web developer specifically, then, is that the Web seemed like the easiest way to build GUIs.  Forms seemed obvious.  Shared hosts started offering PHP and MySQL service, which made it possible to build real little CRUD applications right there in the browser, without having to use the host’s “form processing CGI” to deliver form input via email.  You could run a whole blog there!

The ironic thing is that I usually don’t have a vision, so I have actually done very few things on the Web outside of working on corporate systems.  Perhaps over my entire lifetime, only Quilt Draw🌎 will survive.  And yet… that’s enough.