We own and develop the Dyson Link Smart home app, which is at the forefront of Dyson's IoT experience. We are proud of what we have built so far; we have an App Store and Google Play rating of 4.5 and 4.3 stars respectively, we have more than 1 million active users worldwide and our IoT platform has over 3 million connected Dyson machines. We have huge ambition to grow this platform and as we connect more machines from more categories the challenge is significant.
About the role
We are on the lookout for Android developers to join our mobile app team at Dyson. Communication, collaboration, self-evaluation and a desire to improve are second nature to you, and you value good engineering practices. You understand the need to deliver robust, testable code, balanced against the need to deliver efficiently.
Our app has a modular construction and is built using the MVVM pattern. Our codebase is about 65% Kotlin, with an ongoing effort to migrate our remaining Java code.
We are taking advantage of more and more JetPack libraries to help us develop quickly and reduce boilerplate code. These include Navigation Component for UI flows, Room for persistence and WorkManager for background tasks.
For our cloud and product API calls, we use Volley, AWS IoT SDK and Gson, and we use Dagger for dependency injection. Since almost everything that happens within our app is asynchronous, we extensively use RxJava to capture, combine and manage event streams. We write our tests with JUnit, Robolectric and Mockito, and our UI tests are written in Espresso with Kakao.