- Date
About Me
Background
When I was 12, my dad decided to try to teach me Java. He gave me a book called “Head First Java,” and it had just enough silly pictures in it to keep 12-year-old me engaged enough to learn the basic concepts in the first half of the book. The fundamentals I learned then carried over to some high school programming experiences, which included building the initial iteration of this website, some simple Arduino programming for an A.P. Physics class, and some ungodly excel spreadsheet formulas for an aerodynamics design competition.
College
Both my parents are engineers who served in the U.S. Air Force. I followed in their footsteps, getting the Air Force to bankroll my college undergraduate degree–and my master’s degree as well, later on–in exchange for time served in the military.
College, at the Rose-Hulman Institute of Technology, is where I started getting comfortable with a few more languages, like C, Python, and more Java. I also learned things like Matlab and Verilog too.
Since I was an electrical engineer and not a computer science major, most of my coding projects were short and were means to an end for other things, like programming a microcontroller, automating measurements from lab equipment, or writing short scripts to parse data.
After that I went immediately to the Air Force Institute of Technology to get my Master’s in Electrical Engineering, focusing on microelectronics and cleanroom fabrication. I had a great time doing things like automating CAD file generation for micrometer-scale patterns, and learning the ins and outs of LaTeX.
National Air and Space Intelligence Center
When I moved on to start working in the Air Force, I took the “programming is a means to an end” mentality from college with me as I worked on interesting projects, and learned to make use of whatever programming tools were available to me. My first assignment as a military intelligence analyst was a great first experience because all our analysis work had to be done on linux machines. I got used to navigating UNIX environments, and my primary tools of the trade ended up being bash, sed/awk, and perl, with some git version control for the first time. More Matlab too!
Around this time I also started more consciously documenting my programming projects at home, in many cases creating blog posts to record everything that I did. This has helped me immensely to remember what I had previously done, every time I dust off an old project.
36th Electronic Warfare Squadron
I had a great time in my second assignment doing electronic warfare work. I realized early on that having something like python in our environment would be really useful for our jammer signal development. After about a year of delays and paperwork, I was able to get some good software tools installed on some of our computers, and we were able to put together some really cool stuff to both make our jobs easier and increase our mission effectiveness.
This assignment was also when I started development work on the “Bullet Shaping and Iteration Tool,” a mostly front-end web application intended to help with writing Air Force performance reports and awards write-ups. It started off as a crazy idea from some guys on our team, and after a few months of iteration and testing, we had a functional product. Later I publicized the tool on reddit, and now tons of people in the Air Force are using it, several thousands every week!
Air Force IT Infrastructure
My third and current assignment is at the sustainment office for Air Force network. This job has taught me so many things about computer networking that had previously just been black box mysteries for me, like IP addresses, MAC Addresses, DNS resolution, DHCP, IP routing, TCP/UDP, and HTTP.
I also started off essentially learning to be a Linux sysadmin, putting my past experience with Bash to good use. Then I gradually I started learning how to use tools like Ansible, Packer, and Terraform.. and before I knew it I found myself to be a DevOps engineer, crafting up CI/CD pipelines to build up infrastructure for me.