We’re looking for an experienced frontend engineer to help us lead and shape all things frontend at Plain. You'll be joining an intentionally small, commercially savvy, and product-centric team. Everyone on our team is technical, commits code, and speaks to customers. We maintain complete internal transparency on almost everything, and are just as driven by building a great product as we are by building a great company.
What you'll do
You’ll be one of the most senior individual contributors in our frontend discipline. So while you’ll be very hands-on, you’ll also have a huge impact on what we build, how we build it, and in helping build a frontend discipline known beyond Plain for the quality of its work.
Together with the team, you will work on everything from our most complex challenges to the smallest product improvements.
Here are some examples of things we need help with right now:
- Getting state management right: We've currently normalizing GraphQL queries into a global cache and updating entities via Websockets. Although functional we have a long road ahead to make this faster, more resilient and faster to build with. Fixing this will require some deep thinking and love around our frontend architecture.
- Building a great multiplayer experience: We want to make sure Plain is a delight to use with large teams. We need to develop a more resilient way to allow multiple people to be aware of each other when using Plain, and do so in a technically resilient way which handles all the complex conflicts and race conditions which come with multiplayer support.
- Improving our writing experience: Like Slack, typing is at the heart of Plain, so we want to deeply invest in our writing experience. We want to give you full keyboard control over Plain, let you seamlessly compose rich messages with code snippets, inline images and videos, and make it a breeze to help your customers. This will require some UI heavy lifting, and is the perfect challenge for someone excited about getting even the smallest interaction details right.
This is a great fit if you…
- Have substantial experience working on web apps with complex data fetching, state and performance challenges.
- Enjoy being hands-on with a focus on writing code and shipping things. There is a lot to build.
- Want to work day to day with Typescript, React, GraphQL and a fully serverless back-end.
- Enjoy the autonomy, uncertainty and unpredictability that comes with an early stage company.
- Are opinionated about, and love working on UI
This won't be the right role if you…
- Want to be line manager to a team from day 1. You’ll mentor and develop others, but this will remain an individual contributor position first and foremost for the time being.
- Want all of the benefits that come with an established tech company - top-end comp, free drinks and lunches, etc.
- Want a traditional product team set up, with a predictable roadmap, clearly scoped out tickets, a PM, and so forth.