About The Position

As a Software Engineer (Build Systems & CI/CD Infrastructure) at Avride, you will design and maintain scalable, reproducible build and CI/CD infrastructure for complex, multi-platform software systems. You will optimize build performance, manage dependencies, and support development teams by ensuring reliable and efficient software build, test, and deployment workflows for autonomous driving and robotics platforms.

Requirements

  • Master’s degree in Computer Science or equivalent
  • 9+ years of experience in Software Development/Engineering or equivalent
  • 5+ years of experience in Python, Linux, Bazel, Docker
  • 5+ years of experience in building and scaling CI/CD automation and infrastructure management
  • Experience with Nix for package management and reproducible builds
  • Strong programming skills in languages such as Python, Go
  • Experience with Kubernetes, S3, Terraform
  • Experience with distributed build systems and remote execution environments (like Buildbarn)
  • Understanding of software dependency management and linking strategies
  • Strong problem-solving skills and ability to debug complex build and runtime issues
  • Candidates are required to be authorized to work in the U.S.
  • The employer is not offering relocation sponsorship, and remote work options are not available.

Nice To Haves

  • Familiarity with C++
  • Familiarity with self-driving projects' architecture, deployment, data processes, and working with autonomous vehicles and robots

Responsibilities

  • Design, develop, and maintain Continuous Integration and Continuous Deployment (CI/CD) pipelines to streamline software build, test, and deployment processes
  • Build and optimize scalable and reproducible multi-platform build infrastructure using Bazel and Nix
  • Implement distributed builds and remote execution to accelerate build and test times across multiple platforms and environments
  • Manage dependencies to ensure consistency, compatibility, and reproducible builds
  • Troubleshoot and resolve issues related to software builds, linking, and runtime behavior
  • Monitor infrastructure performance and implement improvements to enhance stability and efficiency
  • Provide support to development teams by answering questions and resolving issues related to the CI/CD process, builds and overall development flow
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service