Job Description:

PURPOSE

Our client is looking for a skilled DevOps Engineer to join our team and help manage the cloud infrastructure that powers their SaaS platform. We are looking for experienced candidates who are pragmatic and enjoy seeing their creations bring tangible value to people. This role is a hybrid opportunity, either based in Johannesburg or Cape Town.

As a DevOps Engineer, you will work closely with the development and data teams to ensure seamless deployment, continuous integration, and overall system reliability. You'll be responsible for automating processes, enhancing scalability, and ensuring that our applications are performant and secure.

If you enjoy building and maintaining robust infrastructure, love solving challenging problems, and are passionate about ensuring smooth operations, this role is for you.

DUTIES AND RESPONSIBILITIES

The responsibilities for the role includes, but are not limited to, the following:

  • Infrastructure Management: Design, implement, and manage infrastructure solutions using AWS services for scalability and reliability.
  • CI/CD Pipelines: Build and maintain continuous integration and deployment pipelines using GitHub Actions or similar tools.
  • Containerisation: Manage containerised applications using Docker, ensuring consistency across environments (Nix and Windows).
  • Deployment & Monitoring: Deploy applications on platforms like AWS, Heroku, and Kubernetes. Set up monitoring and alerting systems (e.g., Prometheus, Grafana, or CloudWatch).
  • Automation: Automate repetitive tasks and processes, reducing manual intervention and improving deployment efficiency.
  • Security: Implement security best practices, including setting up firewalls, intrusion detection, and system hardening.
  • Performance Optimisation: Monitor system performance and work with the development team to improve the efficiency and scalability of applications.
  • Database Management: Assist with RDS Postgres database management and help explore potential use of MongoDB or other NoSQL solutions.
  • Backup & Recovery: Set up and maintain backup and disaster recovery plans for critical infrastructure.
  • Collaboration: Work with developers to troubleshoot production issues, implement fixes, and ensure smooth code releases.
  • Cloud Cost Optimisation: Analyse cloud infrastructure to identify opportunities for cost optimization.
  • Documentation: Create and maintain comprehensive documentation for infrastructure, processes, and configurations.

ROLE REQUIREMENTS

Formal Qualifications

  • Preferably a degree in Computer Science, Mathematics, Engineering, Information Systems.
  • Relevant AWS certifications a bonus.

Knowledge, Skills & Experience

Technologies & Tools:

  • Cloud Platforms: AWS, Heroku, and familiarity with services like ECS, EC2, RDS, S3, CloudFront, and Lambda.
  • Containerization: Proficiency with Docker and experience with orchestration tools like Kubernetes.
  • CI/CD Tools: GitHub Actions, Jenkins, or other CI/CD tools.
  • Monitoring, Metrics & Alerting: Experience with monitoring and logging tools (e.g., Prometheus, Grafana, CloudWatch), including defining key metrics, setting up dashboards, and configuring alerts for system health and performance.
  • Infrastructure as Code (IaC): Experience with Terraform, CloudFormation, or Ansible.
  • Database Management: Familiarity with RDS Postgres and potential NoSQL solutions like MongoDB.
  • Version Control: Git/GitHub for source control and collaboration.
  • Scripting Languages: Proficiency in Ruby, Python, Bash, or similar scripting languages for automation.
  • Systems Integration: Experience integrating disparate systems, APIs, and workflows that enable seamless automation and data flow across infrastructure and development tools.

Languages

English
Afrikaans (Beneficial)