How can a Linux Administrator improve their shell scripting and automation skills?
- by ewwhite
In my organization, I work with a group of NOC staff, budding junior engineers and a handful of senior engineers; all with a focus on Linux. One interesting step in the way the company grows talent is that there's a path from the NOC to the senior engineering ranks. Viewing the talent pool as a relative newcomer, I see that there's a split in the skill sets that tends to grow over time...
There are engineers who know one or several particular technologies well and are constantly immersed... e.g. MySQL, firewalls, SAN storage, load balancers...
There are others who are generalists and can navigate multiple technologies.
All learn enough Linux (commands, processes) to do what they need and use on a daily basis.
A differentiating factor between some of the staff is how well they embrace scripting, automation and configuration management methodologies. For instance, we have two engineers who do the bulk of Amazon AWS CloudFormation work, and another who handles most of the Puppet infrastructure. Perhaps a quarter of the engineers are adept at BASH shell scripting.
Looking at this in the context of the incredibly high demand for DevOps skills in the job market, I'm curious how other organizations foster the development of these skills and grow their internal talent. Scripting doesn't seem like a particularly-teachable concept.
How does a sysadmin improve their shell scripting?
Is there still a place for engineers who do not/cannot keep up in the DevOps paradigm?
Are we simply to assume that some people will be left behind as these technologies evolve? Is that okay?