At Theatre.js we are enabling artists and engineers to create great interactive experiences. We are also empowering people to craft their own creative environments. Our mission is to blur the line between designer and developer, author and consumer, artist and scientist. Read more about our mission in our funding announcement here.
- We are toolmakers. We feel most fulfilled seeing what our users create using our tools.
- We build with a low floor and no ceiling – we strive to make basic tasks easy, manage the complexity of more involved tasks, and mindfully put in escape hatches so users can always build their own solutions when necessary.
- We dislike silos. We strive to empower designers to code, coders to design, and disciplines to mix.
Working at Theatre.js
We are assembling a small core team, with autonomy and a great deal of creative freedom for our teammates.
We also have an amazing community. We build in the open and don’t shy away from showing our community our works in progress.
We put great personal care into everything we build. We give our teammates the creative freedom to come up with and work on innovative new features, and the public credit they deserve for them.
About this role
We plan on rolling out a unique collaboration design for Theatre.js. We intend to allow real-time collaboration where needed, but also enable working in isolation, easy forking-and-merging, and an inheritance model inspired by Self. This is quite a challenge once you factor in the performance envelope we intend to work in.
As our founding full-stack engineer, your main responsibility will be building and maintaining the architecture that supports this collaborative design, from the backend to the front-end.
- 5+ years of experience as a software engineer across the stack
- Experience building real-time collaboration architectures, mainly CRDTs
Our tech stack
- Theatre.js is currently written in Typescript
- We are soon adding Rust to the mix, so you'll fit in with either Rust or Typescript
- We borrow heavily from other languages like lisps, Haskell, and Smalltalk, but given the performance envelope, we write the front-end code either in each platform's native language (JS/TS, Swift, etc) or Rust
- Backend is written in Typescript for now, but we expect our founding backend engineer to take ownership of the stack and tweak it the way they best see fit.
If you feel enthusiastic about our mission but don't see a position that fits your profile, we'd still love to hear from you. In this case, please mention anything you feel might be relevant to your application.
- Competitive compensation matching your “Founding X” title
- We are mindful of our work tempo and have a flexible vacation policy (and we strongly recommend taking 4 weeks a year)
- We are evolving a remote-first culture with semi-asynchronous communication
- We are looking forward to our first team offsite, and more to come!
How to apply
Send an email to firstname.lastname@example.org. Tell us what you think of what we're building. Have you had similar ideas in the past? Optionally, tell us what you wish to do once you’re part of the team.