Android UI Engineer
We are seeking an experienced freelance Android UI Engineer to join us on a full-time contract basis for 6 months (40 hours per week). This role is ideal for someone passionate about building scalable, high-quality native component libraries and crafting pixel-perfect user experiences with Jetpack Compose. You will play a key role in developing reusable UI components that power multiple internal applications, while partnering closely with design and engineering teams to bring a robust design system to life through token-driven theming, accessibility, and performance best practices. Candidates must be based in the United States and available to work West Coast hours.
The ideal start date for this position is May 1st. As part of the interview process, candidates will be asked to complete a coding assessment to evaluate technical skills and approach to problem-solving. This role pays an hourly rate of $115-$120.
Responsibilities:
- Build a native UI component library that can be consumed by multiple internal apps.
- Develop a reusable Android library module (AAR and Gradle configurations).
- Implement pixel-perfect UI components in Jetpack Compose.
- Integrate Rocket design tokens as the source of truth for styling.
- Consume token outputs (e.g., JSON / generated constants) and map them into platform-native theming.
- Implement token-driven colors, typography, spacing, shapes, and semantic roles with fallback behavior.
- Support theme variants (light/dark mode, brand variants) as defined by Rocket.
- Design scalable, consumer-friendly component APIs with stable public interfaces and sensible defaults.
- Ensure internal implementation details are abstracted from consumers.
- Build accessibility into components by default, including semantics/labels, focus order, minimum hit targets, dynamic type/font scaling, and contrast considerations.
- Add automated quality gates to prevent regressions, including unit/UI testing for component behavior and token application.
- Maintain strong engineering hygiene for a shared library environment, including clean boundaries, minimal dependencies, and performance optimization (Compose recomposition).
- Create clear documentation for consumers, including usage examples, API docs, and migration notes.
Required Skills:
- Strong Kotlin fundamentals: extension APIs, sealed types, data modeling, immutability, and API design.
- Deep expertise in Jetpack Compose, including:
- Pixel-perfect reusable component development
- State hoisting
- Recomposition and stability
- Previews
- Custom layouts
- Modifiers
- Slot APIs
- Theming and extensibility
- Accessibility best practices in Compose.
- Performance optimization in Compose.
- Experience with Android library/module development.
- Gradle setup for shared modules, publishing/distribution patterns, dependency isolation, semantic versioning, and backward compatibility.
- UI testing experience using Espresso APIs.
Nice to Have
- Experience with design systems and token-driven theming.
- Clean code and clean architecture principles.
Our Hiring Process
We aim for an ideal time-to-hire of 35 days and are committed to making the interview process efficient, engaging, and enjoyable for every candidate.
We’re aiming for a target start date of May 1st, although this may shift slightly depending on factors such as applicant volume, process speed, and onboarding preparation. We’ll keep you updated every step of the way.
Here’s what you can expect from our hiring process:
- Every application is thoughtfully reviewed by our team
- A video interview with the hiring team
- A coding assessment
From time to time, we may schedule additional conversations to ensure the process feels thorough and supportive—for you and for us. Our goal is to create a thoughtful experience where you have the chance to get to know us just as much as we get to know you.
Envoy is committed to equity.
We are committed to providing an inclusive and welcoming environment for all members of our community. Envoy does not and shall not discriminate on the basis of race, color, religion, gender, gender expression, age, national origin, disability, marital status, sexual orientation or military status.
All open requisitions at Envoy are being managed internally, and we are not engaging with agency partners at this time.
Loading application form...