The purpose of the DevOps Engineer is to manage build and release pipelines. Setup and manage local environments as well as client targets for deployments. The DevOps Engineer is further responsible for securing target environments, managing continuous software updates and keeping pace with security technologies relevant to this team, enabling innovative cloud architecture, DevOps processes and help scale the efforts of the development teams.
Primary Responsibilities for the Role
DevOps Strategy
- Work closely with the development and infrastructure teams to craft a technical vision.
- Work with the teams to set to pragmatic goals to meet the technical vision.
- Help drive the technical strategy related to software distribution.
- Assist teams to meet their goals.
- Encouraging and building automated processes wherever possible.
- Selecting and deploying appropriate CI/CD tools.
Software Distribution
- Ensure flawless integration with both internal and external systems.
- Remove all technical impediments organizationally related to software distribution.
- Collaborate with all stakeholders to ensure end-to-end quality of software distribution.
- Implementing various development, testing, automation tools, and IT infrastructure.
- Setting up tools and required infrastructure to distribute software.
Continuously Process Improvement
- Continuously improve the process of software and infrastructure delivery and software distribution.
- Strive for continuous improvement and build continuous integration, continuous development, and constant deployment pipeline (CI/CD Pipeline).
Security
- Identify and deploy cybersecurity measures by continuously performing vulnerability assessment and risk management.
- Manage security incidents and do root cause analysis of security incidents.
DevOps Documentation
- Communicate and document technical software distribution ideas and direction across the organization.
- Write and maintain software distribution documentation.
- Defining and setting development, test, release, update, and support processes for DevOps operation.
Mentorship / Training
- Provide mentorship and guidance to team members.
- Monitoring and measuring customer experience and KPIs.
- Managing periodic reporting on the progress to the management and the customer.
- Perform internal training for technical staff as required.
- Mentor junior resources on specialised knowledge.
Key Competencies
Technical Skills
- Knowledge of hyperscale cloud offerings (Azure, AWS or GCP, but Azure knowledge would be an advantage).
- Containerization (Docker).
- Kubernetes Administration (both on-prem and cloud based) – desired but not essential.
- Load Balancers.
- Good knowledge of build and deployment pipelines, including Azure DevOps YAML pipelines
- Infrastructure as code.
- Good understanding of source code control techniques eg. GIT, GITHUB, CVS.
-
- APIs, API Gateway, and their usage.
- Skills in distributed application tracing and performance investigations.
- Familiarity with continuous integration tools such as Jenkins, Travis CI, Circle CI or Azure DevOps.
- The ability to setup intelligent CI/CD pipelines to automate development, build or deployment tasks.
- Experience deploying microservice architecture, applications, and supporting services.
- Understanding of monitoring tools such as AppDynamics, Splunk, Nagios, or similar.
- Proficiency in scripting languages including Bash, Python, PowerShell or JavaScript.
Broad understanding of tools and technologies
- Source Control (like Git, Bitbucket, Svn)
- Continuous Integration (like Jenkins, Bamboo, VSTS )
- Infrastructure Automation (like Puppet, Chef, Ansible)
- Deployment Automation & Orchestration (like Jenkins, VSTS, Octopus Deploy)
- Container Concepts (LXD, Docker)
- Orchestration (Kubernetes, Mesos, Swarm)
- Cloud (like AWS, Azure, Google Cloud, Open stack)
- Network-awareness, in order to successfully deliver an application to the end user, DevOps engineer must recognize that you must account for the network the design, planning and testing
Security training
- Familiar with software security best practices.
- Write secure code to protect applications from attack, as well as defend against common cybersecurity vulnerabilities
Experience with infrastructure automation tools
- Scripting languages like Python, Ruby, Bash, Shell, Node.js.
- Test automation technologies and tools.
- Infrastructure as code, Tools like PowerShell, Chef, and Terraform enable this, allowing infrastructure automation.
- Experience with on-prem (VMWare, Hyper-V, etc) and cloud (Azure, Amazon Web Services, etc.).
Living the Values
- Ensuring compliance with all applicable policies, regulations, standards and governance requirements
- Treating all people fairly and consistently, and with dignity and respect
- Being ethical, honest and sensitive in all dealings
- Taking corrective action to address inappropriate decisions or actions
- Customer-first mindset, while DevOps engineers are not typically external-facing roles, developers, QA, customer success, project management, and business leaders are all their clients
- Communicates in a positive manner resulting in action
- Collaboration, great team members, help relieve bottlenecks by assisting co-workers as necessary
- The ability to think big picture, to look at the big picture and identify what makes sense
Qualification and Experience Requirements
- BSc/BA/BCom in Computer Science, Engineering or a related field or comparable certifications or experience.
- 4 – 8 year’s experience as DevOps or related experience.
- Technology product certifications desired eg. Oracle DB, Oracle Java, Oracle VM, Microsoft, DEVOPS or similar
In accordance with Adapt IT’s Employment Equity plans and goals, preference will be given to suitable applicants from the designated groups as defined by the Employment Equity Act of 55 of 1998 and subsequent amendments thereto.