We own and develop the MyDyson smart home app, which is at the forefront of Dyson's IoT and customer 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 4 million connected Dyson machines. We have huge ambition to grow this platform and as we support more machines from more categories the challenge is significant.
We have App teams located across the UK, Singapore and Poland. We all come from a variety of educational backgrounds and experience levels; not all of us are computer science graduates. We believe that teams composed of people from diverse backgrounds are more successful and innovative.
Our teams have the autonomy to manage their own work using Scrum or Kanban frameworks, each honing their ways of working through regular retrospectives and knowledge sharing. We all share a commitment to creating high-quality code, and engineers choose to follow practices such as pair programming, mobbing, and test-driven development. We also regularly share our knowledge and interests peer-to-peer through weekly 'Community' meetings, which have led to the adoption of new technologies and improved cross-team collaboration.
Besides being software professionals, we are also people who enjoy playing online or board games, heading out to lunchtime yoga classes, recording our latest run on Strava or just catching up over coffee. The last two years have been a challenge, but we have maintained and strengthened our culture while working through the various lockdowns with virtual events, an informal team newsletter and an empathetic attitude to the needs of individuals.
We are on the lookout for an Andoid Developer to join our mobile app team at Dyson. Communication, collaboration, self-evaluation, and a desire to improve will hopefully be second nature to you, alongside core focus on quality-driven engineering practices. You understand the need to deliver robust, testable code balanced against the need to deliver fast.
Our app has a modular construction and is built using the MVVM pattern. Our codebase is over 85% 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. Newer parts of the app are starting to be written in JetPack Compose.
For our cloud and product API calls, we use Volley, AWS IoT SDK and Gson, and we use Dagger for dependency injection. Almost everything that happens within our app is asynchronous, and we have extensive code to capture, combine and manage event streams. The majority of our asynchronous logic is in RxJava, although we are moving to use Coroutines and Flow in parts of the app.
We write our tests with JUnit, Robolectric and Mockito, and our UI tests are written in Espresso with Kakao.
What will you be doing:
Benefits:
Financial
Lifestyle
Health
#LI-HYBRID
Dyson is an equal opportunity employer. We know that great minds don’t think alike, and it takes all kinds of minds to make our technology so unique. We welcome applications from all backgrounds and employment decisions are made without regard to race, colour, religion, national or ethnic origin, sex, sexual orientation, gender identity or expression, age, disability, protected veteran status or other any other dimension of diversity.
Read Full Description