The Opportunity

We are looking to hire a mid to senior-level engineer to help build the Moment web application. You will own building new features and fixing bugs within our application. This also means making production-ready features (with instrumentation and browser performance in mind), writing runbooks if needed, and sharing knowledge with the team about your features to avoid tribal knowledge.

You will also assist with the maintenance of the existing features, help with the product roadmap and support on-call (we do not have an on-call policy yet, but plan on doing a rotation during business hours).

You are excited by the following:

  • The developer tools and cloud infrastructure space. The current tooling is not user-friendly and the world can do better than command-line tools. You are excited by good user experiences and making developers' lives better.
  • Working in Typescript with React and ProseMirror/CodeMirror, Go with GraphQL and AWS products like DynamoDB, ECS, and Systems Manager Parameter Store.
  • Getting buy-in from stakeholders and working collaboratively on building features.

These are some features you would get to work on:

  • 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.
  • Complex component API design. Moment exposes libraries of reusable components (e.g., buttons, text areas, charts) which must be applicable to a wide range of scenarios, and intuitive for engineers that do not know JavaScript.
  • Application performance. We want the Moment app to be fast and responsive, as we believe iteration speed is important to the user experience.

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 into our design system with our frontend engineer and 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.
  • Fix bugs in our web application, either on the frontend stack or the backend.

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 about the frontend and backend codebase.
  • 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.

Within 12 months, you'll...

  • Propose and lead bigger projects in the Moment app.
  • Mentor and onboard new hires.
  • Be active in the recruiting and hiring process.
  • Continue to build, launch and ship major features of the web application.

Tech Stack

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

Let us know what you're interested in when you apply, and briefly include any information or links to projects that you think will help us understand you and your interests. We won't leave you hanging, so if you haven't heard from us check your Spam and Promotions folders.

Hiring Policy

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.