As an Apple Engineer at Doist, you'll use your software engineering skills to help our team continue delivering an amazing experience for millions of users across iOS, iPadOS, and watchOS. You'll design, build, and maintain reusable and reliable code that makes productivity feel effortless.
At Doist, you're not just a developer churning out code – you're an important contributor with business aptitude, creativity, and strong interpersonal skills. You'll have the opportunity to lead and collaborate in cross-functional teams that work to solve real pain points our users face, as well as build new and exciting features that make their lives better.
Our codebase, written in Swift, is far from perfect (and that's okay!). We're looking for ways to modernize our stack and architecture to build the most reliable codebase possible. This is a great opportunity for you to make a meaningful impact on our team and the product millions depend on.
We're a great fit if you thrive in understanding and evolving legacy systems, maintaining a high delivery cadence and quality, systematically repaying technical debt, mentoring colleagues, and working with a highly resilient team. We're seeking an engineer who will raise the bar for the team and help us continue evolving our momentum, solution architecture, and overall quality.
Requirements
About You
These are the key attributes that will enable you to thrive in this position:
Technical Excellence
- You have considerable professional experience in designing, building, and maintaining production-ready software for Apple platforms (iOS, iPadOS, watchOS)
- You have a strong knowledge of the Swift programming language and follow its evolution closely
- You have a robust understanding of the UIKit framework (bonus points if you have worked with SwiftUI in production)
- You have a deep awareness of Apple Human Interface Guidelines and always look for opportunities to ensure they are followed
- You are familiar with the latest and greatest technologies of the Apple platforms announced at WWDC
- You have a strong knowledge of testing principles both in Unit and UI testing
- You are familiar with the most common persistence technologies (e.g. GRDB, Core Data)
- You routinely produce readable, well-structured code in concise Git commits and have extensive experience in writing and reviewing pull requests, consistently providing valuable feedback and mentorship through your reviews
Values Alignment
- You believe in simplicity and practicality, yet you still strive to create meaningful impact in everything you build. You resonate with our core values – mastery, ambition, independence, and communication – and see how they translate into everyday decisions.
Autonomous & Async-Ready
- You thrive with autonomy and have proven that you can get things done without someone looking over your shoulder. Experience in remote teams is a plus.
Effective Communicator & Collaborator
- You can confidently discuss technical nuances in English – both written and spoken – and work seamlessly with designers, product managers, other engineers, and customer experience teams to create better solutions together. You possess strong English speaking and writing communication skills suitable for a remote and asynchronous work environment.
Testing Mindset
- You're no stranger to automated testing (unit, integration, end-to-end) and see it as critical to build robust software.
Performance-Driven
- Measuring, analyzing, and fixing performance issues is second nature to you.
Tooling Proficiency
- Customizing tooling, CI/CD pipelines, production monitoring, and exploring AI solutions to boost productivity is in your wheelhouse.
Accessibility & Security Mindset
- You aim to build inclusive experiences that accommodate everyone's needs. You're attentive to potential vulnerabilities to keep our product safe.