Senior Software Engineer, Database Infrastructure
Braintree lets you move money from one place to another safely and securely. Every time you pay for an Uber ride, book a stay through Airbnb, or pay with PayPal when you check out online, you’re probably using our product. It sounds complex (and it is), but we make it so simple you can’t tell we’re there.
We solve world-scale problems and provide opportunities to match. We build diverse teams that recognize our strengths and allow us to work on our weaknesses. You bring skills and a relentless focus on the customer, and we'll provide the support you need to do the best work of your life.
Check us out: GitHub | Blog | Twitter | LinkedIn | Facebook | The Muse | Glassdoor
Our focus is teaming with smart engineers who are passionate about their craft and excited to build software for our unique solutions in the space.
At Braintree, developers have the chance to work on various teams and stacks. Although most of our software is written in Ruby, we believe in using the best tool for the job. For example, we’ve written data platforms in Clojure, payment gateways in Java, and contextual commerce in Ruby. Here’s more:
- We build what we love and we own what we build. We take great care to build the best products and we ensure its quality by running it ourselves in production.
- Communication is key to our process. Many teams program in pairs, which means you always have another set of eyes to help you.
- We practice test-driven development and believe that it helps us deliver simple solutions focused on real customer needs. We have no QA department – developers test, release and monitor their own code.
- We keep the team in sync with daily stand-ups and have regular retrospectives to discuss things that are going well and opportunities for improvements.
- We value unique perspectives brought by diverse backgrounds and experiences. A broad range of ideas and perspectives help us to create the best possible product.
As a member of Team DB, you will be responsible for maintaining and building our relational database storage solutions. You will collaborate with our customers, technical leadership, and your peers to find new ways of making our platform even more resilient, robust and scalable. You will use your solid understanding of relational datastores to automate and execute complicated zero downtime production operations on high volume databases.
What You’ll Do
- Scale our database infrastructure to meet customer demands.
- Develop, test, and safely execute automated database operations.
- Review application migrations to ensure safety and consistency.
- Help application teams tune query performance.
- Improve our observability, monitoring, and alerting.
- Contribute to our various internal and open source database libraries.
- Actively participate in design sessions and publish internal RFCs to build consensus for larger decisions.
- Participate in an on-call rotation for the systems that you help build and maintain.
- Be part of incident reviews and blameless postmortems.
- Mentor other members of the organization through their career journey at Braintree.
What We’re Looking For
- Experience administering a relational database in a production environment.
- A willingness to learn Postgres internals.
- Experience with database upgrades, migrations, or other production operations.
- Familiarity with orchestration tools (Ansible, Puppet, Chef, Terraform, etc.).
- Experience with building solutions in the Cloud (ideally AWS).
- Software Development background with a record of improving existing codebases, especially in: Ruby, Java, or shell scripts.
- Ability to support a 24/7/365 always-available production grade service.
- Experience with Unix/Linux operating systems and administration.
- Patience and fortitude debugging complex issues in production systems.
- Established experience with monitoring/logging tools and best practices.
- Experience with the software release lifecycle using modern distributed version control (e.g. git).
- Deep Postgres, Aurora, or RDS experience, an understanding of Postgres internals or a history of Postgres community contributions.
- Proficiency in managing large-scale highly available infrastructure.
- Expertise in designing and troubleshooting distributed systems.