About the Role

At Todoist, our mission is to empower people with simple yet powerful tools.

We're a multidisciplinary, fully-remote team that's passionate about creating products, like Todoist and Comms, that improve people's lives. We thrive on innovating new solutions to old productivity challenges and we seek to rethink how productivity tools are made.

Our Core Values

  • Ambition: You aspire to put a dent in the universe. You set high standards for yourself and those around you. You solve issues that have a high impact on our customers and our company.
  • Mastery: You care deeply about the quality of your work. You're continuously learning and pushing yourself to the limits of your ability. As a champion of your craft, you are also a champion of your well-being – you work intensely, then disconnect completely.
  • Independence: Others can trust that you'll deliver on time. You keep your word and trust your teammates to do the same. You are proactive, take ownership, and remain accountable with little or no direction.
  • Communication: Your communication is clear, concise, and engaging. You keep others in the loop and never go radio silent. You speak respectfully and foster warm relationships through your interactions.

Your Team & Role

We're looking for an Apple Engineer to join the team that builds Todoist for iOS, iPadOS, and watchOS, and the iOS app for Comms, our team communication product. Millions of people open Todoist on their iPhone every day, and you'll be one of the engineers responsible for making that experience fast, reliable, and a pleasure to use.

The Apple team is seven engineers plus the Head of Apple Engineering, working fully remote and async-first. Rather than one architect deciding everything, each engineer is the Directly Responsible Individual (DRI) for an area they own and evolve: architecture, foundations, testing, performance, accessibility, integrations, and build configurations.

We're in the middle of modernizing a codebase that has been shipping since 2013. The storage layer is done: we moved from Realm to GRDB, and hundreds of persistence tests now run on Swift Testing. The work ahead is in the UI and concurrency layers moving to SwiftUI and Swift Concurrency.

Responsibilities

  • Design, build, and ship features across Todoist and Comms on Apple platforms, from spec review through App Store release
  • Own an area of the codebase as its DRI, setting its direction and raising its quality over time
  • Move screens from UIKit to SwiftUI and legacy asynchronous code to Swift Concurrency, within an architecture that is MVVM-C with dependency injection
  • Investigate and fix crashes and performance problems surfaced via Sentry and Customer Experience
  • Keep the CI pipeline and tooling healthy, including automated CI failure investigations
  • Work in cross-functional squads with designers, backend engineers, and product managers, and rotate on the Hero support rotation

Requirements

Technical Skills:

  • Professional experience designing, building, and maintaining production iOS apps in Swift, closely following language evolution
  • SwiftUI experience in production, alongside sufficient UIKit experience to migrate legacy codebases
  • Hands-on Swift Concurrency experience (async/await, actors, and structured concurrency), including migrating callback-based or Combine-based code
  • Familiarity with common persistence approaches such as GRDB, SQLite, or Core Data, and safe data migration patterns
  • Strong testing practice covering unit and UI tests
  • Comfort with Git, pull-request workflows, and CI pipelines, providing high-quality code reviews
  • Familiarity with Apple's Human Interface Guidelines and recent WWDC updates

Mindset:

  • Effective use of AI coding tools and assistants with strong critical validation
  • Comfort with direct, frequent feedback in a feedback-forward environment
  • High ownership, initiative, and proactive planning
  • Clear written communication in English, comfortable making async decisions in writing
  • Focus on accessibility and security as core building blocks

Nice to Have:

  • Experience with watchOS, widgets, or app extensions
  • Experience in large-scale codebase migrations or monorepo setups
  • Experience working remotely across time zones

Hiring Process

  1. Submit Application: Complete your application with thoughtful responses to questions.
  2. Application Screening: Thorough review by our recruitment team.
  3. Salary Transparency & Recruiter Screen: 30-minute call with Talent to share location-based salary ranges.
  4. Value-Alignment Interview: Call with Jaime, Head of Apple Engineering.
  5. Paid Task Assignment: Practical take-home task showcasing role-specific skills.
  6. Role-Alignment Interview: Technical conversation with Paul, Apple Engineer.
  7. Culture-Contribution Interview: Discussion with Gonçalo, CTO.
  8. Reference & Background Checks
  9. Offer

Culture

Async-friendly

Open to

Worldwide

Sign in to track applications and earn points.

More roles at Todoist

Similar remote roles