As a member of Team DB, you will be responsible for maintaining and building our relational database storage solutions. You will be constantly collaborating with our customers, tech leadership and your peers, learning and teaching new ways of making our platform even more resilient, robust and scalable. You should have a solid understanding of relational datastores and ideally, be familiar with or willing to learn Postgres internals. You will also automate and execute complicated zero-downtime production operations on high-volume databases.
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.
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, and we don't want to hinder it with walls. 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 be constantly collaborating with our customers, tech leadership and your peers, learning and teaching new ways of making our platform even more resilient, robust and scalable. You should have a solid understanding of relational datastores and ideally be familiar with or willing to learn Postgres internals. You will also automate and execute complicated zero downtime production operations on high volume databases.
What You’ll Do
- Develop solutions and tools to make the lives of Braintree Product engineers better and easier. You will develop solutions from ideation and design, through development, launch, operation and iteration.
- Partner with our customers (product engineering teams) on their products design, development and capacity planning to ensure Braintree continues to scale and maximize availability.
- Brainstorm and implement ways of reducing tech debt, automate repeated manual tasks and improve team productivity.
- Ideate new ways of doing things, publish RFCs, get buy-in from other engineering leads and implement changes.
- Be an active member of the open source community by reporting new defects and issues, contributing to open source projects and providing help to the community at large.
- Ensure sufficient logging, monitoring and alerting strategies around availability, latency and overall system health.
- Scale systems sustainably through automation, and evolve systems by pushing for changes that improve reliability and velocity.
- 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
- Software Development background with ability to analyze and improve existing codebase.
- Experience with building solutions on the Cloud (Ideally AWS)
- Established ability to diagnose technical problems, debug code, and automate routine tasks.
- Ability to support a 24/7/365 always available production grade service.
- Experience in one or more of the following: Java, Ruby, Golang, or shell scripting.
- Experience with Unix/Linux operating systems internals and administration.
- Patience and fortitude to debug complex issues in production system, which are akin to finding a needle in haystack sometimes
- Great analytical and problem-solving skills.
- Familiarity with orchestration tools (Ansible, Puppet, Chef, Terraform, etc.).
- Established experience with monitoring/logging tools and best practices.
- Experience in software release lifecycle with modern distributed version control (e.g. git).
- Deep Postgres or RDS experience, an understanding of Postgres internals or Postgres community contributions are preferred.
- Proficiency in managing large-scale highly available infrastructure.
- Expertise in designing and troubleshooting distributed systems.
- Strong communicator, both written and spoken.