DevOps / Sysadmin

A DevOps Engineer ensures efficiency, security, maximum speed and quality of software development, and timely release of updates. This profession is the link between developers and infrastructure. The DevOps Developer is sometimes referred to as an "advanced version" of a system administrator with programming skills. A system administrator ( sysadmin ) is responsible for setting up and ensuring stable operation of hardware, networks (if there is no separate network administrator), and software. He/she solves problems that arise in the information infrastructure ; and improves and modernizes the infrastructure.

Job responsibilities

  • Install and maintain hardware
  • Configure and run a cloud or local server and infrastructure elements
  • Install, configure, and update system and application software
  • Support users, organize the work environment and remote access
  • Provide data backup and, if necessary, recovery 
  • Ensure information security
  • Diagnose software and hardware problems, troubleshoot issues, plan risks.


In small companies, system administrators also perform the functions of network administrators.


DevOps Engineer's responsibilities include:

  • Writing server-side scripts
  • Automating server deployment
  • Deploying updates and fixes
  • Automating processes related to configuring and deploying applications
  • Ensuring information security
  • Communicating with customers and developers
  • Installing releases received from the developers 
  • Implementing systems for monitoring, rapid detection, and correction of technical problems
  • Building CI/CD pipelines
  • Analyzing the technologies used by the company and developing strategies for their improvement and modernization.


Skills

The sysadmin 's knowledge and skills include:

  • Deep knowledge of operating systems
  • Knowledge of monitoring systems for computer network services (Zabbix, Prometheus) 
  • Ability to diagnose and fix software and hardware problems

Understanding of virtualization systems (for example, VMware, OpenVZ, MS Hyper-V, KVM) would be a plus.


Employers appreciate system administrators who are readily available outside of working hours to fix urgent issues.


DevOps Engineers should know:

  • At least one programming language at a level sufficient to write automation scripts. For example: Python, Ruby, Go, PowerShell, Groovy, Bash
  • At least one operating system (for understanding on which server the product will be installed, in which environment it will run, and with which services it will interact)
  • Version control systems (Git)
  • Docker and Kubernetes orchestration systems
  • Configuration systems, such as Chef, Ansible, and Puppet, for automating repetitive operations on servers.


A DevOps Engineer should also understand CI/CD and have experience with Jenkins or other CI/CD tools. Proficiency with cloud providers (AWS, Google Cloud, Microsoft Azure) and virtualization systems is often required.

FAQ

Companies that are looking for DevOps Developers / sysadmins often start working with us by asking some basic questions. We have prepared information about these specialists. If you still have questions, INDIGO Tech Recruiters will be happy to answer them.

1. Whom should I hire, a system administrator or a DevOps Engineer?

Decide on the tasks you want your new employee to perform. Many companies that post a DevOps Engineer vacancy, judging by the jobrequirements , actually need a System Administrator. DevOps Engineers not only build and maintain IT infrastructure, but also participate in software development. The difference is both in the level of automation of common tasks, and in the tools used.
If you really need a DevOps engineer and not a senior -level system administrator , it's not easy to find one. Professionals in this domain are in high demand, and they are usually not looking for a job. They may consider opportunities if you find DevOps engineers , for example, on LinkedIn and offer competitive work conditions. It's easier to hire an experienced developer through a recruitment agency with a solid base of contacts.
The purpose of the DevOps methodology is to establish communication between developers and other IT departments. A DevOps engineer works on the intersection of system administration and programming and can be an evangelist of the DevOps method. However, one or even several employees are not enough to implement the DevOps methodology as such. Ideally, you need to establish communication between developers, sysadmins, and QA specialists on an ongoing basis.
DevOps engineers have wide-ranging responsibilities and need expertise in several domains. Junior DevOps can be a specialist with little experience in the position of DevOps, but with advanced skills and proven work experience in the related domains.