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*
Clerk is a developer tools company in the Authentication and User Management space. We provide developers with full-stack components like
<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
With this new scope, Clerk will provide all the boilerplate necessary to start a B2B SaaS - except the application logic itself.
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
<UserProfile/> components, we look at Stripe's recently launched Payment Element as a good example of a full-stack component.
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:
We have our fair share of debates deciding between
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.
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.
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.
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.
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.
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.
- 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, remove environment
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.
- Competitive salary and equity
- Gear of your choice for your home office
- Health, dental, and vision insurance (US)
- Unlimited vacation policy - 25 days recommended per year plus national holidays in your country of residence. Take time when you need it.
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!
Please apply through Workable or email our cofounder directly at firstname.lastname@example.org