In some form or another, I have been a systems adminstrator for various Jenkins instances for over eight years. While I wish I could say that has imparted some deep, hard-earned, wisdom upon me, truthfully, it's been about the same as managing any other application: a constant battle of system dependencies, monitoring challenges and upgrades.
"It's better to be on the ground wishing you were in the sky, than in the sky wishing you were on the ground." One of the many sayings that gets told and re-told in the aviation community, has been gnawing at me for the past couple of years. When you're flying regularly, it is certainly a truism. When you're not flying regularly, or at all, it rings false, deafeningly false.
Arriving for Thanksgiving this year, in my luggage I had four cookbooks that I borrowed from a classmate along with a couple of my own. Each book contained a number of recipes for soups, appetizers, salads, casseroles, entrees, cakes and cookies, all from Germany and almost exclusively written in the german language. Keen to my desire to cook german food, my wife decided that the Friday after Thanksgiving would be my time to shine. On the yellow notebook paper, which listed the meals planned for the next few days, the heading for Friday simply read "German Day."
I remember the first time that I experienced "burn out", the manifestation of not physical but mental exhaustion that is alluded to but often not described in the tech industry. I had completed my first semester as a Computer Engineering student at Texas A&M and was an absolute wreck. It was after dinner on a Friday, I had picked up some McDonald's, Double Quarter Pounder with Cheese, not because I liked it necessarily but because my friend Bill had told me it was the cheapest and most calorie dense thing on the menu. He was a junior and wore a calculator watch for purely practical reasons, so I trusted him on these sorts of matters. I finished my abomination of a meal and decided "if I don't get the fuck out of this town, I'm not going come back next semester."
Mid-way through last year, Lookout's investment in JRuby started to really take off. Having struggled with the harsh realities of MRI, we finally had a platform that gave us a way to grow our technology without having to throw out vast amounts of existing Ruby code. After an exciting weekend at JRubyConf EU 2014 and eurucamp I started hacking on a brand new project, one that I hoped would bring Ruby into harmony with the rest of the JVM ecosystem: JRuby/Gradle
Over the past year, I've spent a lot of time hacking in the Gradle ecosysgtem which, for better or worse, has earned me a reputation of knowing Gradle-y things within Lookout. Recently, my colleague Ron approached me with a Gradle problem: using the shadow plugin (a great plugin for building fat jars), he was having trouble excluding some dependencies from the produced jar artifact. I figured I would emulate Mr. Haki's Gradle Goodness series and post one of my own.
In a previous post I mentioned that I have become a home owner, which dictates that I must now spend an innumerable number of hours fixing, tinkering and otherwise causing damage to the home I have purchased. The latest installment of "I bet I can do that" involved the installation of a 52" ceiling fan in my living room.
Just before I head to the bedroom for the night, I walk to the door by the car port, fiddle with the lock, tug on the door handle. It's secured. Sliding door to the porch? Secured. En route to the sounds of my wife's intermittent snores, I check the front door, fiddle with the dead-bolt, tug the door handle: secured. Great, now I can go to bed.
Four years ago today I started work at Lookout, Inc., embarking on the longest journey of my career to date. I had left Apture frustrated with our inability to grow the product and engineering team, but with pockets full of experience at building and deploying service-oriented applications "my way." At the time Apture was literally down the block from Lookout, so on a Friday I left Apture and the following Monday I took my same commute in to Lookout. What I wasn't able to get at Apture, I found at Lookout.
Late last year I changed roles at Lookout from the 'Engineering Lead' of the Enterprise team, to the 'Engineering Manager' for the "Core Systems" team. I've not been keeping track of whether this means I'm writing more, or writing less code on a week-to-week basis. But the charter of Core Systems does mean much more of the software and tools we write can be open sourced, or even started as open source projects.