Alex Nobert 03/09/2011

So You Think You Can Ops?

Or: How does one stand out from amongst a crowd of operations candidates?

This question, in one form or another, has been posed to or around me numerous times over the past few months. It is fresh in my mind because, as it happens, Shopify is presently looking to hire a few good operations engineers. Last week, I answered just such a question on Quora. I am reproducing an edited and expanded version of my answer here, hopefully to the benefit of a few highly-qualified candidates (hint, hint).

Be passionate. This sounds wishy-washy, but it almost always shines through. Spend time setting up your own systems and networks. Keep up-to-date with new technologies and most importantly, use them. It may not count for as much to larger corporations, but your own personal (by which I mean non-professional) experiences with relevant technologies are just as useful and infinitely more telling; it shows that you take initiative and enjoy the type of work you would be doing.

Have a presence online. When we hire developers, we look for github repos, open-source contributions and personal projects. It’s not quite as easy for admins, but it’s not impossible. Some easy ways to establish a presence include participating at serverfault and Quora, blogging about new technologies and expressing your opinion. Always be mindful of what you publish online; if it’s out there, prospective employers will find it.

Write a web app. It doesn’t have to be anything big. Hell, make your own blogging software if you want to. What it is does not matter; what matters is that you do it. Team up with a developer if you can. You can literally create relevant experience, and you will learn a ton about operations and devops in the process. I believe this is the greatest thing candidates with limited experience can do to help themselves.

Be a good person. Yes, your primary responsibilities will be to work on servers, but don’t think there is no human interaction; you will spend a lot of time interacting with developers in addition to members of your own team. This is especially true when working for a web services company. So make sure to show prospective employers and colleagues that you are someone who they would enjoy working with—friendly, courteous and happy to help.

Automate everything. This goes beyond cron jobs and a few bash scripts. If you ever want to take vacation or get something approaching a good night’s sleep, it would behoove you to know how to automate provisioning servers, deploying applications and backing up your database. We’re big advocates of Chef, but there are a lot of shops using Puppet out there.

To the cloud!. And I’m not talking about downloading Microsoft Photo Fuse. Amazon recently introduced a free usage tier for new users of Amazon Web Services, so there’s no excuse to not familiarize yourself with EC2 and S3, two of the more popular cloud services out there. Bonus points will be awarded for having used the APIs.

Be on the cutting edge. Anybody can setup Linux, a web server and MySQL; if you want to work with the latest and greatest technologies, it would make sense to know a thing or two about those technologies. Here at Shopify, we do not shy away from new technologies, and we expect the same of our operations staff. If I see practical redis experience on your resume, you’ll probably be getting a call from me.

And of course, all the general advice applies, i.e. learn about your prospective employers, show an interest by asking questions during interviews, find out about your interviewer if possible, be thorough with your correspondence, etc. It’s not hard to spell-check, but it says a lot about you when you don’t.

I hope this helps someone out there in their quest to be the next operations superstar. Why not at Shopify? We’re looking to hire a few good Operations Engineers.