Important:
To help us get to know you better, please complete the screening questionnaire via this Google Form https://forms.gle/z4fSFRxB9ASWYGjq5 . Candidates who fully complete the form will be prioritised for the next steps in our hiring process. We look forward to learning more about you!
-------------------
DevOps Engineer
Job Description
A DevOps Engineer is responsible for designing, implementing, and maintaining the infrastructure and coding tools needed to build, test, and deploy software. This includes configuring and maintaining continuous integration/continuous delivery (CI/CD) pipelines, setting up and managing cloud infrastructure, and automating the deployment of code. Will also work closely with development teams to ensure that the infrastructure and tools support the needs of the software development process. Additionally, may be responsible for monitoring and troubleshooting production systems to ensure they are running smoothly and efficiently.
Required Skills:
- Experience with Linux/Unix administration: Need to be familiar with the command line and basic Linux/Unix administration tasks.
- Knowledge of containerization: Experience with Docker and Kubernetes is highly valued by many organizations.
- Scripting skills: Should have experience with at least one scripting language (e.g., Python, Bash, Ruby, etc.).
- Experience with cloud infrastructure: Knowledge of cloud providers such as AWS, Azure, and GCP is important for many DevOps roles.
- Familiarity with CI/CD tools: Should be familiar with tools such as Jenkins, Travis CI, and CircleCI for continuous integration and delivery.
- Understanding of version control: Experience with Git.
- Experience with monitoring and logging tools: Understanding of tools such as Prometheus, Grafana, and ELK Stack is highly valued.
- Familiarity with database management: Understanding of relational databases such as MySQL and PostgreSQL, NoSQL databases like MongoDB, Cassandra, etc
- Understanding of networking: Familiarity with the basics of networking, such as DNS, DHCP, and IP addressing, is important for many DevOps roles.
- Strong problem-solving and communication skills: Need to be able to troubleshoot problems and communicate effectively with development teams and other stakeholders.
Responsibilities:
- Designing and implementing infrastructure: Responsible for designing and implementing the infrastructure that supports the software development process. This includes setting up and configuring cloud infrastructure, creating, and maintaining CI/CD pipelines, and automating the deployment of code.
- Collaborating with development teams: Work closely with development teams to ensure that the infrastructure and tools support the needs of the software development process. This includes guiding best practices, troubleshooting issues, and working to optimize the development workflow.
- Managing cloud infrastructure: Responsible for managing cloud infrastructure, including provisioning and scaling resources as needed, monitoring for and addressing performance issues, and ensuring that the infrastructure is secure.
- Monitoring and troubleshooting production systems: Responsible for monitoring production systems to ensure they are running smoothly and efficiently. They also troubleshoot and resolve issues that arise in production environments.
- Automating processes: Responsible for automating processes wherever possible, including the deployment of code, scaling of resources, and monitoring of systems.
- Security: Responsible for ensuring the security and compliance of the systems and applications they manage.
- Maintaining documentation: Responsible for maintaining documentation of the systems and processes they manage, including diagrams, runbooks, and procedures.
- Continuously improving: Responsible for continuously improving the systems and processes they manage to make them more efficient, reliable, and scalable.