Clerk logo

Frontend Engineer

Clerk

2 years ago

➔ All jobs

➔ Jobs at Clerk

➔ Apply for this job

Description

We're trying something new and combining the job description for several frontend roles into a single post. This is meant to highlight the diversity of expertise we're seeking, and to give applicants an idea of how the team will be structured.

Public referral bonus: Introduce us to a candidate who joins Clerk and we'll send you $5,000

About us

Clerk is a developer tools company in the Authentication and User Management space. We provide developers with full-stack components like <SignUp/>, <SignIn/>, and <UserProfile/> to handle common but hard-to-get-right flows.

In 2022, we're expanding our scope to include Organization Management and everything that comes with it:

  • Organization onboarding

  • SAML SSO

  • Roles and permissions

  • Subscription management

  • Authorization

With this new scope, Clerk will provide all the boilerplate necessary to start a B2B SaaS - except the application logic itself.

Full-stack components?

While the last generation of developer tools was characterized by APIs targeted at backend developers, we believe the next generation will be full-stack components targeted at frontend developers.

A component is "full-stack" when it provides UI for end-users to interact with, and when it is powered by a third-party API exposed directly to the frontend. Critically, frontend developers can implement full-stack components without needing backend developers to plumb data from a backend-only API.

Besides our own <SignUp/>, <SignIn/>, and <UserProfile/> components, we look at Stripe's recently launched Payment Element as a good example a full-stack component.

Who we're looking for

We're looking for developers who can help improve and grow our full-stack component library as Clerk expands into Organization Management. We're seeking expertise across many frontend disciplines:

HTML & CSS experts

We have our fair share of debates deciding between grid and flex, but our challenges go much deeper. Customization of our full-stack components is unsolved, and it's our top customer request.

  • How can we offer a customization experience that feels natural to developers using any of Tailwind, Bootstrap, CSS modules, or a global stylesheet?

  • Should we deploy our components as Web Components, iframes, or directly into our customer's DOM?

Help us build a design system whose key feature is blending in with others.

Browser API experts

Full-stack components are filled with challenges where the solution depends on an intimate understanding of browser APIs.

  • How can we allow multiple users to be signed in at once, with different users on different tabs, and without URL decoration?

  • How can we provide parity between production (same-site to our API) and development (cross-site to our API) environments?

  • How can we offer multi-page components if the developer's usage of the History API is abstracted behind React Router or Next.js? Or if they don't use the History API at all?

Puzzles like these are essential to delivering high-quality developer experience, and we need more experts to help us solve them.

JS bundling experts

There is no Next.js for building full-stack components, so all the challenges of bundling, code-splitting, and lighthouse score impact fall on us. Help us improve our Webpack configuration or choose to rip out Webpack completely.

React experts

Although our components can be used in any framework (or vanilla JS), they're developed with React behind the scenes. We need more React experts to help us build and optimize them, and we're especially interested in leveraging new tools like React Server Components.

Mobile experts (react-native, Swift, Kotlin)

Help us port our Javascript core to native app developers. While a few developers have reverse engineered Clerk to support mobile, we’re excited to begin building first-class SDKs for mobile applications.

Developer Experience experts

Every project at Clerk is focused on improving developer experience. Our key innovation is our frontend-facing API that powers our full-stack components. Instead of authenticating with a secret key that authorizes any action, it authenticates with the user’s session and only authorizes actions the user is permitted to take.

We've found this pattern to be incredibly empowering for frontend developers, who use Clerk to take control of User Management without ever being blocked by backend developers. As we expand into Organization Management, we need help defining the new APIs that will unlock the functionality for the frontend.

Current stack

Clerks components are written in Typescript using React and CSS modules. They are packaged with tsdx and deployed on NPM. The backend is written in Go and Postgres.

Culture

The team at Clerk is small but our aspirations are big. To drive our mission forward, our culture emphasizes frequent deploys and high quality developer experience, both externally and internally. We recommend reading our weekly changelog posts to get an idea of our pace.

Clerk is a remote team, with timezone concentration in the US and the EU (especially Greece). We believe everyone should work their own hours, but also drive a lot of value from our overlapping hours each day.

Apply

Even if you don't fit these descriptions exactly, we encourage you to apply if you find these challenges interesting. We look forward to hearing from you!

Requirements

  • 2+ years of experience in your frontend focus area

  • A passion for developer tools and high quality developer experience

  • Able to write clean, secure, and performant code with attention to detail

  • Able to perform well in a fast-paced, remote environment

Benefits

  • Competitive salary and equity

  • Gear of your choice for your home office

  • Unlimited vacation policy - 25 days recommended per year plus national holidays in your country of residence. Take time when you need it.

  • Health, dental, and vision insurance

Company

Clerk logo
Clerk11-50 employees
The easiest way to add authentication and user management to your application. Purpose-built for React, Next.js, Remix, and “The Modern Web”.

Hires remotely in

Employment type

Full-time
© 2019-2022 JobsinJS.com. All Rights Reserved.