Android Engineer
Location: Burgess Hill (Hybrid – at least 3 days in office)
Contract Duration: 6+ months, with potential for permanent hire by end client
Work Eligibility: Candidates requiring visas may be considered if they already hold a valid (non-sponsored) visa. Visa type and expiry must be stated in the cover sheet.
We are seeking an experienced Android Engineer to develop mobile applications used by tens of millions of cardholders worldwide. The ideal candidate is highly skilled, creative, and passionate about delivering exceptional user experiences through well-crafted code.
You will join a small, fast-paced team of designers, product owners, QA, and engineers, building and enhancing features while working with innovative technologies. You should be comfortable working in ambiguity, rapidly iterating ideas, and contributing to architecture and design discussions.
Develop and maintain Android applications using Kotlin and modern Android frameworks.
Implement, test, and optimize features, ensuring high performance and reliability.
Apply asynchronous coding patterns and manage integration with backend services.
Contribute to architecture and design decisions using best practices and design patterns.
Write unit and integration tests using tools such as Espresso and JUnit.
Collaborate with a globally distributed team, actively sharing ideas and solutions.
Work with CI/CD pipelines (GitHub Actions, Circle CI) and build tools (Gradle).
Deal with legacy code while maintaining code quality and performance.
Participate in open-source initiatives and internal knowledge sharing.
Experience: 5+ years in Android development.
Technical Skills:
Kotlin, Coroutines, Flow
Jetpack Compose
MVI Architecture, Design Patterns
REST APIs, OkHttp
Dagger / Dependency Injection
RxJava
Unit & Integration Testing (Espresso, JUnit)
CI/CD (GitHub Actions, Circle CI)
Familiarity with RAML API Documentation, Test Fakes, WireMock
Other Skills:
Strong coding skills with focus on maintainable, readable, and efficient code.
Performance analysis and optimization.
Self-starting, time management, and proactive in problem-solving.
Experience working in a fast-paced, agile environment.
Bachelor’s degree in Computer Science, or equivalent practical experience.