Celebrating Programmer’s Day: pride, perseverance and patient parents
From mobile phones to the internet, technology has revolutionized our lives — and we have programmers to thank for it. And, fortunately, now we can. Falling on the 256th day of the year, Programmer’s Day recognizes the works of programmers everywhere, from code hobbyists to technological innovators.
It should come as no surprise that Programmer’s Day has a special place in our hearts. To celebrate, this year we asked our engineers to tell us about the first program they wrote that they were proud of. We learned a lot. And, as it turns out, we discovered that many of our engineers have very patient parents. Read on.
Not surprisingly, many Googlers started out by writing their own games. Jen Tong wrote a text adventure game in the mid-’90s. “It was 20,000 lines of QBASIC spaghetti code. Recognizing that IF and GOTO were enough to write any program, I disregarded my father's advice to use loops and subroutines.” But there was an unexpected upside to her efforts. “Terrible as it was, it inspired several of my friends to sling their own code.”
Todd Kerpelman, a Firebase Developer Advocate, created his first in BASIC for the Apple IIe. “It had everything,” he says. “A blocky-looking dragon, a blocky-looking sword, and a booby-trapped room where you had to avoid blocky-looking blocks that fell from the ceiling. I'm pretty sure 30% of my code was GOTO statements.”
Jonathan Rochelle, Director, Product Management, also used BASIC to create his own game. “[It was] an interactive graphic which had a space ship shooting downward at growing sticks. It was on an Atari 800 using the joystick and was not at all fun to play after the first 30 seconds.” But although technical sophistication wasn’t always in reach, the possibilities excited our engineers.
The “first person driving game” Product Manager Eric Anderson created was essentially a square car and a horizon line, but he could see the potential. “It took me forever to create obstacles (more squares) that came towards my car. Once that was working, I was filled with excitement. The possibilities! I got my car moving left to right. Then I adjusted speed (the rate at which obstacles moved down from horizon). Then I added colors, wheels on my car, and the shape of the obstacles. I couldn't stop!”
We also learned programmers are a pretty dedicated bunch when it comes to seeing their inventions come to life. Global Field Marketing Program Manager Sowmya Ramakrishnan wrote her own C++ code at 15 to sort numbers. “Back then laptops didn't exist,” she tells us, “and we got one hour in a week to access computers in our school lab. Three of us shared one computer. So we would write the code in our notebooks — yes, the paper ones! — before the lab and use the time in the lab to type out the code on borland editor. It was super exciting to see a black and white monitor display the string of sorted numbers!”
Eric Ness, Technical Program Manager, Site Reliability Engineering, cobbled together an 8080 based S-100 microcomputer by buying up used computer boards and repairing them. “Back in those days, most students needed to go to the computer center to use a terminal but there were also dial-up lines available. I wanted to do my computer assignments from the comfort of my own apartment so I wrote a terminal emulator program in 8080 assembly language. My program did a reasonable job of emulating a VT-100 and could also echo the data to a printer. This program was a big time saver during my last year of school.”
Some young programmers used their budding skills to assist their parents. Douglas Dollars, Product Roadmap Program Manager, wrote an application launcher for his mom using AppleScript on an LC III. “Apple’s usability was no match for six large icons offering direct access to jigsaw puzzles and photos.”
Of course, sometimes our dedicated programmers were perhaps a bit too dedicated for their parents’ likes. “In third grade my uncle gave us his used Macintosh SE, showed me how to use QuickBASIC to make my own games and gave me a copy of ‘Creating Adventure Games On Your Computer,’” explains Brad Svee, Head of Solutions, Americas West, GCP. “I followed the guide, made my own adventure game, but changed a lot of how the game flow worked, and had to translate some of the example code from regular BASIC to QB. The last game I made was huge and amazing, and I was super proud of myself — but that was short lived. My game had somehow managed to overwrite a large portion of the 20mb hard drive, corrupting components of the OS and overwriting my mom's TurboTax files. Many tears and $1000+ later, she got some of her files back and the computer worked again, but I was relegated back to the Commodore-64 for any programming I wanted to do.”
Bill Prin, Developer Programs Engineer, came up with a creative way to convince his mom he was using his computer time for constructive uses. “I was trying to learn to make games with QBasic, but my mom limited me to an hour a day on the family computer since she thought I was just playing games. So I made a program that filled the screen with ‘I Love You, Mom!’ in different colors and sizes, which made her lift the restriction. Then my computer privileges were promptly revoked again when I deleted her dissertation draft trying to install Linux."
Here are more stories from our Google Engineers. We’d like to thank everyone who contributed their memories. Happy Programmer’s Day, everyone. See you next year.