Senior Frontend Developer
We are looking to hire an engineer that will own the experience of our core product, the Moment web application, including all the technical decisions required to make the application a world-class developer experience. These decisions span a wide variety of individually complicated technologies, such as:
- Robust, fast rich text editing. The Moment web app is essentially a programmable docs platform, and the editor (currently) is a WYSIWYG editor containing a mixture of rich text, multimedia (e.g., images), and executable code. Editing these things must be fast and intuitive.
- Real-time collaboration tooling. e.g., Google Docs-style collaborative editing, comments, etc.
- Efficient data retrieval, caching, and management. The UI must be responsive even when managing a large amount of data from a variety of sources, e.g., from AWS, Kubernetes, PagerDuty, DataDog.
- Making the application performant. We want the Moment app to be fast and responsive, as we believe iteration speed is important to the user experience.
You will assist with the product roadmap development. You will work closely with our design team to come up with UI flows. You will also work with our small engineering team, who are mostly infrastructure engineers turned full-stack developers, to architect these big features.
You are excited to teach the team the following:
- How to build large-scale web applications that are performant and maintainable.
- React with the latest industry standards.
- How to make web app builds more performant.
You are excited to learn about the developer tools space and how to make infrastructure engineers more productive. You want to learn about the Kubernetes and Cloud Native space. You are also excited to learn about text editors and how to build reactive applications with ProseMirror.
Within 1 month, you'll...
- Get our application built and running on your local laptop.
- Get to know the team and start pair programming with engineers.
- Onboard to our design system in Figma with our head of design.
- Tackle your first bug and ship a change in the codebase!
Within 3 months, you'll...
- Ship your first small feature of the Moment web app.
- Participate in Moment's product development process.
- Start making performance improvements in our web app.
- Have ideas about how to improve our web builds.
- Have ideas about how to architect some major features in our roadmap.
- Have ideas on how to refactor our web application to make it more maintainable.
Within 6 months, you'll...
- Build, launch and support your first major feature. You will have buy-in from your stakeholders on the technical architecture. You will partner with design and other members of our engineering team to build out the feature.
- Be comfortable and knowledgeable around the frontend codebase.
- Own the user experience of the web application and be engaged with customer feedback and user studies.
- Be looking for problems to fix on your own, pitching features we should build, and helping define the product direction.
- Have improved the web builds and deployment systems around shipping the web application.
- Be recruiting and mentoring other future engineering hires.
Within 12 months, you'll...
- Be leading a team of engineers to ship features to customers.
- Continue to mentor, pair program, and develop engineers in the team.
- Be active in the recruiting and hiring process.
- Continue to build, launch and ship major features of the web application.
Moment currently uses React and Redux. Our backend is in Go, and we use DynamoDB as our database. We heavily use ProseMirror in order to create the rich text editing experience and use Monoco/CodeMirror for the code editor.
To apply, please send an email to email@example.com with the job title in the subject line. Let us know what you're interested in, and briefly include any information or links to projects that you think will help us understand you and your interests.
At Moment we believe that providing equal opportunity to all isn’t a just hiring policy, but a lifestyle. We know that diverse perspectives, experiences and backgrounds create an environment where everyone can do their best work to build the best product. That’s why we make all of our hiring, promotion and development decisions without regard to age, ancestry, color, race, disability or medical condition, genetic information, sex, gender expression or identity, genetic information, marital status, sexual orientation, religion, political affiliation, veteran status, national origin or criminal background.
We recognize that everyone starts in a different place, so we support our teammates in their careers by providing opportunities for advancement and learning. Supporting your career sometimes means supporting you through life events, and we encourage our employees to take full advantage of time off, parental leave, family and medical leave, and all other benefits and privileges of employment.
No matter who you are, what your background is or how you identify, we strive to conduct interviews that make it easy for you to showcase your strengths, including making accommodations for a disability. If a position excites you and you’re eager to learn, we encourage you to apply, even if you don’t meet all the skills criteria yet. We can’t wait to meet you.