About the team
We are looking for a Senior DevOps Engineer to work with mission-critical systems accounting for around 150 million Euros in advertising revenue. You will be collaborating closely with three engineering teams (together nineteen developers) from Kraków: Rose which is used to book advertising campaigns, Vantage which delivers campaign reporting and Ads API which provides common Rest API platform for Rose, Vantage and other internal and external customers for managing ads. High availability of these systems is critically important due to their impact on business.
About the role
Once you learn the systems you will continuously work on its technical evolution, scaling and simplification.
At the beginning you will be responsible for:
- Developing a migration strategy from AWS EC2 (AMI deployments) to Kubernetes (Docker deployments) with as little impact on the productivity of the existing team as possible, e.g. by automating repetitive migration tasks.
- Implementing a “Best Practice” security model within the AWS environment.
Imparting AWS security best practices to the rest of the team, rather than just restricting what they can do in AWS.
We hope that you will also help us to:
- Reach zero downtime deployments and enable infrastructure autoscaling based upon load/traffic.
- Create monitoring & alerting for system components increasing reliability and end-users satisfaction.
As the main authority in the Devops field in our services you will be expected to:
- Bring knowledge and experience that will allow our developers to implement the best practices in creating highly efficient and scalable services.
- Have a vision on the future of infrastructure and an ability to test-fit new technologies and keep the platform from getting stale.
- Work closely with developers in supporting new features, services, releases and be active in enhancing the rest of the team with the possibilities that a new platform/infrastructure can bring.
- Help teams improve service reliability and performance infrastructure to meet demand.
Skills and requirements
- Strong sense of architecture and design for fault tolerance, scale, and stability.
- Experience with AWS (VPC, EC2 Networking, IAM) and AWS Services.
- Experience with Configuration Management and CI/CD, Docker, and an infrastructure provisioning tool.
- Unix/Linux experience (shell/tools/kernel/networking).
- Strong development/automation skills. Must be very comfortable with reading and writing automation code (Python or Bash).
- Nice to haves: EMR, RDS, CloudFormation; Scala/Java; SQL Optimisation (Postgresql and MySQL); Kubernetes; Travis; Spinnaker.
If you wonder how does our current infrastructure look, you can check it below. But please be aware that we do not expect you to have experience with all those tools.
- AWS VPCs (dev, pre, pro)
- Scala microservices running Finagle/Finatra, PHP & node.js
- Docker/DockerCompose for integration testing only
- Some use of Lambda
- Kinesis/SQS/SNS/RabbitMQ for Pub/Sub
- Scala/Spark data processing jobs running on EMR
- Data stored in Avro/Parquet formats on S3
- Ephemeral and permanent data stored in RDS Postgres and MySQL databases
- Data pipeline orchestrated on Apache Airflow
- Migration project in progress moving CI/CD from TeamCity to Travis/Spinnaker
- GitHub Enterprise/Artifactory