To be success in this new age of enterprise infrastructure, every systems administrator needs to be able to write code and be able to read other people’s code. It’s a skill us admins need to be developing.
The Start to My Software Development
When I went to college, I did not study computer science. I studied what was called Industrial Technology. Today, it’s called Computer Systems Technology. It was a great major for people who liked working with their hands, but didn’t want to code all day. This major exposed me to switching and routing, circuit boards, C++, Java, and Windows infrastructure. I even had some exposure to 3D graphics. It was great because I got to learn about infrastructure and the fundamentals to software development. The major exposed me to everything that I needed to start my career in IT infrastructure.
Taking Skills and Beyond
I was able to take these skills with me to my first job where I added real life experiences. I learned about VPNs, firewalls, and SANs. I used the background from my major and what I had learned in C++ and applied it to PHP and MySQL to develop an in house web ticketing system. I remember coding everything from scratch. I even wrote all the HTML tags by hand in notepad. The self torture was so I could learn the syntax. I was teaching myself a new language. I of course didn’t see it that way as I was developing, but I was teaching myself the basics.
As I started to get past some of the basic syntax, I started to use other editors beyond basic notepad. Once I had a good foundation under my feet I started to Google how to run specific functions and ran across snippets of PHP code written by others. I used these examples to enhance the code I had written and learned how to better write PHP. I expanded my Google searches from single bits of code, to searching for full versions of software written in PHP/MySQL. If an install didn’t go well, I had acquired the skills to open configuration files and modify them to fit my needs.
Applying Skills to Infrastructure
I’m using the same sets of skills that I used for PHP for today’s infrastructure. I’ve chosen a language, PowerShell, and I’m Googling how to perform specific operations. I’ve started exploring Github and what it has to offer. I’ve looked at a couple of different projects to fill gaps instead of writing the code from scratch. I’ve had a few instances where I’ve had to open the bits and change them to apply to my environment. The biggest difference from when I was modifying PHP to now PowerShell, is the reach of my changes. When I was changing code in PHP it was for a single service or server for the business. When I make infrastructure changes with code, I can modify all services on all servers for the business.
I went to the Indy VMUG UserCon in August and there were two keynote sessions. One from Eric Wright who introduced the crowd to Docker and gave a demo of the benefits of containers. He talked about automation and getting familiar with the syntax. The majority of what he was showing us was…code. The second keynote was by Josh Atwell. He too was talking about automation and to use existing tools inside of vSphere like Host Profiles and tags to automate daily tasks. He went outside of this siloed application and talked about other tools like orchestrators and configuration management. Once again, step outside of a system, it comes down to being able to write code.
It’s amazing how everything repeats itself. I first started in IT back in the mid 2000’s. I spent a good chunk of it learning the foundation of IT, but I also learned how to develop code. I learned how to download open source software and configure it for my environment. The same skills I learned then have helped me today. Now I can go to one central location where a lot of people are contributing and download the software. I need to know how to change configuration files or open an editor to change settings. You don’t have to be a full time developer, but knowing how to write some basic code and the ability to read code will help all system administrators today and beyond.