Home > Software Development > From Developer to Devops: What System Administration Skills Should You Know?

From Developer to Devops: What System Administration Skills Should You Know?

December 14th, 2010 Leave a comment Go to comments

With the rising trend of devops movement, I was curious about the system administration from a software developer’s perspective. That’s why I sat through Adam Moskowitz’s session “The Path to Senior Sysadmin.” Adam summarized the system administrator’s skills to three categories: hard tech skills, squishy tech sill, and software skills as detailed in following. Again, this is based on my note taken from LISA 2010 conference. For other posts related to the conference, check here.

Hard Tech Skills

Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.

  • All the commands for system administration;
  • System backup;
  • Some programming skills like Shell scripting, Perl/Python, C (read);
  • Software engineering knowledge like versioning, process;
  • Networking knowledge like TCP/IP, routing, switching, application protocols, load balance, protocol analysis;
  • OS Kernel. This is an optional but highly valuable skill that greatly helps performance tuning and optimization;
  • Commonly used operating systems and applications, e.g. email server/client, on both usage and configuration

Squishy Tech Skills

  • Project analysis/planning/budgeting;
  • Process especially in regulated environments;
  • Standards/specifications, not necessarily all the details, but their existence and who the experts are;
  • Business so that you can understand the purposes, business reasons and compliance requirements for some administrative works. For example, if you know some data is easily re-generable, you don’t need to back it up normally;
  • Know outside resources and network with other professional. Attending LISA conference is a good way;
  • Learn adjacent areas like database administration, etc;
  • Know when to ask for help;

Soft Skills

  • Attitude: being helpful and friendly, and get things done;
  • Attitude: know how to talk to managers;
  • Attitude: respect others in company; help people, not complain;
  • Supporting roles;
  • Presentation and speaking;
  • Mentor others

I think these skills especially the soft skills and squish tech skills are highly transferrable. If you are already a good developer, you have probably had these skills. To be a devops, you don’t necessarily have all the hard tech skills. But knowing them is definitely a big plus. For one thing, you may find it’s much easier to communicate with system administrators.

More details can be found from Adam’s presentation slides at here.

  1. December 14th, 2010 at 18:12 | #1

    I think one general problem of defining DevOps is the context. I strongly believe that DevOps emerged from the SaaS space – it just makes perfect sense there. Trying to define DevOps for other spaces is like fitting a square peg into a round hole.

    In the SaaS space developers not only look at the application code, they develop with operations in mind such as deployment, test, configuration, monitoring and management. To pull a tool suite together that covers all those tasks, a developer will use existing services and write code to play with 3rd party APIs or just write apps that do the job.
    That’s what DevOps is all about. It means that the developer is thinking way beyond the functionality of the application taking into account the implications on operations.

    Nik

  2. art
    June 14th, 2013 at 14:59 | #2

    How about the other way around? From SA to Devops: What Developer Skills Should You Know?

  1. December 23rd, 2010 at 03:37 | #1