About the company
At Lyft, our purpose is to serve and connect. We aim to achieve this by cultivating a work environment where all team members belong and have the opportunity to thrive.
Responsibilities
- Work within our Mobile Tooling team and across the Lyft Mobile development community to create and maintain our mobile build and release infrastructure
- Guide your own and the team’s projects from start to finish, ensuring cross-functional alignment and buy-in
- Analyze systems and processes to identify areas for improvement and automation
- Dive into and contribute to the source code of existing tools and the open-source technologies we build on
- Explore, prototype, and implement prospective tools for scaling our infrastructure such as diving deep into Bazel remote execution
- Build out mobile specific AI agent workflows to enhance developer productivity
- Maintain and update Android Studio, Android versions, and third-party libraries dependencies
- Write high-quality, well-tested, readable, and maintainable code
- Identify, triage, debug, and resolve issues and bugs across various applications and tools
- Share your knowledge by giving brown bags, tech talks, and promoting appropriate tech and engineering best practices
- Mentor junior engineers, support onboarding, participate in hiring processes
Requirements
- Minimum 5+ years of software engineering industry experience
- Experience supporting large Android builds
- Bonus: Bazel
- Experience in building command-line tools using python or bash
- Experience maintaining a high performance CI pipeline
- Strong knowledge of Kotlin
- Bonus: Jetpack Compose
- Deep understanding of native mobile testing practices (unit, snapshot, and UI)
- Worked on and shipped large scale Android applications or working on teams responsible for maintaining and operating infrastructure at a large-scale
- Great product sense; you care about usability and good design of your tools
- Ability to work with a low-ego, highly collaborative, and cross-functional team
- Experience guiding teams through planning, prioritization, and execution of work