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 Staff Software Engineer you will be responsible for building the next generation platform for our payments in the cloud. 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.
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.
- 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 post mortems.
- 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.
- Ability to support a 24/7/365 always available production grade services.
- Established ability to diagnose technical problems, debug code, and automate routine tasks.
- Experience in one or more of the following: Ruby, Python, Golang, or shell scripting.
- Experience with Unix/Linux operating systems internals and administration.
- Patience and fortitude to debug complex issues in production systems
- Great analytical and problem-solving skills.
- Familiarity with orchestration tools (Ansible, Puppet, Chef, Terraform, etc.).
- Proficiency in managing cloud based large-scale infrastructure.
- Strong communicator, both written and spoken.
- Kubernetes and container experience.