“Life is like topography, Hobbes. There are summits of happiness and success, flat stretches of boring routine and valleys of frustration and failure.” ― Bill Watterson
Why even write this post?
Generally, I want to get this post out there to the masses as a blanket introduction of who I am, what I do, and what I want to do. I want this to serve as an introductory "Hello" from the imaginary office water fountain in my living room. I want to invite you into my life and hold no reservations about anything. I feel that the best quality of life can only be achieved through up front honesty and empathy. I have found that there can be no inner peace and self-satisfaction with my life, should I attempt to play any games, systems, or politics. So, in carrying that mantra forward in this post, I hope that by the end you achieve a clear and concise picture of Jake Champlin.
Where to begin
First of all, computers have always fascinated me. Scratch that. Empowered me. Given that I was born in one of the first "fortunate" generations of tech-ies, the first computer I ever got to play with was an old IBM PC-350 that had a whopping 1.6GB hard drive, 64MB of RAM, and 4MB of video memory. The mouse weighed a ton, the keyboard was an IBM Model-M, and the resolution would cause blindness by today's standards, but I loved it. [I honestly loved the springs of the IBM Model-M, and they are mainly the reason I have Cherry MX-Blues in my mechanical keyboard today].My father had recently purchased a slew of 5 1/4" floppy disks of Commander Keen IV, Wolfenstein, and Doom. I was hooked. It didn't matter that the machine ran horribly slow, or clunky. I was six years old, playing around in MS-DOS to enable God Mode in Wolfenstein. I quickly crashed the beloved IBM though, as playing around in DOS reading all of the HELP pages (I really hate MS-DOS's internal documenting compared to UNIX) by deleting the entire C:> drive with a single command.
From there my love for video games and mainly everything that John Carmack had created, I loved. Halo LAN parties during high school, World of Warcraft and Diablo binges were routine in my high school career. Drinking nearly lethal amounts of B.A.W.L.S. and staying up for the whole weekend to beat an entire game in one sitting was not uncommon for us. And I loved everything about it.
Getting into trouble and growing from it
I really have to thank my parents looking back, being honest and all. Without being constantly grounded from various electronic devices and locked out of all of our networking equipment I doubt I would have ever learned how a firewall works, or how to reset and reconfigure a router. Getting around my father's security implementations was often more fun than the end goal. I learned how to capture packets of traffic, spoof the mac address of our router, and bypass all content filtering enabled at home.
By the time I had left high school I had:
- Migrated fully to Linux.
- Hacked my iPod Classic to run Linux [So I could play DOOM of course].
- Hacked my PSP to gain access to a wireless web browser before the firmware allowed it. (This was really cool actually. Accomplished via a DNS change in a networked game).
- Two years of AP Java Programming classes.
- Competed in Science Olympiad contests where I programmed and built a mechanical robot.
- Built my own gaming computer.
- Multiple instances of "breaking" our home networking equipment to gain access to the internet. (Which I was always grounded from).
- Learned networking hardware proficiently. Cable termination, Punch Down Blocks, Configuring Enterprise Switches / Routers, etc...
I attended the University of Kentucky for Electrical Engineering. Ugh, I hate even typing that out. I really did not like the circuitry courses and Chemistry. Oh man, I really hated my chemistry classes. I loved the programming classes though. I maintained very high marks in both semesters of C++ programming. I left UK after 1.5 years, and decided to work full time in the food industry. While this was not the smartest choice I have ever made, it sure did make me realize a lot about where I wanted my future to go.
Beginning my professional career
After working full time and living in Lexington, KY for three years I decided to come back home to Columbus, Indiana. I wanted to give school another shot, and decided the local community college in town would be a great place to save money and learn the skills that I would need to escalate my professional career.
I got a job at a local computer repair store and that really sparked my childhood interests in computers. Why I didn't choose Computer Science as my major at UK, I can't tell you. I don't understand it either, honestly.
While working at the local computer repair store I found a full time developer position at a local engineering firm. While the company took a huge risk in hiring me, they could see my potential and hunger to learn. The engineering company was a great first job. They allowed me the freedom to learn and grow at my own pace, while still teaching me the in's and out's of software development. As it was a small company, there was no operations team. The development team was the operations team. This was no problem for me; installing, maintaining, and configuring Linux was what I really loved to do. And I did a lot of it. We ran all of our internal systems with various flavors of Gentoo Linux. Each of our systems ran a different kernel version, different package libraries, and different configurations. This really taught me a lot about the best development and operational practices.
The engineering company has a sister company, a co-location data center, right next door. The previous Systems Administrator had recently left the position open, and I was graciously offered a chance to come aboard after only a year of working in development. I jumped at the offer. I was given the rare opportunity to join the data center's staff, and thus began my first operations career. My very first task was to completely tear down and re-build their entire VM cluster on new hypervisors. I cannot begin to tell you how terrifying and exciting this was. I got to BUILD SYSTEMS! Using QEMU, libvirt, and my love for Linux I rebuilt their whole VM cluster on two new hypervisors; learning as I went.
I had no direct senior administrator to bounce ideas off of, and no outside help aside from IRC channels. There was also no developer at the data center, so I was charged with maintaining and building their internal Rails applications as well. Coupled with the various in-house Nagios scripts that checked various hardware around the building using Modbus TCP, I also developed a brand new Rails application, a Sinatra application, and a few trial NodeJS applications.
Learning how to manage and maintain the virtual machine cluster was one of the most fun and rewarding tasks I have ever accomplished at a job site. It was truly a pleasure to dig, discover, rebuild, and then maintain all of our internal VMs.
I hope to continue to enhance all of my skills in operations and administration, especially continuing to work with open source tools, utilities, and operating systems. I am really passionate about learning cloud infrastructure and automating infrastructure with code. I strongly feel that my background in development combined with administration and operations will help me to grow into a well rounded engineer. Just some of the things that I really want to do in the future are:
- Cloud/Infrastructure Automation
- Docker / LXC Containers
- Build Systems
- Deliver Seamless Product Throughput
- Learn as much as I can
I really feel that culture and community can make or break a company. Some companies have it, some companies claim to have it, and most don't even know what it is. From what I've seen, however, the companies that establish an environment of learning and creating are the most forward thinking and innovative.
Hopefully you've learned more about me from reading this. If you want to chat, I'm almost always on hangouts and twitter.