Approximately one million years ago, I was a young man cooped up in his room, listening to Marilyn Manson on my stereo while I was hunched over my computer. My grades weren’t that great, but my mohawk was amazing. I couldn’t remember the names of the presidents, or the dates anything happened, but I could construct a website that looked like you were in the cockpit of a space ship flying through the stars.
After graduating high school, I couldn’t find a job, and no one in my family had the money for college, so my stepdad encouraged me the join the Air Force. I was a smart kid, he said, and they need smart people. He had wanted to be a pilot when he was younger, but had a heart defect that barred his entry—he hoped that I might go and do what he never could. I considered it, and joined.
The “how” of “how I became a programmer” happened in a singular moment. The recruiter asked me what my hobbies were, and I answered truthfully: “I play video games, program stuff, and make websites.” On the bottom of my sheet, he wrote PROGRAMMER in giant letters, and my fate was sealed. I mean, I did have to pass two tests with fairly high scores to qualify, but still. Had I answered that initial question differently, I might have been assigned the job I actually requested, which involved either sitting in a bunker monitoring for nuclear explosions or parachuting into classified locations to repair hidden satellite dishes, depending on where I was assigned and what they needed from me. Knowing what I know now, I lucked out.
The Air Force Technical School for programmers was a short six week course where we learned Visual Basic, database concepts, configuration management concepts, and other core knowledge. Although they didn’t come right out and say it, I later realized that the course wasn’t to teach us Visual Basic. The course was to teach us how to learn a programming language quickly and efficiently, which we put into practice by learning Visual Basic in a very quick period of time. They taught us how to learn, to recognize the building blocks a language is built from, and to separate the concept from the implementation.
I had a very long career in the AF, and I learned a lot about both programming and people who end up as programmers. When I left, I sought a web development position, because I felt like web technologies were in an exciting place that needed guidance and structure to counteract the wild west culture often attributed to it.
For me, programming is one part art, one part puzzle, one part science, one part emotion. We construct amazingly complex systems in the air above our heads long before we touch the keyboard. We can sculpt the David, reconsider, and use the same piece to create the Mona Lisa, and all the while, the whole of the system is contained in our heads like a live firefly in a jar. It’s frustrating, it’s beautiful, and it’s the only job I could imagine myself doing.