Welcome

Ever since I was 6 years old, I knew that I was born to be a computer programmer. It was the first time I pressed a keyboard, while exploring my grandpa's 286 PC. I've been coding ever since.

The first stop in this journey of computing was the Atari BASIC programming language. When I was in the 1st grade, all of my friends owned a Nintendo Entertainment System. But the NES was too limiting, as my soul had the desire to create. Purely consuming electronic games was not enough to satiate my curiosity and desire to create things. In my heart, I am a builder.

So I did what I knew I had to do. I asked Santa Claus to give me an Atari XE computer for Christmas that year. And I insisted it must come complete with a keyboard and floppy disk drive attachment. Apparently I was on Santa's "good kid" list, and I spent my Christmas vacation expertly copying Atari BASIC games out of STart Magazine.

I couldn't stop coding, it was non-stop. During one of my sessions, I looked over and I couldn't help but notice my He-Man action figures collecting dust, sitting in the corner of the room within my Castle Grayskull playset that I also got for Christmas that year from Aunt Susan. I knew in my heart that the only way to truly defeat Skeletor was by having the power of computing — to control the flow of electrons and bend them to my will. Yes, I had the power.

Soon I was mastering my craft and understood completely what I was doing. I knew how to instruct that 8-bit processor with precision, breaking out into 68000 assembly language opcodes as needed when I had to communicate in the language of the hardware.

I graduated to QBasic when I was in the second grade, and used the knowledge I had accumulated over the years to craft state-of-the-art QBasic games such as "Simpsons Trivia" and "Seattle Mariners Trivia," in which I quizzed users (mostly my mom) on their knowledge of topics such as Bart Simpson and Ken Griffey Jr. Indeed, I was wielding the power of computing with the same grace and force that Griffey wielded his baseball bat. With the same speed and precision in which he would leap over the fence to catch a ball. At this point, I decided I no longer wanted to be a professional baseball player. I was made for this, and this alone.

My friends on my baseball team thought I was crazy becasue they had no doubt I was going to go pro. But I quickly put their skepticism to rest when I showed them that I didn't need to understand the complex borrowing and regrouping that is needed to subtract 2-digit numbers (Mrs. Arnold, our 2nd grade teacher at Salnave Elementary School, was trying so hard to teach us this concept). I quickly typed a program (I was clocked at 43 words per minute typing it in to the QBasic editor) to demonstrate to my friends that computers could do subtraction for me.

The first time I used the internet, I was 11 years old. My friend introduced me America Online, a very primitive internet service provider. The futurist in me immediately understood how this would change the world. But while my friends were limiting themselves to the walled gardens of AOL and ICQ Messenger chat rooms to talk to girls in Cali, I was browsing Usenet, Gopher, and communicated exclusively on IRC. The sky was the limit, and this technology would solve all of the world's problems. If the human population was able to communicate across the world at light speed, misunderstandings would vanish. Nothing would be lost in translation. I would have to act fast.

When I was 14 years old, my dad's 486DX PC was low on disk space, so I deleted System32.dll from the Microsoft Windows installation. Although the computer no longer booted, my desire to program was unstoppable. This was merely a bump in the road. I borrowed The Linux Bible from the Cheney, Washington public library in order to access the included Slackware Linux installation disk. Installing Slackware led me to a path of awakening in which I was configuring and compiling the Linux kernel so that I could listen to the MP3s I downloaded from Kazaa, using nothing but the command line interface. Graphical interfaces, it turned out, were inefficient and slow. Only by using the keyboard exclusively could I keep up with the speed at which ideas and thoughts were being transmitted as bio-electrical impulses through the neurons in my brain.

I don't remember much of my high school years, except for playing Pokémon Red on the Game Boy. But after I graduated high school, social media took off. I knew immediately that it was going to redefine how humans interacted with each other. It became effortless for me to post status updates about what I was doing so that all my friends would know. I could remain in contact with friends and family, while not having to put in any effort to maintain these relationships. In light of this, I stopped working on the personal blogging software that I was writing in PHP and MySQL and decided that after I finished playing Pokémon Red, I would focus my efforts on a new social network — one that was like MySpace and Facebook, but better.

Ahem.

Since then, I have gone on to earn a Master's Degree in Computer Science and Engineering from the University of Washington. While pursuing my degree, I studied a wide range of topics, from theoretical computer science to distributed systems, networks, databases, machine learning (AI?), and computer graphics.

I have also had a productive career as a software engineer, working for both large tech companies maintaining software used by millions and as an early employee at small startups building things from the ground up. I have been at one startup that has failed. At my current company, I have seen us grow from zero users to tens of thousands and have witnessed the company itself grow from 4 employees to over 70. And it is continuing to grow.

Currently, I write full-stack code (contributing extensively to both our front-end applications and our actor-based distributed back-end system), primarily using the F# programming language. I consider myself a software generalist and can meaningfully contribute to a wide range of applications using both high-level and low-level programming languages.

Because I work for a small (but growing) company, I take on whatever role is necessary. At the moment, the title of Staff Engineer has been bestowed upon me. I contribute extensively to architecture and code, while also working cross-functionally to ensure my team is well equipped to make progress in their own work.

Throughout my career, I have worn many hats, including individual contributor, team lead, product manager, engineering manager, architect, customer support, and user.

Free to contact me:

Contact info

Author: Caleb Gossler

Validate