Android Engineer (Terminal Developer Productivity)
Requirements
- BS or MS in Computer Science or a related field, or equivalent practical experience,
- 6+ years of software engineering experience, including meaningful experience with backend systems and at least one of: Android/mobile or embedded/firmware development,
- Experience designing, implementing and maintaining production systems or developer tooling,
- Understanding of how to build scalable, reliable and observable services, pipelines, or tooling,
- Experience owning projects from design through implementation, rollout and ongoing support,
- Ability to thrive in a collaborative environment involving multiple stakeholders and subject matter experts,
- Strong communication skills and the ability to explain technical concepts clearly to different audiences,
- (Desirable) Proficiency in one or more of: Kotlin, Java, or Go,
- (Desirable) Experience building tools or platforms to improve developer productivity, with clear empathy for internal developer users,
- (Desirable) Experience with CI/CD tooling and pipelines (e.g. Jenkins, GitLab CI, GitHub Actions) and modern build systems,
- (Desirable) Experience designing and maintaining automated testing infrastructure (e.g. integration/end-to-end tests, test orchestration, or reducing test flakiness),
- (Desirable) Experience with Android build and test tooling (e.g. Gradle, emulators, device farms) or firmware build pipelines,
- (Desirable) Experience in payments, point-of-sale, or hardware-integrated systems is a plus,
- (Desirable) Based in the PST time zone,
- Ou're encouraged to apply even if your experience doesn't precisely match the job description
What the job involves
- As an engineer on this team, you’ll shape and deliver major pieces of this tooling and infrastructure and help raise the bar for developer experience across Terminal,
- Design, build and maintain tools, libraries and infrastructure that improve the productivity of Terminal engineers across mobile, backend and embedded systems,
- Collaborate closely with mobile engineers to understand their workflows and pain points and translate them into practical short-term and long-term solutions,
- Contribute to and improve our build, CI/CD and test automation systems for Terminal SDKs, Android apps and firmware,
- Work with stakeholders across Terminal to prioritize work, balance competing needs and ensure your solutions integrate cleanly into existing workflows,
- Own projects end-to-end, from problem discovery and design through implementation, rollout and ongoing operation,
- Participate in code reviews, design discussions and documentation to maintain a high bar for code quality, reliability and developer experience,
- Mentor other engineers in areas such as build, test and release best practices, helping to spread strong developer productivity practices across the team