Getting Started

There are a ton of things that I had to learn on my own or on the job from resources that I found online. These are some links and guidance that I used when I was starting out, and continue to use as I grow. My hope is that someone who wants to get into this line of work will find this and learn some things they don’t know that will bring value to their career.

The job boils down to installing code (that you or another person wrote), setting the correct variables (either through configuration files or environment variables) and then running that code (with systemd, kubernetes, etc). The more you know about how computers execute the code you’re trying to run, the better you will be able to troubleshoot and fix complex problems.

You need to get comfortable on the command line. Many important administration tools are ran from the CLI, and during an incident you will likely have an SSH session open to debug real-time.
The line of work has changed over the years. Previously, servers were manually configured, with minimal monitoring. As the number of servers running has grown, you need to be able to automate things. This involves learning how to program. Good starting languages are Bash, Python, and Ruby.
When computers talk to each other, they use known protocols to communicate. These are heavily used in this field, and the more you know about them, the better.
After learning the basics, you'll need to learn the more advanced aspects of the job.
A side project that I have with a walkthrough on the hows and whys.