← Все вакансии/Senior/Plane
SeniorFlexibleUnited States

Senior Staff Engineer, Frontend

P
Plane
Уровень
Senior
Формат
Flexible
О роли

Описание вакансии

About the Role

Plane's client is local-first and collaborative, which means state lives in the browser, moves over WebSockets to an Elixir sync service, survives the network going away, and has to resolve what happens when two people edit the same document at once. Agents now edit alongside those people, so the same client has to make a machine's change as legible and as attributable as a colleague's. This is an individual contributor role that owns that architecture: where the sync boundary sits, what the design system guarantees to every team building on it, and what the performance and accessibility bar is for views holding tens of thousands of issues. You will work with the Elixir and Django teams, with design, and with the frontend engineers in San Francisco and Hyderabad whose work you will review and whose standards you will help write. All of it happens in a public repository, so your architectural decisions get read, questioned, and depended on by people outside the company.

What you'll do
  • Own the architecture of Plane's frontend: how state moves through the client, where the boundary with the Elixir sync service sits, and what the shared component library guarantees to every team building on it.
  • Own real-time collaborative editing end to end, including transport, offline behavior, serialization, and what the interface does when two edits cannot both be right.
  • Set the performance and accessibility bar for dense views and hold the product to it. Rendering paths, memory, and bundle size in workspaces holding tens of thousands of issues.
  • Decide how agent activity appears in the interface, so that a change made by a machine carries its authority and its history as visibly as one made by a person.
  • Raise the level of the frontend engineers around you in San Francisco and Hyderabad, through design review, code review, and standards that hold after you stop pushing them.
  • Carry migrations through a public codebase, where community contributors and self-hosted customers running months-old versions all feel the change, and some of them will tell you so in an issue thread.
What you'll bring
  • You have eight or more years building web applications, and you owned the architecture of the recent ones. Not eight years of shipping features inside someone else's design.
  • You are expert in TypeScript and React. You can take a rendering problem down to the browser: reconciliation, memory, and paint, with measurements rather than instinct.
  • You have owned a design system other teams depended on. Versioning, deprecation, and what happens when a component is used in ways you did not plan for.
  • You have shipped real-time collaborative editing to production. CRDTs, operational transformation, or a comparable approach, including the conflict cases that arrive afterwards.
  • You have raised the level of engineers around you. Mentoring, review, and standards that outlasted your attention.
Nice to haves
  • You have worked inside a rich-text editor framework (ProseMirror, Tiptap, Lexical) rather than only on top of one.
  • You read Elixir, Go, or Python well enough to follow a bug across the boundary instead of handing it off.
  • You have built and shipped an Electron desktop app.
Стек и навыки

С чем работаем