Purpose

The DevOps Engineer will automate and supports the tools and processes relating to continuous delivery, integration and deployment for software packages, platforms, operating systems, and infrastructure in the Digital Signal Processing Department within the Engineering & Technology Development Division. The DevOps Engineer will work closely with and supports the various development teams within the Digital Signal Processing Department.

Key Responsibilities

  • Develop, maintain, and support the CI/CD pipeline of the group to enable continuous delivery, integration and deployment of the group’s products and applications
  • Develop, maintain, and support the logging and monitoring stacks to enable system health status monitoring to support and improve reliability and quality
  • Manage, maintain, and support the Compute and Network Infrastructure within the group in terms of supporting the design of new systems, deployments, technical configuration management, and ensuring required uptime
  • Participate in software design processes, across the entire life cycle, to improve quality, maintainability, and robustness of delivered products
  • Provide operational support for the operation of Digital Signal Processing Compute and Network Infrastructure and participate in after-hours, on-call support as required
  • Driving the incident management processes and continuously implementing lessons learned to improve overall quality and reliability
  • Participate in the generation of technical system and product-related documentation applicable to the CI/CD pipeline, logging and monitoring stacks and Compute and Network Infrastructure to support the delivery and hand-over of the Digital Signal Processing Group’s products.

Key Requirements

Qualification

  • Sc. computer science / B. Tech (6+ years……………………………… experience) in Computer, Electrical or Electronic with 6+ years relevant experience
  • Sc. (Hons) Computer Science (4+ years………………………………. experience)
  • Eng./B.Sc. (Eng) in Computer, Electrical or Electronic with 4+ years relevant experience
  • MSc / M. Eng in Computer Science or relevant Engineering field with 3+ years relevant experience

Experience

  • Experience as a DevOps / System Administrator OR as a Software Developer coupled with further education or training in DevOps and System Administration
  • Experience working in a high-performance computing environment is preferable
  • Configuration and management of CI/CD pipelines to support development and delivery of software products
  • Configuration and management of logging and monitoring stacks and frameworks for system health monitoring
  • Linux system installation, configuration, and administration
  • Software development and scripting using the Python Programming Language
  • Deployment, upgrade and maintenance of Compute and Network Infrastructure
  • Working with workflow and issue management tools (e.g., JIRA)
  • Working with source code and version control tools (e.g., Git) * Being responsible for mission-critical pipelines and infrastructure

Knowledge

  • Containerisation (e.g., Docker, Podman, LXD, ECS)
  • Orchestration (e.g., Kubernetes, Mesos, Nomad)
  • Infrastructure-as-code (e.g., Ansible, Puppet, Chef)
  • Distributed monitoring and alerting (e.g., Prometheus, Grafana, Elastic)
  • Distributed logging (e.g., ELK stack)
  • Deployment (e.g., Maas, FAI)
  • Virtualisation (e.g., Open stack, proxmox)
  • Continuous integration (e.g., Jenkins, Build Bot, GitHub Actions)
  • Distributed Storage (e.g., Ceph, Lustre, MinIO)
  • Knowledge of high-performance computing infrastructure
  • Knowledge of Ethernet networks

Desired Skills:

  • Containerisation
  • Orchestration

Learn more/Apply for this position