At Lyft, our purpose is to serve and connect. To do this, we start with our own community by creating an open, inclusive, and diverse organization.
Lyft AV brings the autonomous future to life by matching our community of riders with self-driving vehicles to meet their transportation needs today. The program is powered by a technical team innovating to build new features, experiment, and evolve approaches for emerging business needs. At the same time, we prioritize production quality because our customers put their trust in us for safety and reliability.
As a Software Engineer for Autonomous Vehicles, you’ll be responsible for executing integrations with partners, making tradeoffs between technical investments and product work, and collaborating with other engineers on system design. You will help shape the product direction by developing a deep understanding of the customer and working closely with cross-functional partners from Product, Design, Science, and Operations. You will work with a group of talented engineers and help the team to deliver significant business impact while being open to change through constant experimentation in an ambiguous emerging product. If you enjoy collaborating with technical and nontechnical partners in a fast-moving space with real-world impact, this is the role for you.
Our Driver Organization is working on creating the best onboarding and compliance experience in the industry. We help drivers quickly get on the road and start earning in over 300 markets in both the U.S. and Canada. We create delightful experiences by streamlining the complex process of collecting driver documents, conducting safety checks, and ensuring compliance with local regulations. We leverage the latest technologies in image recognition and intelligent automation to make driving for Lyft easy. The teams collaborate closely with legal, operations, design, and marketing to deliver business-critical initiatives.
Responsibilities:
- Be responsible for, design, develop, deploy, monitor, operate and maintain existing or new elements of our systems and infrastructure.
- Write well-crafted, well-tested, readable, maintainable code/scripts and configurations
- Have a good grasp and ability to explain the various trade-offs made in decisions
- Participate in code reviews to ensure code quality and distribute knowledge
- Lead projects from idea to positive execution Analyze our internal systems and processes and locate areas for improvement/automation Incorporate considerations for business context, failure modes, monitoring, compliance, and security in your work
- Proactively participate in resolving ongoing incidents
- Unblock, support, effectively communicate, and obtain buy-in across teams to achieve results Share your knowledge by giving brown bags, tech talks, and evangelizing appropriate tech and engineering best practices
Experience:
- BS/MS or equivalent in Computer Engineering, Computer Science, or related field or relevant work experience
- 4+ years of software engineering/production infrastructure industry experience
- Experience designing, debugging and running fault-tolerant, highly available, large-scale distributed systems
- Experience working with public cloud platforms (e.g., AWS, GCP, Microsoft Azure, etc.)
- Proficiency in scripting languages to use APIs to automate manual processes
- Experience with common CI tools (Jenkins, Buildkite, CircleCI, TeamCity), and proficiency in at least one of those tools
- Experience working with databases, relational or NoSQL
- Must have a track record of professional excellence
This role will be in-office on a hybrid schedule if an established Lyft Location is available to the Mexico City region — Hybrid Team Members will be expected to work in the office 3 days per week on Mondays, Thursdays and a team-specific third day. Additionally, hybrid roles have the flexibility to work from anywhere for up to 4 weeks per year. #Hybrid
Please submit your resume in English.
Responsabilidades:
- Ser responsable de, diseñar, desarrollar, implementar, supervisar, operar y mantener elementos existentes o nuevos de nuestros sistemas e infraestructura.
- Escribir código/configuraciones bien elaborado/a, bien probado/a, legible, y mantenible.
- Tener un buen entendimiento y capacidad para explicar las diversas compensaciones realizadas en las decisiones.
- Participar en revisiones de código para garantizar la calidad del código y distribuir conocimientos. Liderar proyectos desde la idea hasta la ejecución positiva.
- Analizar nuestros sistemas y procesos internos y localizar áreas para mejora/automatización. Incorporar consideraciones para el contexto empresarial, modos de falla, supervisión, cumplimiento y seguridad en tu trabajo.
- Participar proactivamente en la resolución de incidentes en curso.
- Desbloquear, apoyar, comunicarse efectivamente y obtener aprobación entre equipos para lograr resultados.
- Compartir tus conocimientos mediante presentaciones informales, charlas técnicas y promoviendo las prácticas óptimas de tecnología e ingeniería.
Experiencia:
- Licenciatura/Maestría o equivalente en Ingeniería Informática, Ciencias de la Computación, o campo relacionado o experiencia laboral relevante
- Más de 4 años de experiencia en ingeniería de software/industria de infraestructura de producción
- Experiencia en diseño, depuración y operación de sistemas distribuidos a gran escala, tolerantes a fallos y altamente disponibles
- Experiencia trabajando con plataformas de nube pública (por ejemplo, AWS, GCP, Microsoft Azure, etc.)
- Competencia en lenguajes de script para utilizar APIs y automatizar procesos manuales
- Experiencia con herramientas comunes de CI (Jenkins, Buildkite, CircleCI, TeamCity), y competencia en al menos una de esas herramientas
- Experiencia trabajando con bases de datos, ya sea relacionales o NoSQL
- Debe tener un historial de excelencia profesional
Este puesto se realizará en la oficina en un horario híbrido si una ubicación de Lyft establecida está disponible en la región de la Ciudad de México. Se espera que los miembros del equipo híbrido trabajen en la oficina 3 días a la semana, los lunes, jueves y un tercer día específico para el equipo. Además, los roles híbridos tienen la flexibilidad de trabajar desde cualquier lugar durante 4 semanas al año.