At the Brainiac Corner, we meet with some of the sharpest minds in the system, database, devops, and IT world. If you’d like to share your thoughts on pirates, ninjas, the future of system administration, or any other relevant topic, please don’t hesitate to contact us.
This week we are lucky to interview Sam Lambert, GitHub Database Administrator, and general all around badass. When he’s not surrounded by many leather bound books, Sam tweets @isamlambert, even sometimes about VividCortex
How did you get from stork to brainiac (i.e. what do you do today and how did you get there)?
I started as a Linux Sysadmin working for an Ecommerce company then moved on to a large scale telemetry project that tracked diagnostic data for electric vehicles. The project started as a proof of concept but rapidly grew to the stage where we were processing terabytes of new data every day.
Working with MySQL at this scale really helped me level up on availability and performance.
Since then I have worked with various companies doing DBA work and now I am working at GitHub.
What is in your group’s technology stack?
Ruby, C, Linux, MySQL, Redis, Memcached, Nginx, Unicorn, HA proxy, Go, Git.. lots of Git.
Who would win in a fight between ninjas and pirates? Why?
I would love pirates to win because they are slightly cooler with all the rum drinking, but I think ninjas have got this one. I think there are too many attack vectors for pirates, such as being drunk, less trained and one eyed.
Which is a more accurate state of the world, #monitoringsucks or #monitoringlove?
I would say #monitoringlove as I am an optimist and want to believe that we can continue to make monitoring better. At GitHub we work hard to make monitoring awesome and our friend Hubot helps us out with that.
In six words or less, what are the biggest challenges your organization faces?
Scaling with rapid development.
What’s the best piece of advice you’ve ever received?
Take two steps back, there’s always some extra context that you can gather.
What principles guide your expertise in your given domain?
I like to think about first principles when it comes to problem solving. Thinking about what you are trying to achieve and what the story looks like that gets you there. If you are optimising for performance you should first define what performance means to you and your application.
What is your vision for system administration in 5 years?
I believe the future is writing automation and then debugging what you build. It used to be that if you have to walk into a datacenter to fix stuff you are doing it wrong, in the future if you have to SSH to a sever you are doing it wrong.