What’s the challenge?
As a Senior Software Engineer, we expect the specialist to help drive the technical direction within the Android Mobile team delivering first class mobile solutions and contributing to an evolving culture of innovation, enthusiasm and passion. We’re looking for someone with an unrivalled enthusiasm for new and emerging technologies and who work best in a collaborative team environment. We value everyone’s opinion in building top class software, and we’re passionate about empowering them.
Technology stack we use:
Kotlin, JUnit5 + Mockito, OkHttp + Retrofit + Coroutines/Flows, Android navigation library (with garadle multimodule and nested graphs), Android architecture components Paging3 + Coroutines, Android architecture components ViewModel + Coroutines/FlowsAndroid databinding, Google maps, Koin Dependency Injection, Lint + detect + ktlintAzure DevOps CI + Gradle tasks (lint + unit tests + emulator tests + Jacoco combined report), Firebase.
What will it take to be successful?
- You’ll be an advocate extreme programming, keen to test first, deploy often and pair program
- You’ll have a high level of coding standards (OO, design patterns, testing approaches, TDD) with a polyglot approach to problem solving
- You’ll be a customer focused, natural influencer and negotiator with an enthusiasm for motivating teams
- You’ll be an active learner, with a passion for keeping up to date with emerging technologies, and able to pick up new concepts fast
- If the applicant is a senior, we expect a proven experience of coaching, mentoring and driving technical excellence from a team of engineers
- Strong knowledge of Android SDK, Kotlin / Java
- Knowledge of thin view architecture (MVP/ MVVM/ MVI or similar)
- Exposure to Gradle build process and Continuous Integration
- Experience in writing Unit Tests (JUnit), UI tests (Espresso) and Mocking (Mockito)
- Experience of multi-threading and working with frameworks such as RxJava and dependency injection such as Dagger
- Experience working with REST APIs and offline caching
- Written and spoken English: intermediate or higher