Mercury is a bank for tech startups. We’re building a product that will power the future of American industry. This turns out to be pretty ambitious for a team of eight, so we’re bringing one more product-minded generalist engineer on board to help us achieve it.
VISION: We’re shaking up one of the least innovative, most powerful industries around, eliminating pain points faced by every startup, and filling a crucial missing piece in the tech ecosystem. Building a bank from the ground up is a big project; the product is complex and cannot break, there are stringent regulations, and we’ll have to outcompete some of the largest, most entrenched corporations in the world. But overcoming these challenges means we’ll have built something that lasts.
IMPACT: Working on a lean, self-motivated team means autonomy, broad experience across projects, and seeing your contributions directly shape the product and impact users. Working on a greenfield project means you’ll have to make foundational decisions; starting from scratch requires more thought than adding to existing infrastructure, and your architectural choices will serve as the bedrock of future development.
QUALITY: Building things correctly is fundamental to being a bank. There’s no room for sloppy code or technical debt, which means doing things like using static typing and immutability, designing database schemas with checks and foreign key constraints, and carefully reviewing teammates’ code. One of the core complaints about banking is usability, so we try to think hard about how to build features that users love; see our blog post on our date picker (https://medium.com/mercury-bank/a-magic-date-input-using-parser-combinators-in-typescript-3c779741bf4c) for an example. Our goal is to be proud of what we’ve crafted.
We talk each morning to say what we're doing to work on that day. We don't have deadlines, and management is very low-touch.
All code is reviewed by at least one other team member before being merged.
For the frontend specifically: before implementing a design, engineers are walked through the design of the feature they're building, so they can give feedback on it. During implementation, team members communicate directly with our designer if they have questions.
Frontend (React, Typescript, Redux): Creating a beautiful user interface. We iterate on designs and don't compromise until we have a great product, using Typescript to prevent errors.
Backend (Haskell, Yesod, Persistent): Integrating with banking services and third party APIs to accurately track financial data and make payments. We use Haskell's advanced type-level features to ensure correctness where it matters most.
Operations (Nix, Postgres, AWS): Maintaining a stable, secure fleet of servers. We use Nix to declaratively model servers, minimizing excess dependencies and potential vulnerabilities.
Mobile (Swift, Kotlin): Development is starting soon on native apps built in Swift on iOS and Kotlin on Android.
We focus on the following company values:
Be super helpful: Go above and beyond to solve problems. Exercise empathy. Deliver magic to customers and coworkers.
Think actively: Question processes. Give thoughtful responses to questions you’re asked. Figure out the best way to do something instead of going by how it’s always been done.
Appreciate quality: Take pride in crafting a product that will last. Avoid cutting corners. Work with the best equipment and software. Invest in great things that make your life better.
Act with humility: Treat everyone with respect. Leave egos at the door.
Maximize efficiency: Minimize unnecessary meetings and management. Work together with others to get the job finished.
Focus on product: Ask yourself how the product can be better today than it was yesterday.
Interested in this company?
Skip straight to final-round interviews by applying through Triplebyte.