- Design and Development
- Singapore - Technology Centre
We own and develop the Dyson Link Smart home app (more info here), 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.
There are 5 app teams, located in the UK and Singapore, each with up to 6 mobile developers and 3 test automation engineers, plus a scrum master and product owner. 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 ‘community meetings’, which have led to the adoption of new technologies and improved cross-team collaboration.
We often need to interact with people from different parts of the business, such as embedded software and the cloud teams, so we plan in 5-sprint ‘increments’, based on the best bits of the Scaled Agile Framework. This gives us more visibility of upcoming work while remaining responsive, and allows us to collaborate effectively with other teams within our 11,000-person organisation.
Mutual trust and respect between team members is important to build a supportive environment where people can do their best work. Our teams understand themselves well enough to make decisions about how they work; everyone’s contribution is vital.
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 year has 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.
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.
What you’ll be doing
- Working with your fellow developers to contribute to features and improvements to our Dyson Link app, ensuring they are tested, robust and scalable
- Working with colleagues from other disciplines, including test engineers, product owners, Scrum Masters, UX/UI designers, and software engineers in our cloud and embedded teams
- Sharing knowledge within the app team to develop your skills and competencies and those of your teammates
- Identifying new technologies, tools and approaches to help continually improve standards and quality
- You’re interested in how technology can improve the environments people live in
- You’re a collaborative person that believes in the Agile principles and how they can help empowered teams deliver the best software
- You’ve contributed quality code to Android apps that have delighted their users
- You’re passionate about learning new things and sharing those things with others
- You get satisfaction from solving real-world problems with well-crafted software
At Dyson, it's about more than our machines. We recognise that our success comes from our inventive people. We believe in including everybody and supporting you on your journey with us
We are following the government guidelines regarding COVID19. At this time all interviews will be conducted via video or telephone. We’re taking these precautionary measures to protect both our employee and candidate wellbeing. Our Talent Acquisition team will work with you and provide further information as appropriate.