Options

I'm An Admin, Why Should I Learn to Code?

SlowhandSlowhand Mod Posts: 5,161 Mod
There have been countless threads on this forum talking about coding-skills among sysadmins and network engineers. In some cases, it's been complaints that there are plenty of top-notch schools offering four-year and graduate programs in computer science, but not enough of them offering IT-related degrees. In other cases, it's been complaints about programming courses required for existing IT degrees that some have found to be tedious and 'useless'.

So, why should an IT admin that's busy studying for server or networking exams bother learning to code, or even go so far as to take a degree focused on the subject? Well. . . maybe because it could get you a job at Blizzard:
Senior Windows Systems Administrator
IT - NETWORK OPERATIONS
Office: Irvine, California, United States

Blizzard Entertainment is seeking an experienced senior Windows system administrator to join a team of system and network administrators. This position will fill a key role in maintaining and optimizing Windows servers and services. The ideal candidate is a dedicated problem solver who can multitask and prioritize tasks in a fast-paced and demanding environment.

Responsibilities
  • Implement and maintain a worldwide Windows Server 2003 / 2008 Active
  • Directory based forest.
  • Design a global patch management solution.
  • Troubleshoot and improve a proprietary .NET based application environment.
  • Assist in Windows / Unix TCP / IP connectivity troubleshooting issues.
  • Standardize and update existing Windows infrastructure.
  • Develop internal application testing and QA environment.
  • Mentor and train other administrators in all things Windows.
  • Share in off-hour / on-call duties.
Requirements
  • A minimum of 5 years Windows Server system administration experience, with an emphasis in managing customer-facing applications and services
  • Extensive Active Directory design and management
  • Experience with patch management tools (WSUS or equivalent)
  • An in-depth understanding of basic network services (DHCP, DNS, SMTP, NFS, LDAP)
  • Experience with Windows system and .NET application performance monitoring and tuning
  • Basic understanding of .NET programming
  • WMI and / or PowerShell scripting and management experience
  • MSSQL installation and administration experience
  • Strong interpersonal and communications skills
Pluses
  • A degree in computer science or a related field
  • Windows Virtual Machine management
  • Windows host-based load balancing experience
  • Technical writing and documentation skills
See those four items highlighted in red? Having some experience in the video game industry, I can tell you with a certain amount of confidence that when Blizzard says "experience with" or "basic understanding", it doesn't mean "I read a Step-by-Step book"; it means that you have data structures & algorithms level programming knowledge and you've written enough C# code and PowerShell scripts to call yourself at least a junior-level coder/scripter. . . in addition to having a professional-level understanding of how to administrate the system the code runs on.

That doesn't mean every single job out there requires you to be both a programmer and a sysadmin, but it does mean that there are jobs you might be losing out on, with great companies like Blizzard for example, if your skill-set falls exclusively on one side of the fence. For those of us with an extensive IT background, working with networking or servers, it's not a bad idea to consider picking up a little bit of coding, or at least scripting, instead of turning our noses in the air and saying, "that's not part of my job."

For those out there just starting out, consider at least getting a few programming-related courses under your belt as you go through college, if you're not already considering doing a Bachelor's degree in computer science. (Or maybe either minor or take an Associate's in CS while studying for your field of interest?) The same can be said for you software-guys: consider taking a couple of basic IT-related courses as you study, or at least consider reading through some A+/Network+ related books, so you're not left on the other side of the fence, losing out on job-opportunities to CS majors who worked as computer lab-techs while they were earning their degrees.

Free Microsoft Training: Microsoft Learn
Free PowerShell Resources: Top PowerShell Blogs
Free DevOps/Azure Resources: Visual Studio Dev Essentials

Let it never be said that I didn't do the very least I could do.
«13

Comments

  • Options
    cablegodcablegod Member Posts: 294
    Excellent post Slowhand! A lot of new Admins come in with that same mindset.
    “Government is a disease masquerading as its own cure.” -Robert LeFevre
  • Options
    SubnettingGoddessSubnettingGoddess Member Posts: 108
    I could have used coding skills (I have programmed in C, Assembler, Fortran etc but it's been forever and ever) when I needed to migrate firewall platforms from Symantec Enterprise (dead) to Cisco ASA (a heinous, heinous task). I had to get someone who actually knew HOW to write code and tell him the logic he needed to follow to create the ASA configs.
    OK, I confess, I do have one certification. I am an ACIA - Arcsight Certified Integrator/Administrator. But it's awarded for attending the class. Woot. And while it's a fine skill to have, my interests lay elsewhere.
  • Options
    XcluzivXcluziv Member Posts: 513 ■■■■□□□□□□
    I believe having some form coding background regarding alot of jobs in IT is key and could be helpful. Even though alot of new technologies being implemented primarily require just knowing how to configure the software, its good to have some knowledge as Slowhand to not miss out on great job opportunities. That job description looks pretty good for Blizzardicon_thumright.gif

    @SubnettingGoddess I remember taking an Assembly language courseicon_rolleyes.gif...I think the smiley says it all, but it wasn't to bad, very tedious with commands though
    LINKED | GTECH | NOTHINGBUTSHAREPOINT - BLOG AUTHOR

    "TRY NOT. DO. OR DO NOT. THERE IS NO TRY" - Yoda

  • Options
    UnixGuyUnixGuy Mod Posts: 4,565 Mod
    This is a very important topic !

    Some *NIX jobs you end up without needing to write any code..but it's still a good skill to have.


    Not only coding, but you should always learn stuff that you don't usually do at your "current" job, if you really want to move to a better job
    Certs: GSTRT, GPEN, GCFA, CISM, CRISC, RHCE

    Learn GRC! GRC Mastery : https://grcmastery.com 

  • Options
    petedudepetedude Member Posts: 1,510
    Learning a little about programming is also good because it helps you understand the innards of what you're working with a bit.
    Even if you're on the right track, you'll get run over if you just sit there.
    --Will Rogers
  • Options
    tpatt100tpatt100 Member Posts: 2,991 ■■■■■■■■■□
    I see scripting skills being asked for a lot and that makes sense. Not sure I could do actually coding though.
  • Options
    SlowhandSlowhand Mod Posts: 5,161 Mod
    Since UnixGuy brought up the topic, I thought I'd post another job-listing from Blizzard:
    UNIX Engineer
    IT - NETWORK OPERATIONS
    Office: Irvine, California, United States

    Blizzard Entertainment is seeking an experienced UNIX engineer to join a group of system / SAN engineers. This individual will design, implement, maintain, and optimize our web networks, servers, databases, and storage systems. The successful candidate will be a dedicated problem solver who can multi-task and prioritize tasks in a fast-paced and demanding environment.

    Responsibilities
    • Receive general instructions from a team lead.
    • Investigate and research new technologies, including software and hardware, based on business requirements.
    • Administer a complex site alone, or assist in the administration of a larger site.
    • Help plan and initiate future growth of the site / network.
    • Manage and gather statistical trending data for capacity planning.
    • Manage novice system administrators or operators.
    • Evaluate and / or recommend purchases.
    • Work with database administrators to monitor and tune the system and database performance.
    • Coordinate with developers to set up new application functions and identify and troubleshoot application problems.
    • Document processes and procedures.
    • Share in off-hour / on-call duties.
    Requirements
    • General administrative work for UNIX and Linux servers including HP-UX 11.i and Redhat Linux servers
    • Solid understanding of a UNIX operating system, including system installation and configuration, paging and swapping, inter-process communication, devices, drivers, and file system concepts
    • Familiarity with fundamental networking / distributed computing environment concepts, such as configuring and troubleshooting TCP / IP systems and processes and the configuration of DHCP, DNS, and local mail relays (Sendmail, Qmail, Postfix)
    • Ability to write scripts in some administrative language (Perl, Python, Shell)
    • Experience with web and application services running Apache HTTPD and
    • Tomcat in a load balanced environment
    • Strong interpersonal and communications skills, for example writing purchase justifications, training users in complex topics, making presentations to an internal audience, and interacting positively with upper management
    • Independent problem-solving and self-direction skills
    • A minimum of 7 years systems administration experience
    Pluses
    • A degree in computer science or a related field
    • Significant programming background in any applicable language
    • Experience with SAN storage (EMC Symmetrix, CLARiion, HP XP, EVA, MSA) and SAN switches (Brocade, Cisco)
    • Comfortable with MySQL and Oracle
    • Ability to do minimal debugging and modification of C programs
    • Basic understanding of Microsoft Windows, user administration, networking, and IIS 5/6
    In a somewhat ironic twist, Blizzard seems to expect more of a programming-background out of their Windows admins than the UNIX guys, at least coming into the job. Again, there are a couple of highlighted sections where both scripting and coding are asked for.

    Scripting on *NIX systems is no small task, anyone who's ever managed a Nagios system can tell you that. And you can bet that those things that are listed as 'pluses' are things you're expected to learn on the job, if you don't already know them. Of course, chances are that with the kind of people Blizzard's getting resumes from, there's a good chance a whole army of non-programming admins are getting beaten out by the ones who know C, Perl, and likely some Java.

    Free Microsoft Training: Microsoft Learn
    Free PowerShell Resources: Top PowerShell Blogs
    Free DevOps/Azure Resources: Visual Studio Dev Essentials

    Let it never be said that I didn't do the very least I could do.
  • Options
    SlowhandSlowhand Mod Posts: 5,161 Mod
    It's also worth noting, in the same spirit, that both jobs require interoperability knowledge between *NIX and Windows. Another area where I see a lot of people snub 'the other side' and pretend they don't need to know anything outside their own comfort zone.

    In a network as large as Blizzard's, and with as many custom applications as they're surely running, you had damn-well better be able to handle at least logging into those Red Hat systems, even if your job-title is Windows Administrator. . . and vice-versa. If you can't, there's someone who can and is just aching to take your place.

    Free Microsoft Training: Microsoft Learn
    Free PowerShell Resources: Top PowerShell Blogs
    Free DevOps/Azure Resources: Visual Studio Dev Essentials

    Let it never be said that I didn't do the very least I could do.
  • Options
    veritas_libertasveritas_libertas Member Posts: 5,746 ■■■■■■■■■■
    This is an interesting, and important topic as has already been noted. For a newb who would just like an opportunity to be brought in as a Junior Windows Admin it seems tough to know what minimal knowledge will be required. For instance, I have seen many different programming/web programming/scripting languages in SysAdmin job ads:

    • Java
    • VBS
    • PHP
    • .NET
    • Powershell
    • Batch
    • HTML
    • WMI

    I'm sure many of you out there are familiar, as well comfortable with these languages. But then there are newbs out there like me who only wish to be given a chance.

    So my questions is what should I start pouring my energy into? I was planning on studying Powershell.
  • Options
    chmorinchmorin Member Posts: 1,446 ■■■■■□□□□□
    I work with a team of network and server admins and we all know some bit of programming and use it to help create solutions to stream line an implementation process.

    Programming is a good skill to have.
    Currently Pursuing
    WGU (BS in IT Network Administration) - 52%| CCIE:Voice Written - 0% (0/200 Hours)
    mikej412 wrote:
    Cisco Networking isn't just a job, it's a Lifestyle.
  • Options
    SlowhandSlowhand Mod Posts: 5,161 Mod
    I have seen many different programming/web programming/scripting languages in SysAdmin job ads:

    • Java
    • VBS
    • PHP
    • .NET
    • Powershell
    • Batch
    • HTML
    • WMI

    I'm sure many of you out there are familiar, as well comfortable with these languages. But then there are newbs out there like me who only wish to be given a chance.

    So my questions is what should I start pouring my energy into? I was planning on studying Powershell.
    I think learning to script and do admin-tasks with PowerShell is a great place to start. I've also found that knowing a bit of HTML and CSS doesn't hurt either, (I've had to go fix errors in HTML code more than I care to admit on a day-to-day basis in my previous jobs.)

    Beyond that, looking at your list, I would say the following:
    • VBS is probably not as valuable of a general skill as it used to be, (steadily being replaced by .NET apps and PowerShell.) You'll still see VBS out there, but mostly as a declining technology.
    • Learning a .NET language, (Visual Basic or C# are the most common,) is something you'll want to dedicate a bit of time to. As I mentioned in an earlier post, it's not just about learning the language, but also programming methodologies and best-practices.
    • WMI is a more advanced topic, but can be very powerful if you know what your'e doing. Something you learn more about after you've developed those C# skills, for example.
    • Java falls under the same umbrella as the .NET languages, you have to spend some time with it to not only become proficient in the language, but also with programming in general.
    • PHP is another one of those 'advanced topics'. Much like ASP, ASP.NET, ColdFusion, and other server-side web development languages, PHP requires some knowledge of web servers, HTML/CSS, and has a fairly steep learning curve.
    • Even as the likes of Windows Server 2008 R2 is out and has LOTS of new features that supplants the need for scripted solutions like mapping printers and drives automatically, learning to write a good batch script is always handy. I can't tell you the number of times I've found myself repeating a simple task, even as recently as last year, and figured out I could just script the damn thing in a few minutes and take off for lunch early.
    At the end of the day, it all depends on where you want to focus your energies. If you're getting into UNIX, then .NET programming doesn't really help you. However, if you move from PowerShell to C#, and then find that you need to learn Java down the road, it's a fairly easy transition between the two C-based languages. It's all about being flexible and willing to learn.

    Free Microsoft Training: Microsoft Learn
    Free PowerShell Resources: Top PowerShell Blogs
    Free DevOps/Azure Resources: Visual Studio Dev Essentials

    Let it never be said that I didn't do the very least I could do.
  • Options
    earweedearweed Member Posts: 5,192 ■■■■■■■■■□
    I started taking a Java course at WGU and feel fairly comfortable with the language now. How similar is C# to Java?
    No longer work in IT. Play around with stuff sometimes still and fix stuff for friends and relatives.
  • Options
    chmorinchmorin Member Posts: 1,446 ■■■■■□□□□□
    earweed wrote: »
    I started taking a Java course at WGU and feel fairly comfortable with the language now. How similar is C# to Java?

    I'm not a pro nor do I know for sure but I'm pretty sure one is object based and the other is not. So probably not very similar.

    Then again I'm kind of talking out of my butt.

    Wiki however has the following for yah: Comparison of C Sharp and Java - Wikipedia, the free encyclopedia
    Currently Pursuing
    WGU (BS in IT Network Administration) - 52%| CCIE:Voice Written - 0% (0/200 Hours)
    mikej412 wrote:
    Cisco Networking isn't just a job, it's a Lifestyle.
  • Options
    earweedearweed Member Posts: 5,192 ■■■■■■■■■□
    Thanks for the linkchmorin. They are actually quite similar. So it may benefit me to eventually continue my Java study and get the SCJA which is what I had planned to do. WGU removed the requiorement for those in NDM to take Java but it seems like it may be good to know.
    No longer work in IT. Play around with stuff sometimes still and fix stuff for friends and relatives.
  • Options
    veritas_libertasveritas_libertas Member Posts: 5,746 ■■■■■■■■■■
    I took a class in C++, deal with batch-files at work on a day-to-day basis, and have some tinker's knowledge of HTML. I guess I'm not a complete novice.

    I eventually want to get into security, and Dynamik keeps reminding me that staying away from programming is not an option so I guess I will have to learn to like it icon_wink.gif

    Thanks for the advice guys icon_thumright.gif
  • Options
    neuropolneuropol Member Posts: 34 ■■□□□□□□□□
    In my experience, it really doesn't matter what programming or scripting language you learn, so long as you learn it well. The real benefit of learning a language is the logic behind it, not what syntax you've memorized. Once you know how to program you can learn a new syntax in a relatively short time.

    Also, a lot of languages are based on C. C++, C#, Java, PHP, Perl(somewhat), Objective C, and JavaScript, among other. While not exactly the same, and with many notable differences, it does ease the transition from one to another.
  • Options
    earweedearweed Member Posts: 5,192 ■■■■■■■■■□
    I feel pretty comfortable with Java and Javascript and also html so maybe that'll help me down the road
    No longer work in IT. Play around with stuff sometimes still and fix stuff for friends and relatives.
  • Options
    Bert McGertBert McGert Member Posts: 122
    Evolve or die.

    You don't have to do anything you don't want to do, but if you can't do what the money-suppliers want you to do then they won't want you and you won't get the money.
  • Options
    thenjdukethenjduke Member Posts: 894 ■■■■□□□□□□
    I have been doing this since the Dos 3.2 days and scripting and programming have always been involved in my job. To just understand the basic concept of what you want to do is great and then looking at how to code it is simple. Learning code does not take long it is more learning the syntax for certain languages.
    CCNA, MCP, MCSA, MCSE, MCDST, MCITP Enterprise Administrator, Working towards Networking BS. CCNP is Next.
  • Options
    jamesleecolemanjamesleecoleman Member Posts: 1,899 ■■■■■□□□□□
    I wanted to get an associates in programming but I just don't have the head to learn it as fast as the class is taught. I feel it would be valuable to learn a programming language. I've been looking at jobs for Blizzard too and I've found a few that I would be interested in. Plus I'm trying to learn other things so I can't go crazy and try to learn everything at once.
    Booya!!
    WIP : | CISSP [2018] | CISA [2018] | CAPM [2018] | eCPPT [2018] | CRISC [2019] | TORFL (TRKI) B1 | Learning: | Russian | Farsi |
    *****You can fail a test a bunch of times but what matters is that if you fail to give up or not*****
  • Options
    RobertKaucherRobertKaucher Member Posts: 4,299 ■■■■■■■■■■
    chmorin wrote: »
    I'm not a pro nor do I know for sure but I'm pretty sure one is object based and the other is not. So probably not very similar.

    Then again I'm kind of talking out of my butt.

    Wiki however has the following for yah: Comparison of C Sharp and Java - Wikipedia, the free encyclopedia

    They are actually quite similar and both Java and C# are OO languages.
    //Java
    class HelloWorldApp
     {
        public static void main(String[] args)
        {
            System.out.println("Hello World!"); 
        }
    }
    
    [FONT=Consolas][SIZE=2][COLOR=#008000][FONT=Consolas][SIZE=2][COLOR=#008000][FONT=Consolas][SIZE=2][COLOR=#008000]//C#[/COLOR][/SIZE][/FONT]
    [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]using[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] System;[/SIZE][/FONT][/SIZE][/FONT]
    [FONT=Consolas][SIZE=2]
    [/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]namespace[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] HelloWorld[/SIZE][/FONT]
    [SIZE=2][FONT=Consolas]{[/FONT][/SIZE]
    [/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]class [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]HelloWorldApp[/COLOR][/SIZE][/FONT]
    [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]  {[/SIZE][/FONT]
    [/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]     static [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] Main([/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][] args)[/SIZE][/FONT]
    [SIZE=2][FONT=Consolas]     {[/FONT][/SIZE]
    [/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]        Console[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2].WriteLine([/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Hello world!"[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]);[/SIZE][/FONT]
    [SIZE=2][FONT=Consolas]     }[/FONT][/SIZE]
    [SIZE=2][FONT=Consolas]  }[/FONT][/SIZE]
    [SIZE=2][FONT=Consolas]}[/FONT][/SIZE]
    [/SIZE][/FONT]
    
  • Options
    dynamikdynamik Banned Posts: 12,312 ■■■■■■■■■□
    While I think the data structures and algorithms level of knowledge for systems administration is likely required at fewer locations, such as Blizzard, having some programming knowledge will more often than not prove to be beneficial. I second the recommendation to start with Powershell for Windows administrators. A basic understanding of web technologies, such as HTML, Javascript, and CSS will likely come in handy too.

    At one of my old jobs, I spent four months writing a PHP/MySQL web app that turned into a very effective project management system. That actually wasn't what I was initially hired to do, but I approached the owner of the business and said I felt I could make things operate much more smoothly. I also wrote a quick C# app that interfaces with it and does some directory management/searches on the file server. I don't know C# well at all, but I knew enough about programming in general to modify the examples I found via Google to do what I wanted to do.

    Programming knowledge can certainly prove to be useful, whether you're expecting it to or not. Having said that, I'd hate to be a programmer and look at nothing but code for eight hours a day.
  • Options
    earweedearweed Member Posts: 5,192 ■■■■■■■■■□
    I second the idea of not wanting to be a programmer staring at code all day. I think that my basic coding skills I currently have may suffice if I add a little (or a lot) of Powershell skills to the mix. I've programmed in Unix, fortran (several differnt versions of the language), basic, (a little) Java, and assembler and feel that I can easily move the basic skills to another language if need be. I also have a little html, javascript, and CSS to add to the mix thanks to my studying these at WGU.
    I've personally kept the programming skills off the resume so as not to get snapped up by jobs that will require a lot of coding. I'll add those in when I get to the Admin level of job hunting though. I can do coding but would prefer not to be staring at blocks of code all day for months on end.
    No longer work in IT. Play around with stuff sometimes still and fix stuff for friends and relatives.
  • Options
    Hyper-MeHyper-Me Banned Posts: 2,059
    Wow. I just think its cool that i mostly qualify for a job at Blizzard (that would be really cool place to work, i think)

    This is, once again, a case of a place listing every single thing they would like to have in hopes someone can fill it; which they likely can't.

    I don't know anything about .NET, Python or Perl and if i was in that area I would apply for that job.
  • Options
    contentproscontentpros Member Posts: 115 ■■■■□□□□□□
    I used to feel the same way about why should I learn to code? In most cases for entry to mid-level sysadmin work or if you are at a smaller company you probably do not need to learn any code. If your ambition is to be one of the super senior admins or do a fair amount of cross-over between *nix and M$ systems, or work in a large enterprise it would do you well to become proficient in at least 1 scripting language. Back in the mid/late-90's my mentor told me to learn linux because its going places (we were primarily a Solaris environment), learn perl "because it is the systems administrators duct tape", and basic scripting in bash. Boy am I glad I took his advice it has paid dividends too many times and made my life easier. Recently I have started down the road to becoming proficient with python and truthfully it has been a ton of fun. Windows powershell is actually pretty powerful if you learn the in's-and-out's.

    If you are planning on focusing on security then perl, python, C/++/#, or ruby pick 2. Another language that is starting to see some traction is Lua. I am watching to see if Lua sticks or is just a fad but it looks like it is getting some quick adoption.
  • Options
    dynamikdynamik Banned Posts: 12,312 ■■■■■■■■■□
    If you are planning on focusing on security then perl, python, C/++/#, or ruby pick 2.

    If you're only doing two, I'd pick one compiled and one interpreted language.
    Another language that is starting to see some traction is Lua. I am watching to see if Lua sticks or is just a fad but it looks like it is getting some quick adoption.

    Nmap, Wireshark, and Snort aren't too shabby. It's also been implemented in unimportant things like WoW icon_lol.gif
  • Options
    contentproscontentpros Member Posts: 115 ■■■■□□□□□□
    @dynamik I totally agree with you on a compiled and interpreted language part. As for Lua my concern is more along the line of when metasploit transitioned to Ruby/RoR many people started drinking the Ruby kool-aid (don't get me wrong I like Ruby super easy to learn) and I think metasploit is the largest ruby codebase out there. But it (ruby) is not exactly known for being a speed demon. There are a number of good tools in ruby but it doesn't seem to once have the following that it did.
  • Options
    dynamikdynamik Banned Posts: 12,312 ■■■■■■■■■□
    You kind of lost me... what does that have to do with Lua? You're just worried popular apps are going to migrate away from it?

    Also, what makes you think Ruby has less of a following than it used to? From my perspective, it seems like it's been picking up momentum. A few security guys I really respect favor it over other languages, and I have to say, I've come to prefer it as well. Any performance differences are negligible for what I do with it. That may not be representative of the world at large though; I'm just speaking from my personal experiences and people I know.
  • Options
    Mojo_666Mojo_666 Member Posts: 438
    Slowhand wrote: »

    So, why should an IT admin that's busy studying for server or networking exams bother learning to code, or even go so far as to take a degree focused on the subject? Well. . . maybe because it could get you a job at Blizzard:
    .

    Are these skills not referring to the .net configuration tools and their usage rather than actually coding .net?
  • Options
    SlowhandSlowhand Mod Posts: 5,161 Mod
    earweed wrote: »
    I've personally kept the programming skills off the resume so as not to get snapped up by jobs that will require a lot of coding. I'll add those in when I get to the Admin level of job hunting though. I can do coding but would prefer not to be staring at blocks of code all day for months on end.
    This is a very good point, as well. If you're not specifically looking for a programming-oriented position, your general resume doesn't necessarily need to include the coding skills that may be secondary to your admin-work. Of course, if you're applying to a job in which it would be an advantage to have them listed, that's where you list what programming-languages you know, (and your proficiency-level in each,) so you'll have the edge you need.

    I kept on getting offers for jobs as a database administrator when I listed myself as having experience with SQL on my resume. I took it off and now only include it, along with a few other things, on a case-by-case basis. This, of course, is true for any skill you would list, like choosing to include Cisco networking skills if you're primarily a Windows-admin that also holds a CCNA, for example. You're probably not qualified to be a Cisco-focused network engineer, so you have to word that resume carefully.

    Free Microsoft Training: Microsoft Learn
    Free PowerShell Resources: Top PowerShell Blogs
    Free DevOps/Azure Resources: Visual Studio Dev Essentials

    Let it never be said that I didn't do the very least I could do.
Sign In or Register to comment.