At Dyson, we are focused on solving the problems that others have ignored, solving them first using our technology and ingenuity. To achieve this, we need to pioneer technologies that are different and authentic. This is the core of what we do and who we are. We must strive to create the future, every single day by developing new things, different things, things that go against the grain with a diverse and global team of ingenious minds.
We’re on the look-out for Android Developers (All-Levels) to join our global App team, who 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.
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 modern 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.
About the role
We are on the lookout for Android Developer (All-Levels) to join our mobile app team at Dyson. Communication, collaboration, self-evaluation, and a desire to improve are will hopefully be second nature to you, alongside holding high-regard for good 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. The codebase is about 65% Kotlin, with an ongoing effort to migrate our remaining Java code.
- We are taking advantage of increased 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 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 we would like from you:
- Keen to join a global team of talented individuals whilst contributing to complex features and improvements across the Dyson app, ensuring they are tested, robust and scalable.
You will have a keen interest in or hold experience in Platform work, either Core or CI based.
Keen to collaborate with colleagues from varied disciplines, including test engineers, product owners, Scrum Masters, UX/UI designers, and software engineers in our cloud and embedded teams.
Enjoy sharing your knowledge within the app team to develop your skills and competencies and those of your teammates, including mentoring and coaching less experienced engineers.
Take pride in guiding non-technical colleagues in their understanding of the product and the implications of technical decisions.
Enjoy identifying modern technologies, tools and approaches to help continually improve standards and quality and building a plan to introduce them within the team.
- You are interested in how technology can improve the environments people live in, holding an innovative approach to your craft.
- You have a demonstrable interest or experience in Platform work, either Core or CI based.
- You are a collaborative person that believes in the Agile principles and how they can help empowered teams deliver the best software.
- You have contributed quality code to Android apps that have delighted their users.
- You are passionate about learning new things and sharing those things with others.
- You get satisfaction from solving real-world problems with well-crafted software.
- Performance related bonus
- Company paid Life Insurance
- Discounts on Dyson machines
- Competitive pension scheme
- Flexible benefits programme with a growing range of voluntary benefits, including the ability to purchase additional holidays.
- 27 days holiday plus statutory bank holidays.
- Secure bike parking / Cycle to work scheme.
- Free lunch
- Private Medical insurance for all employees
- Employee Assistance Program for employee and dependents
- Digital GP and prescription service