Database Reliability Engineer
$108k - $170k •
Build the future of money, Africa-first.
Join our global team bringing modern, affordable banking services to those who need them the most.
We're making Africa the first cashless continent.
In 2017, nearly 60% of adults in sub-Saharan Africa had no bank account. That's for good reason—the fees are too high, the closest branch can be miles away, and nobody takes cards. Without access to financial institutions, people are forced to keep their savings under the mattress. Small business owners rely on lenders who charge extortionate rates. Parents spend hours waiting in line to pay school fees in cash.
We're solving this by building financial services that just work: no account fees, instantly available, and accepted everywhere. In places where electricity, water and roads don't always work, you can still send money with Wave. In November 2017, we launched a mobile app in Senegal for cash deposit, withdrawal, and peer-to-peer and business payments. In 2019, we expanded to Cote d'Ivoire. Now, we're enabling over 700k payments every day, and growing fast. Our goal is to make Africa the first cashless continent. And that's where you come in :)
How you’ll help us achieve our mission
Wave is one of the fastest-growing financial services ever, and our data is rapidly getting too big to live on a single node. You’ll help us gracefully handle our growth by finding the best ways to scale our Postgres databases.
You’ll be our first dedicated database specialist, so you’ll get to define the role, set technical direction and grow into a team lead if interested.
Our to-do list changes constantly, but here are some recent projects as examples of what you might work on:
- Improve the throughput of our double-entry accounting ledger by tracking down subtle edge cases in Postgres’ implementation of serializable isolation.
- Scale our database by introducing delayed read replicas while preserving within-session read-your-writes consistency.
- Improve fault isolation by splitting our accounting ledger off from the main database into its own instance.
You’ll be responsible for:
- Setting the technical strategy for our database systems: deciding what it should look like when we have 10x as many users and engineers, and charting a path to get there.
- Maintaining 2+ large self-hosted Postgres clusters on Google Cloud Platform.
- Adding instrumentation to identify performance bottlenecks and surface them to the right teams.
- Building tools, playbooks and documentation to make it easy for application developers to work with databases.
- You care a lot about working on software whose mission you can believe in.
- You have at least 4 years of professional engineering experience.
- You have experience being responsible for the reliability of a large relational database serving a transactional workload, ideally Postgres.
- You have previous experience in a technical leadership position.
About engineering at Wave
- Boring technology
- Simple, predictable designs
- Deeply understanding our tools and systems
- Being tenacious in the face of tricky problems
- Constantly trying to improve, as engineers and colleagues
Our stack (note that we will train you on any of these —you don't need prior experience—and you probably won't work much/at all with the frontend parts):
- database: Postgres
- cache: Redis
- infrastructure: GCP / Terraform
- orchestration: Kubernetes (does not manage Postgres)
- backend: Python 3 (+ mypy)
- [you won’t work with anything below here, but listing them for completeness]
- API layer: GraphQL
- android frontend: Kotlin/Jetpack
- iOS frontend: Swift/SwiftUI
- web frontend: TypeScript/React
- You can work remotely from anywhere (between UTC -5 and +4) with reliable Internet access.
- Every two to four months, you’ll travel to Africa for a one-week retreat with the rest of Wave’s remote team. (Wave covers all costs.)
- This role involves participating in an on-call rotation. (Details of the rotation depend on which team you join.)
- Our salaries are competitive and are calculated using a transparent formula. For this role, depending on your level of experience and location, we offer a salary range of 108,000-170,000 USD (or local equivalent), plus equity worth 3-6x that.
- Major benefits:
- Subsidized health insurance for you and your dependents and retirement contributions (both vary from country-to-country)
- 6 months fully paid parental leave and subsidized fertility assistance
- Unlimited vacation with a 20-day minimum requirement
- $10,000 annual charitable donation matching
- We have a continuously growing in-country team in Senegal, Cote D'Ivoire and Uganda, plus remote team members spread across the world. We're deeply passionate about our mission of bringing great financial services to the people who need them most.
- We foster autonomy for our employees. You'll learn to own your own projects at every stage, from understanding the problem to monitoring your solution in production.
- We’re backed by world-class investors including Khosla Ventures, Founders Fund, Y Combinator, and the cofounders of PayPal.
We use boring technology for the most part: Postgres + Python on the backend. Native apps on the frontend. The hardest parts are connectivity and robustness in the face of bad networks and crappy devices.