Android Engineer - Payment/Finance/Crypto apps experience
7 days ago
San Francisco
Job Description The RoleYou will serve as a key contributor to the development of our flagship Android client. A significant part of thisrole involves working closely with product managers, designers, and other software engineers to translatehigh-level requirements into high-quality, impactful features. You will be instrumental in the end-to-enddevelopment lifecycle: from initial design and architectural planning to implementation, testing, anddeployment.Crucially, you will act as a technical leader and custodian for the entire Android codebase. This includesestablishing 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 theteam’s collective ability to write clean, maintainable, and performant Kotlin code, ensuring the consistent andreliable delivery of our vital Android to users globally.This role requires a high degree of autonomy in executing complex technical tasks while collaboratingeffectively 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 consumerfinance app for emerging markets.SkillsAs 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.