The Role
You will serve as a key contributor to the development of our flagship Android client. A significant part of this
role involves working closely with product managers, designers, and other software engineers to translate
high-level requirements into high-quality, impactful features. You will be instrumental in the end-to-end
development lifecycle: from initial design and architectural planning to implementation, testing, and
deployment.
Crucially, you will act as a technical leader and custodian for the entire Android codebase. This includes
establishing and maintaining best practices, code standards, and the overall technical quality of the application.
You will mentor and guide other engineers, contributing to a continuous learning environment that elevates the
team’s collective ability to write clean, maintainable, and performant Kotlin code, ensuring the consistent and
reliable delivery of our vital Android to users globally.
This role requires a high degree of autonomy in executing complex technical tasks while collaborating
effectively within a small, fast-moving team to ensure technical decisions align with the overall product vision.
You will be a hands-on contributor, focused on delivering high-quality code that directly impacts our consumer
finance app for emerging markets.
Skills
As an Android Software Engineer we feel the following will be important for this role:
7+ Years of Professional Android Development: Demonstrated history of shipping and maintaining
Android applications used by a significant user base.
Expert Proficiency in Kotlin: Deep, expert-level knowledge of the Kotlin language, including modern
language features, coroutines, flow, and advanced language constructs.
Deep Understanding of the Android Ecosystem: Expert knowledge of the latest Android SDKs,
APIs, and the Material Design guidelines.
Architectural Expertise: Proven experience designing, implementing, and maintaining complex,
scalable, and modular Android application architectures (e.g., MVVM, MVI, Clean Architecture) using
components like ViewModels and knowing when to apply each.
Extensive Experience with Modern UI Frameworks: Expert-level knowledge and hands-on
experience with Jetpack Compose, including advanced layout techniques, custom
composables/views, and navigating.
Networking & Data Handling:
Expertise in consuming RESTful APIs, HTTP (e.g., using Retrofit/OkHttp), and/or leveraging
WebSockets.
Deep understanding of secure data storage (e.g., SharedPreferences,
EncryptedSharedPreferences), caching strategies, and offline capabilities (e.g., using Room).
Concurrency and Performance Optimization: Proven ability to identify and resolve performance
bottlenecks, memory leaks, and complex concurrency issues using modern Android tools and
techniques (Kotlin Coroutines, threading, profiling tools).
Testing and Quality Assurance: Strong experience implementing and driving adoption of various
testing methodologies, including unit tests (e.g., JUnit, Mockito), integration tests, and UI tests (e.g.,
Espresso, Compose testing).
Dependency Management: Expertise with the common build system and dependency management
tool (e.g., Gradle/Kotlin DSL).
CI/CD Pipeline Experience: Experience setting up, maintaining, or optimizing Continuous
Integration/Continuous Delivery pipelines (e.g., Fastlane, Jenkins, GitHub Actions, GitLab CI) for
Android builds and deployments.
Senior+ (Senior, Staff, Principal, Distinguished) Engineer - You’re a strong technical practitioner
who has tempered their thirst for theory with the harsh reality of practical implementation. Knowing
when and where to execute autonomously while still being a team player.
Bonus Skills
These are not required but would definitely set you apart from other candidates:
Experience in financial technology such as payments, cryptocurrencies, on-ramps, off-ramps, etc.
Full-stack engineering skillset and ability to flex across other parts of the stack
Experience working with modern startup-style web stack such as Postgres, Redis, etc.