Software Engineer, API Platform
New Today
Convex is transforming the way developers build applications.
Our mission is to fundamentally change how software is built on the Internet by empowering developers to create fast, reliable, and dynamic apps without a backend team. We provide a full-stack app platform carefully designed with database, compute and backend abstractions that allow developers and LLMs to move fast but also create products that scale and remain simple over their lifetime.
The Team:
Convex has assembled a team of engineers who have built and designed some of the largest backends in the world, with exabytes of data, millions of transactions per second, and shipped desktop and mobile software onto billions of devices. We are a group of friendly, collaborative, and passionate people that love working in-person together in our office in San Francisco.
Description
The Role:
Convex is a backend platform but our key differentiator is an excellent client API and developer experience. We've invested huge efforts in our client libraries, development APIs and sync protocol to make Convex a joy to use for application developers. We're looking to expand our team to develop the next version of the Convex API and help define what the modern application stack looks like.
If you're an experienced TypeScript developer, care deeply about elegance and taste in API design, and believe that good platforms matter even more, not less, in an era of AI app development, then this is the job for you.
What You'll Do:
Design, build, and maintain Convex's client libraries, sync protocol, and query APIs.
Support new frameworks and keep track of new technologies in the app development space.
Develop an understanding of what abstractions scale and compose well in our stack so we can build libraries that are not just easy to use but also simple over the lifetime of a project.
Be self-directed to prioritize the right projects to work on, in close collaboration with the engineering team and CTO (hi! this is me, James).
Help establish good practices and design guidelines as we scale up our team and systems.
Write a bunch of cool client library code.
What Excites Us: Multiple years experience building APIs, client libraries or developer tools.
Good understanding of best practices in the TypeScript, React, and web dev ecosystems.
Experience or enthusiasm for scaling in a high growth startup environment.
Interest to work in-person at Convex's office in SF.
Ability to write high quality code (strong TypeScript experience a plus).
An enthusiasm for going deep to understand Convex systems and not be constrained to a certain layer of the stack.
Ideal characteristics
This is an attempt to outline some characteristics of candidates that would make great engineers at Convex. We're have a high demand for conceptual thought and architectural sensibilities, while also having the typical demands of a small startup.
Have they seen excellence?
If someone has a few years of experience it's extremely valuable for them to have worked closely with a person, team or organization that's truly excellent, in any domain. Excellence can't just be learned passively since it requires being better than the status quo. The candidate doesn't need to be excellent yet but they need to have an appreciation that it requires a lifetime of dedication.
Are they a deep thinker?
Convex is a rejection of industry norms and a belief there's a better way of building apps. This requires us to think for ourselves and chart our own course. Engineers here need to think deeply about why they're solving problems and the long-term implications of their choices. If someone does something just because they were told to or because it's a "best practice" they will probably not excel here.
Do they understand the demands of a user-facing live-site service?
We generally weigh experience on OLTP databases over OLAP or offline systems. Not just because it's more relevant domain experience but it also involves a mindset that the system absolutely must work because there's a critical user-facing application on the other side. Live-site experience brings an appreciation of how hard it is to keep a service running at all times and how important it is to build simple well-abstracted systems that are less likely to fail.
Do they value simplicity and pragmatism?
Simplicity is at the heart of all good systems, especially those that are able to scale and adapt to future needs. In addition to architectural simplicity, we also try to do the simplest thing to solve a given problem at Convex. Don't come here because you want to write a consensus protocol or storage engine, even though sometimes we need to do these things. Come here because you want to get really good at achieving great things in the simplest possible way.
Do they bring energy to the room?
Shout out to TigerBeetle for this one. Startups are hard. Building something from nothing is hard. Driving forward progress despite uncertainty is hard. Shitting on stuff is easy and just brings everyone else down. We have a high bar for quality but also a high bar for being constructive, positive, and excited about making things better. We're meant to be having fun here.
Do they have tenacity?
Working at Convex is rewarding and the workload isn't crazy but the our users come first and sometimes that means we need to be on-call. We sometimes (rarely), get paged at night and have to respond with dedication, sometimes need to dig deep to debug a tricky issue or solve a problem no one has solved before. There's a camaraderie that comes from being in a team where everyone has tenacity, will step in to help each other out, and can be trusted to do the right thing.
*The salary range for this full-time position is >$170,000 + equity + benefits
- Location:
- San Francisco, CA, United States
- Job Type:
- FullTime
- Category:
- Computer And Mathematical Occupations