Position: Senior DevOps Engineer
Company: Engenious
Category: DevOps
Experience required: 5y
English level: upper

We are seeking a skilled and motivated DevOps Engineer to join our team and lead the migration and productionization of various services in our infrastructure. As a DevOps Engineer, you will play a critical role in transforming our current VM-based services into Docker containers, deploying them to Google Cloud Run / GKE, and enhancing our deployment processes for a more robust and scalable system. You will also be responsible for setting up and managing our centralized logging, metrics, dashboards, monitoring, and alerting systems to ensure the reliability and availability of our applications. Additionally, you will contribute to the development of best practices and internal project templates to streamline future service deployments.

Responsibilities:

1. Migrate multiple Node.js-based services from VMs to Docker containers, ensuring seamless integration and optimized performance.
2. Productionize a Superset server, built on Flask Python, by setting up a deployment pipeline that aligns with our deployment standards.
3. Deploy and maintain a TorchServ instance (Flask/Python-based) in a production environment, adhering to best practices and industry standards.
4. Implement centralized logging, metrics collection, and monitoring solutions to gain valuable insights into the health and performance of our services.
5. Design and set up dashboards and alerts to proactively monitor and respond to service incidents and performance issues.
6. Develop and enforce secure inter-service communication using principles and trust relationships instead of credentials and secrets.
7. Migrate existing infrastructure to Terraform, optimizing our use of Google Cloud CLI for better infrastructure-as-code practices.
8. Build an efficient alerting flow that integrates with GitLab tickets, Slack notifications, and PagerDuty to streamline incident response.
9. Collaborate with development and operations teams to create comprehensive runbooks and game-day strategies for handling potential incidents.
10. Iterate on internal project templates to enhance service deployment efficiency, maintainability, and consistency across our projects.

Requirements:

1. Bachelor's degree in Computer Science, Software Engineering, or a related field, or equivalent practical experience.
2. Proven experience with Docker and container orchestration platforms like Google Cloud Run and Google Kubernetes Engine (GKE).
3. Strong background in deploying and managing Python-based applications, preferably Flask and TorchServ.
4. Solid understanding of centralized logging systems, monitoring tools, and alerting solutions, such as ELK Stack, Prometheus, Grafana, and PagerDuty.
5. Experience with infrastructure-as-code tools like Terraform and familiarity with Google Cloud CLI.
6. Proficient in implementing secure communication practices between microservices and applications.
7. Familiarity with GitLab, Slack, and other collaboration tools for effective communication and coordination.
8. Strong problem-solving skills and the ability to thrive in a fast-paced, agile development environment.
9. Excellent communication skills, both written and verbal, and the ability to work collaboratively in cross-functional teams.
10. A passion for automation, continuous improvement, and staying up-to-date with industry trends in DevOps and cloud technologies.

Join our team and be part of a dynamic and innovative environment where you will contribute to building cutting-edge solutions and continuously improve our deployment processes to deliver high-quality services to our customers.