Have they developed taste for 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 is truly excellent in any domain. Excellence can’t be learned passively since it requires being meaningfully better than the status quo. What we care about most, though, is whether they have developed a sense for what high-quality engineering looks like. This shows up in how they reason about systems, the standards they hold for their own work, and the kinds of tradeoffs they find acceptable. They should recognize that excellence is rare and that developing real engineering judgment requires years of deliberate work.
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?
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.
Working at Convex is rewarding and the workload isn’t crazy but 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.