I’m a consultant who makes software and infrastructure. My current project is to teach programmers how to manage their own cloud servers.
I’m not always comfortable with the word “DevOps,” but people use it to describe what I do. If it were up to me, I’d just call it “software”. Designing software and making it work in production are both essential aspects of the craft.
I learned web programming from the ground up. Configuring my own Linux server was part of my first week on the job. I didn’t become an expert on systems, back then, but I learned enough to be self-sufficient. Since then I’ve shipped code in six different scripting languages, on hardware ranging from obsolete Windows PCs to hundred-instance clusters at Amazon. It only takes a little systems knowledge to have an impact, when you’ve got it in your back pocket and can apply it to the problems in front of you.
Earlier in my career, I studied experimental physics. It’s a wonderful subject. You learn to work with your hands. You learn to approach theorists with the proper balance of respect and suspicion. You learn about double-stick tape, and when to apply it to a fifty-thousand-dollar laser system. You learn that no procedure or apparatus is too simple to fail. You learn that to make working things, you must practice the art of repairing broken things.