Software Engineer - iWork for iCloud
Lex
Software Engineering
British Columbia, Canada · Vancouver, BC, Canada
Posted on May 6, 2026
Summary
Pages, Numbers, and Keynote on iCloud.com are full-featured productivity applications used by millions of people every day, with the performance and polish users expect from Apple. We’re looking for a talented engineer with experience with web and native technologies who cares as much about the craft of building great software as the experience it creates.
Description
In this role you’ll work inside a large, sophisticated codebase that has to be both highly performant and well maintained. On a typical day, you’ll be writing TypeScript and React to ship new features across Pages, Numbers, and Keynote on iCloud.com, collaborating with designers and platform engineers to ensure those features feel native-quality on the web. You’ll also contribute to the build systems, testing infrastructure, and internal tooling that keep the team productive. Our priorities can - and do - change, which means you’ll need to be comfortable with ambiguity and skilled at bringing clarity to complex problems. All of your hard work will be used by millions of people around the world every day.
Minimum Qualifications
Pages, Numbers, and Keynote on iCloud.com are full-featured productivity applications used by millions of people every day, with the performance and polish users expect from Apple. We’re looking for a talented engineer with experience with web and native technologies who cares as much about the craft of building great software as the experience it creates.
Description
In this role you’ll work inside a large, sophisticated codebase that has to be both highly performant and well maintained. On a typical day, you’ll be writing TypeScript and React to ship new features across Pages, Numbers, and Keynote on iCloud.com, collaborating with designers and platform engineers to ensure those features feel native-quality on the web. You’ll also contribute to the build systems, testing infrastructure, and internal tooling that keep the team productive. Our priorities can - and do - change, which means you’ll need to be comfortable with ambiguity and skilled at bringing clarity to complex problems. All of your hard work will be used by millions of people around the world every day.
Minimum Qualifications
- 4+ years of professional experience writing production JavaScript or TypeScript
- 4+ yrs experience with React — hooks, context, performance patterns, and component architecture
- Experience with SproutCore
- Solid understanding of the browser platform: the DOM, event model, rendering pipeline, and Web APIs
- Familiarity with modern build tooling such as Vite, esbuild, or Webpack
- Proficiency with contemporary testing practices — unit and integration tests using Jest or similar, and end-to-end testing with Playwright or equivalent
- Strong communication and collaboration skills, with the ability to work effectively across design, product, and engineering
- Bachelor’s degree in Computer Science or equivalent
- Experience with Canvas, SVG, or WebGL for building high-performance, graphics-intensive interfaces
- Familiarity with WebAssembly and integrating WASM modules for performance-critical work in the browser
- Experience building accessible interfaces with working knowledge of WCAG standards
- Background in native development using Swift or Objective-C