Position Purpose:
Responsible for designing, implementing, and maintaining the infrastructure and automation solutions that enable efficient and scalable deployment and operation of software applications. This role requires a deep understanding of both development and operations, including coding, scripting, process re-engineering, and collaboration between various IT teams to improve the deployment and release processes
Principal Accountabilities
In addition to following policies and procedures, Specific Responsibilities include, but are not limited to:
Infrastructure Management:
- Design, implement, and maintain scalable, highly available infrastructure.
- Manage cloud infrastructure (AWS) and on-premise data centres.
- Optimize resource utilization and ensure high availability.
Automation and CI/CD:
- Develop and maintain continuous integration/continuous deployment (CI/CD) pipelines.
- Automate infrastructure provisioning and configuration management using tools like Terraform, Ansible, or Puppet.
- Implement and manage container orchestration platforms such as Kubernetes or Docker Swarm.
Monitoring and Logging:
- Set up and manage monitoring and alerting systems (e.g., Prometheus, Grafana, ELK stack).
- Ensure comprehensive logging and tracing for applications and infrastructure.
Collaboration and Support:
- Work closely with development, QA, and operations teams to ensure smooth and reliable application deployment.
- Provide support for debugging production issues across services and levels of the stack.
- Advocate for and implement best practices in software development and DevOps.
Security and Compliance:
- Implement and enforce security best practices for infrastructure and deployment.
- Conduct regular security assessments and vulnerability scans.
- Ensure compliance with relevant regulations and standards.
Performance Optimization:
- Identify and resolve performance bottlenecks in infrastructure and applications.
- Implement load testing and capacity planning strategies.
Documentation and Training:
- Create and maintain comprehensive documentation for infrastructure and automation processes.
- Train and mentor junior engineers in DevOps practices and technologies.
Requirements
- Bachelor's degree in a relevant field such as Computer Science, Information Technology.
- AWS Certified DevOps Engineer.
- Docker Certified Associate, Certified Kubernetes Administrator.
- Certifications in cloud platforms (AWS Certified DevOps Engineer, Azure DevOps Engineer Expert, etc.).
- Experience with microservices architecture.
- Familiarity with agile methodologies and DevOps culture.
- Minimum of 5 years of experience in DevOps, System Administration, or a related role.
- Proven experience with cloud platforms (AWS).
- Proficiency in scripting and programming languages (Python, Bash, Ruby, etc.).
- Experience with infrastructure-as-code tools (Terraform, CloudFormation).
- Familiarity with containerization and orchestration tools (Docker, Kubernetes).
- Knowledge of CI/CD tools ( GitLab CI).
- Excellent problem-solving and troubleshooting skills.
- Strong communication and collaboration abilities.
- Ability to work independently and as part of a team.
Language: Fluent in Arabic and English.