Coding
I have always believed that a System Administrators does not have to be a programer. But all SysAdmins better be able to code. Coding, usually in some form of scripting, is essential to be able to manage systems. When you bring in the concept of DevOps someone who can not code probably better be learning to or looking for a career change.
My History
I have always believed that a system administrators does not have to be a programer. But all sysadmins better be able to code. Coding, usually in some form of scripting, is essential to be able to manage systems. When you bring in the concept of DevOps someone who can not code probably better be learning to or looking for a career change.
I started my coding as a Freshman at UNL in 1996 learning C. From that point on I have always enjoyed solving problems with code. Write it one run it many times. Right? I say that but looking back numerous times I spent days writing a script to run only once to for instance migrate thousands of accounts from one system to another. Even though that code only really ran once that counted, it was worth it.
Over the years as a sysadmin I have gone through many periods of different preferred scripting languages. Starting with Bash, why would you start anywhere else. ;-) Moving on when I needed something more robust I would use Perl, PHP and then Ruby captured my attention with it’s beauty. I apologize can you describe a programing language as “beauty”, when I got introduced to Ruby I felt that way. So even if you don’t agree, sorry you can’t take that away from at least me.. I’m going with it.
As I have matured though with regards to choice of a a specific programming language for a specific task, like Linux distros, I realized you do not need to have a one size fit’s all approach. Sometimes the best choice of a language is what the community has focused on. For instance when I started working with OpenStack, python seemed to be the obvious choice for tools that would benefit from already existing OpenStack libraries. If you can code you can pickup most other languages quickly. After all, back to the python example, how bad could it be? It’s named after Monty Python!
I also have benefited much from utilizing some more specialized coding in the DevOps sense. When managing many nodes Puppet, Ansible & Terraform have saved me unknown quantities of time and preventing me from more then likely more then a few typo human type errors.
My Code
Most of the code I can share can be found on my GitHub profile, https://github.com/thejordanclark or on my GitHub Organization, https://github.com/p42 which I had created to allow collaboration between my friends, coworkers and I. The vast majority of the stuff you will find there are public Docker repos that are built into images on DockerHub, https://hub.docker.com/u/thejordanclark and https://hub.docker.com/u/project42 .