If you work in IT, be it as developer, sysadmin, devops engineer, devoops engineer (as I am), or any other function/title, you probably already came into contact with that one guy (or gal, or X) that talks in quotes. And guess what: I'm that guy in our team! So let me enlighten you with a few pieces of knowledge:
The Two Hard Things in IT
Everyone knows there's only 2 hard things in IT right?
- Naming things
- Cache invalidation
- Off by one errors
But what about DNS? Well, DNS is just a fancy way of caching how we name things right?
Seriously, every meeting we have where we are designing some tool and we need to provide a name for it… You just know you're not going to be home before dinner. Some of our latest creations: ARR: Automatic Resource Request tools. Pronounced like a pirate.
The boyscout rule
You know, when you're working on a piece of code, and a few lines below or above the code you're working on you see something like this: “TODO: remove once we have this implemented”. And that thing that's referenced here is already obsolete itself so what do you do? You remove it! You do like the boyscouts would do: leave the campground cleaner than you found it! Same principle applies for documentation, procedures, you name it!
The Tenth Floor test
A very famous test for anyone who automates their infrastructure: will it survive the tenth floor test? It basically means, if your server were to be dropped from the tenth floor, how long would it take you to recover? If you can do it with a single run of some automation tool and recovering some backups, you're almost there. If you can say that your infrastructure will automagically rebalance into another availability zone, then drop me a note, I want to come work there!
The end goal of automation: sitting on a beach sipping cocktails
Another one for the configmanagement guys amongst us. What's your endgoal in your project? It should be the following: sitting on a beach sipping cocktails. Everything should be automated: bootstrapping the infrastructure, scaling-out, scaling-in, backups, monitoring, onboarding/offboarding users, … The system should be able to do whatever it's supposed to do with minimal human intervention so you, the sysadmin can enjoy some cocktails on a beach. Job done!
No such thing as temporary in IT
Pretty self explanatory: there's no such thing as temporary in IT. I've put ‘temporary’ fixes and scripts and tooling into place that have been there for years, with no plan of phasing it out or obsoleting it. Really, if you're writing a temporary fix, spend the extra effort, go that extra mile and deliver something that's maintainable in the long run because trust me, you're going to have to maintain it! It'll be there for a while!
Dance like nobody's watching, encrypt like everyone is
Keep it secret, keep it safe! If the tool you're using provides a way of using SSL, then freakin’ use it! Even if it's only in your internal network, you never know who might be watching! I know I'm always watching on my network, so feel free to use my guest wifi without connecting back to your own VPN ;)