So that’s how I’d do it. But now forget about me: from here on in, I’m going to try to accurately and faithfully present the things everyone else had to say.

Hands-on experience

A good admin is someone who enjoys learning new skills. The best way for you to know whether you’ve got the potential to handle the work is to actually try it out. If the shoe fits comfortably, it’s probably the one you should be wearing.

Here’s how someone on Reddit explained it:

“A book can teach you a lot but what a book can’t teach you is years worth of experience. If you run Linux on your desktop or laptop (or a home server or small VPS somewhere) you’ll be exposed to it every single day. You’re bound to face problems and have to overcome them one way or another. Once you solve these problems you’ll be better off as a result and be able to draw from this experience in the future. If you really want to learn Linux and learn it well then it makes sense to immerse yourself in it as much as you possibly can.”

Critical thinking skills

This one is hard to teach. But maturity and lots of practical experience should improve the way you approach solving problems. Perhaps the pathway to this kind of thinking can be smoothed by focusing on solving complex, multi-part, multi-tool problems. Here are a couple of quick and dirty examples:

“Create a crontab that compresses log files & pushes them to a samba server that he has to mount using fstab”

And…

“Redirects to only parse error streams & throw them in a MySQL server”

Experience can also help narrow down choices by helping you effectively filter your own reactions to a problem:

“Often people make incorrect assumptions, and the most important thing to learn is when you can make assumptions, and when you can’t.”

Knowing your tools

Being up-to-date with current best practices and trends can make a big difference. For instance, rather than spending hours building a script to parse log stream data, authenticate and open a remote connection, and write files to a remote server; a simple invocation of rsync can do the same thing with a fraction of the complexity.

Just realizing that the Bash shell is programmable or understanding the potential simplicity and power of orchestration tools like Puppet can open worlds of new possibilities.

DevOps/containers

And speaking of orchestration tools, more than one commenter suggested that no Linux admin’s education can be complete without some familiarity with virtualization platforms (especially Docker) and the administration tools (like Kubernetes, Puppet, and Ansible) that can make Docker sing and dance for you.

Windows admins

Since admins with experience using that other operating system might be among the potential consumers of a Linux administration education, it’s important to take their existing strengths and weaknesses into account…especially considering that, since the introduction of PowerShell, many will already be quite comfortable with the command line.

More tools

What’s a conversation about Linux without some argument about which tool set is the best? So, to be complete, I couldn’t ignore the comments advocating PostgreSQL, Nginx, KVM, and Kubernetes as part of a balanced Linux education.

This article is, obviously, related to my Manning “Linux in Action” book. This book is discounted on Manning’s site: use code hackernoonlinux50 to get 50% off. There’s lots more fun where this came from, including a hybrid course called Linux in Motion that’s made up of more than two hours of video and around 40% of the text of Linux in Action.Who knows…you might also enjoy my Learn Amazon Web Services in a Month of Lunches.