Software Engineer, Backend; Node.js
Listed on 2026-08-30
-
Software Development
Backend Developer, Software Engineer, DevOps, Cloud Engineer - Software
Location: Northern
About Plane
Plane's mission is to build the infrastructure the world's work runs on. Every organization runs on three things: the projects it's driving, the knowledge it keeps, and the requests it fields. Plane brings all three into one open, adaptable platform: simple enough for any team to adopt, dependable enough for organizations to build on. And we are building it for a future where humans and AI agents do that work together.
Plane began in public on Git Hub at the end of 2022. Since then it has grown into a work management platform used by teams around the world: 55,000+ stars, 5,000+ forks, and a contributor community that reads our code and files our issues. Organizations run Plane as a managed Cloud service, on their own infrastructure, or inside fully isolated environments.
Building in the open keeps us close to users and raises the standard for everything we ship.
Plane is the #1 work infrastructure in aerospace, defense, financial services, and other regulated industries: organizations whose requirements for control, auditability, and data residency rule most software out. When the strictest buyers pick a system of record, that choice means something. Adoption is growing fastest on Plane Cloud and in sovereign clouds, deployments that keep everything inside a country's own borders and rules.
Plane is backed by top investors and built across San Francisco, London, and Hyderabad. We work in tightly knit teams, stay close to users, and care about the visible product as much as the unglamorous details that make software dependable. People own problems end to end, and we add process only when it helps the work.
Humans and agentsWe believe the next decade of work will be done by humans and AI agents together. Not agents replacing people, and not a chat window bolted onto software built for humans clicking around, but both working in one system of action, where an agent's work is as visible and as accountable as a person's.
Most software treats AI as a feature. We treat agents as a kind of worker, and that changes what the system underneath has to be. Agents are only as good as the context they can see and the state they are allowed to change, so shared context, explicit state, durable history, and accountable action are not items on our roadmap. They are the product.
Plane is built so that when an agent acts, the humans responsible can see what happened, why, and on whose authority, and the record survives.
This is what the infrastructure is for: making the future where humans and agents work together useful, legible, and fully within the organization's control. Every role at Plane is some part of building that.
About the roleWork arrives at Plane from everywhere else first:
Slack threads, Git Hub pull requests, the Jira or Linear instance a company is leaving behind, and now from agents acting through OAuth apps that other developers wrote. You will own the Node and Type Script services that carry all of it, which means the importers that move a company's history without losing a comment, the integrations that keep two systems agreeing about the same issue, and the queues and workers underneath both.
You will also own the developer surface external builders use to write apps against Plane, so the quality of your API decisions shows up in other people's software. You will work with the Django engineers whose data model you write into, and with external developers who report their bugs in public Git Hub issues rather than a support queue.
Own the integrations that connect Plane to Slack, Git Hub, and the other tools work arrives from, including what happens when the other side changes its API without telling anyone.
Own the importers that migrate a customer's history out of Jira, Linear, and similar tools. An import that drops a comment or reassigns an issue is a bad first day for an entire company.
Design the queue and worker architecture behind that work: retries, idempotency, back pressure, and the jobs that must never run twice.
Build the OAuth and developer-facing surface that external builders write apps against, including the agent apps that act inside customer work spaces.
Work daily with the Django engineers whose data model you write into, and answer external developers in public Git Hub issues.
Reconcile state after something failed halfway. Partial imports, expired tokens, and rate limits mean real time goes into repair paths rather than new features.
You have shipped Node.js and Type Script to production. Point us to something you built, and tell us one decision in it you would make differently now.
You have worked in Express, NestJS, or a comparable framework. Structure, middleware, and dependency wiring are familiar rather than new.
You have built queue and worker systems. Retries, idempotency, and what happens when a job dies halfway are problems you have already solved once.
You have integrated with third-party APIs you did not control. Rate limits, pagination, webhook…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).