Professional Documents
Culture Documents
Full disclosure: I am not a programmer. I just began my 24th year in the IT industry, and let it be known that I am not
a fan of programming. It’s not because I don’t see the utility of it or how awesome it is to develop your own solutions
and applications. It’s far simpler than that—it just does not come naturally to me and takes significant effort to really
piece it together to create solutions and
such that help make my job easier.
As a hands-on IT professional, I can be found working on many jobs at once, attending meetings, and providing
support to colleagues at any given time. So, that’s why learning at least one programming language is so important:
The flexibility of automating tasks (particularly the repetitive ones) frees up time that is better spent addressing
matters that require the personal touch.
The languages listed below were specifically chosen for not only the benefit that they provide to admins in
their current roles but allow for them to pivot into any number of other roles across departments, such as
security and penetration testing, DevOps, and web development.
2
COPYRIGHT ©2020 CBS INTERACTIVE INC. ALL RIGHTS RESERVED.
TOP 5 PROGRAMMING LANGUAGES FOR SYSTEMS ADMINS TO LEARN
PYTHON
The top of the list among many different IT platforms is Python. Some of the language’s strengths are that it’s open
source, supported across most operating systems, easy to use due to its relatively low learning curve, and interop-
erable with any number of industries, like social media, web, administration, automation, and security.
In fact, many of the tools commonly used by penetration testers often include plug-ins to import Python scripts
into their workflow when assessing the security posture of systems on networks specifically due to its agnostic
approach to hardware and software and the facility by
which the scripts can be modified on the fly, as needed.
Also, it is extensively supported by a large community
and offers a breadth of libraries to shorten code devel-
opment time.
BASH
Bourne Again Shell, or BASH for short, is the shell native to Unix/Linux-based systems by default. It is known
for combining its use of commands and applications on systems to construct scripts used to automate just about
anything on a system, including the retrieval of output data, or manipulating said output and channeling (known
as piping) data from one command to another to execute multiple commands against one set of data for added
efficiency.
Roles best suited for BASH programmers include Linux-based systems administrators, automation, and application
development.
3
COPYRIGHT ©2020 CBS INTERACTIVE INC. ALL RIGHTS RESERVED.
TOP 5 PROGRAMMING LANGUAGES FOR SYSTEMS ADMINS TO LEARN
POWERSHELL
Microsoft’s PowerShell (PWSH) has undergone a change in recent years, including limited support for
Unix-based systems, becoming open source, and
most recently adding more support for a large
swath of OSes, including popular Linux distri-
butions and macOS, among others. PWSH was
originally developed as a successor to the CLI
interface found in Windows systems with support
for systems management and role-based services
on servers.
Roles best suited for PowerShell programmers include Windows and Linux-based systems administrators,
automation, and cloud engineer.
RUBY
Compared with most of the items on this list,
Ruby (and Ruby on Rails by extension) is among
the newer programming languages and arguably
the least popular. But that doesn’t mean that Ruby
should be discounted by any means, given its
strengths as being easy to learn and ideally suited
for web-based development and e-commerce, due
in no small part to its focus on clean code and
security.
4
COPYRIGHT ©2020 CBS INTERACTIVE INC. ALL RIGHTS RESERVED.
TOP 5 PROGRAMMING LANGUAGES FOR SYSTEMS ADMINS TO LEARN
community given its facility in aiding infosec pros to fuzz code, reverse engineer files and applications, and
perform a whole host of other popular penetration testing tasks. For anyone who may doubt Ruby’s security
prowess, Metasploit, the powerful framework used to develop and execute exploits on systems worldwide, was
written in Ruby.
Roles best suited for Ruby programmers include web development, pentesting, application development, and
e-commerce.
JAVASCRIPT
Unlike the relative newness of Ruby, JavaScript is among the older of the programming languages listed here, and
there’s a reason it has stood the test of time. JS was developed almost 25 years ago and has on its side speed, compat-
ibility, versatility, and simplicity. It can be found almost everywhere to some degree, but most often on a website
when communicating between clients and servers.
IMAGE: ISTOCKPHOTO
JS is updated frequently, with many of these updates
bringing new functions that allow for greater usage of
resources for web-based applications, mobile devel-
opment (like smartwatches, for example), and games.
Though it’s superior in many ways to other languages,
it isn’t without its share of limitations. There are
dependencies based on the browser installed, because
not all browsers support the same functions and
could “break” apps. Also, it’s not very well-suited
for managing systems and is plagued by a number of
commonly exploited vulnerabilities due to the way in which JavaScript conceals (or rather, does not conceal) code.
Roles best suited for JavaScript programmers include web development, application development, mobile device
development, and games development.
5
COPYRIGHT ©2020 CBS INTERACTIVE INC. ALL RIGHTS RESERVED.
CREDITS
Editor In Chief ABOUT TECHREPUBLIC
Bill Detwiler
TechRepublic is a digital publication and online community
Editor In Chief, UK that empowers the people of business and technology. It
Steve Ranger
provides analysis, tips, best practices, and case studies
Associate Managing aimed at helping leaders make better decisions about
Editors technology.
Teena Maddox
Mary Weilage DISCLAIMER
Staff Reporter
Karen Roby
Cover image
iStockphoto/
SolisImages