If they aren’t now then Infrastructure 2.0 may force them in that direction - and vice versa.
My brother (yes, it does run in the family) has a degree in computer science which, by most definitions, makes him a developer. That’s the focus of most computer science focused degree programs, much to the chagrin of the myriad other IT-focused specialties like networking, security, and operations.
Interestingly enough, he worked his way through college as a sysadmin and his first job out of college was as a sysadmin. And now he’s doing a little of both. That’s not unlike my own experience in which I often did “dual duty” as both sysadmin and developer, depending on where I was and what the organization needed.
Listening to my brother and drawing on my own experience, it sure seems There are a lot of similarities between the two seemingly disparate roles of administrator and developer; perhaps a lot more than we are usually willing to admit. After all, if you’re a developer then they just don’t understand what you do. If you’re an administrator, then they don’t understand you or the complexity involved in just getting through the day. Organizational silos cause a lot more “us”and “them” than is actually found in reality.
But let’s take a closer look at the definition of a "developer.” Notice it concerns itself primarily around the creation of programs:
A person or organization that designs software and writes the programs. Software development includes the design of the user interface and the program architecture as well as programming the source code.
But anyone who has been a network or system administrator for more than 0.5 minutes knows that this definition applies just as easily to folks who would not traditionally be considered a “developer.”
SCRIPT, SCRIPT, SCRIPT TO MY LOU
There have always been scripting languages. There is Ruby and PHP and ASP and JSP. Command-line focused scripting languages, too, abound from bash to PowerShell to TCL to PERL and Python. The biggest difference between most scripting languages and other development languages like C/C++ and Java is that there is rarely an explicit “entry point” into a script. There’s no “main” function that kicks things off because the entry point is implicit; it starts at the top of the script (excluding functions, of course) and starts executing.