Staff Software Engineer
Staff Software Engineer
Our client is a fast-paced, product-led, agile team looking for talented engineers at the Staff or Principal level to help prepare its product for significant growth.
The team’s mission is to deliver a reliable collaborative editing experience for professionals working with complex documents and production workflows.
The product supports business-critical work where precise formatting, real-time collaboration, and reliability are essential.
Technology:
The system uses React and TypeScript on the front end and NestJS and TypeScript on the back end to provide real-time collaborative editing. It uses an open-source editing framework and APIs that connect document content with downstream tools and workflows. Events from React components pass through sockets into TypeScript APIs, with events and their effects stored in Postgres to support collaboration across multiple users.
Culture:
Our client values caring about each other, candor, professionalism, and open collaboration. Clear communication is essential, including understanding how messages are received and closing the loop on conversations and decisions.
Key Responsibilities:
-
Build a protocol-driven application: Develop a sockets-connected collaborative editing application using Operational Transform protocols. Prioritize correctness, maintainability, and thoughtful engineering.
-
Iterate and deliver: Release improvements behind feature flags, gather feedback from early adopters, and deliver complete, usable solutions. Support capabilities such as offline editing and merging changes when users reconnect.
-
Design for tradeoffs: Translate higher-level product goals into potential solutions, balancing time to market with feature breadth and depth. Communicate clearly when technical remediation or architectural investment is needed, while maintaining quality in a business-critical application.
-
End-to-End Engineering: Own work across the stack within a small team. Individuals may specialize in front-end or back-end development, but the team shares responsibility for the entire system. Much of the work involves complex front-end interactions and rendering.
-
Infrastructure as Code (IaC): Participate in infrastructure development and optimization. Terraform experience and comfort working with cloud infrastructure are helpful.
-
Communication and Collaboration: Contribute to a positive, productive team culture through clear communication and follow-through on conversations and decisions.
-
Support: Share responsibility for application operations, monitoring, and incident response.
Strong Signals:
-
Staff or Principal-level experience: Equivalent to 7+ years in a hands-on software engineering role.
-
Front-End Expertise: Mastery of React and TypeScript, with a deep understanding of complex front-end development. Experience should extend beyond traditional websites to interactive, near-real-time collaborative applications.
-
Domain Experience: Experience with real-time collaboration tools or solving low-latency distributed systems challenges. Practical experience with persistent data structures.
-
Collaboration: Strong communication skills and the ability to work effectively within a small, agile team, including close collaboration with nontechnical colleagues.
-
Attention to Detail: A precise, quality-focused approach to engineering, with a strong commitment to customers and reliable delivery. Comfortable using AI development tools while maintaining rigorous engineering standards.
-
Positive Leadership: The ability to create a productive environment, remain constructive under stress, and lead through collaboration, sound judgment, and emotional intelligence.
Nice to Have:
-
Experience with ProseMirror or other collaborative editing libraries.
-
Familiarity with CRDT, OT, or similar protocols.
-
Familiarity with back-end frameworks and tools such as NestJS and Prisma.
-
DevOps architecture skills and deep AWS expertise.
-
Experience building document editing or production workflow software.
-
Experience with real-time collaboration architecture, including socket-based communication, lazy loading content into the viewport, maintaining cursor alignment during redraws, pagination, and text layout.
-
Experience with Node.js, Postgres, Terraform, observability tools, authentication, SSO, and mature CI/CD practices.

