Job Detail

iOS Engineer

SG

Job Description

About us

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.


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.

About the role

  • Leading your fellow developers in contributing to complex features and improvements on the Dyson Link app, ensuring they are tested, robust and scalable
  • You have a demonstrable interest or experience in Platform work, either Core or CI based
  • 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 your knowledge within the app team to develop your skills and competencies and those of your teammates, including mentoring and coaching less experienced engineers
  • Guiding non-technical colleagues in their understanding of the product and the implications of technical decisions
  • Identifying new technologies, tools and approaches to help continually improve standards and quality, and building a plan to introduce them
Our iOS app is written in Swift and uses the MVVM pattern with Coordinators. We have multiple modules to separate functionality and reuse common code, managed along with our external dependencies primarily using Cocoapods.


Since almost everything that happens within our app is asynchronous, we use RxSwift extensively to capture, combine and manage event streams, also to bind the UI layer.


We are also starting to incorporate the latest technologies such as SwiftUI, Combine and Swift Package Manager. We write our unit tests with XCTest and RxTest, and we use XCUITest for automated UI testing.


Job Requirement

  • Minimally 4 years of iOS development experience, ideally in a product development environment
  • 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 iOS 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
  • You have a strong overlap in experience with our tech stack (see above)
Logo
×

Full Name*
Email address*
Upload a different Resume (Your application will be submitted using this resume instead)
Choose a file
Only .pdf is allowed
HACKERBUCK AWARDED