Design and write software to enable rapid prototyping by development and validation teams, ensuring the highest levels of reliability and availability
Collaborate with software engineers to design and implement scalable, reliable, and maintainable systems including, Monitoring and logging/reporting systems to ensure visibility into system performance and health, alerting and incident response systems to minimize downtime and ensure rapid response to issues, deployment and rollback strategies to ensure seamless updates and minimal disruption to services and capacity planning and performance optimization to ensure our systems can handle growing traffic and demand
Develop and maintain tools and automation to improve system reliability, efficiency, and scalability, such as, operational tasks and runbook automation scripts, CI/CD pipelines and infrastructure as Code
Ensure coverage of our systems, responding to incidents and outages, performing root cause analysis, and deploying mitigations to prevent future occurrences
Collaborate with software engineering teams to ensure that reliability and scalability are considered throughout the development process, from design to deployment, and that our systems are designed to handle the complexities of a multi-region, microservice-based architecture
Develop and maintain documentation on system architecture, operations, and troubleshooting procedures
Ensure the reliability and performance of our databases, including query optimization and performance tuning, and developing backup and recovery procedures
Develop access control and authentication mechanisms for our systems, including network security and firewall configurations, and compliance with various standards and regulations, enabling us to ship software to our production fleet
Stay up-to-date with industry trends and emerging technologies, applying this knowledge to improve our systems and processes
What You’ll Bring
Bachelor's Degree in Computer Science, Computer/Software Engineering, or equivalent experience
Proficiency in a high-level language like Python and/or Go
Experience with multi-region deployments and global traffic management
Experience with access control and authentication mechanisms (e.g., OAuth, LDAP)
Experience with workflow management platforms (e.g., Airflow, Temporal)
Experience with stream processing/messaging systems (e.g., Kafka, RabbitMQ)
Experience with containerization (e.g., Docker), orchestration (e.g., Kubernetes), and logging/monitoring (e.g., Prometheus, Sentry)
Experience with CI/CD systems (e.g., Concourse, Jenkins) and infrastructure as code (e.g., Terraform)
Excellent communication, collaboration and problem-solving skills, with the ability to debug complex issues in distributed systems