Software Engineer, Payments

  • Full-time
  • Current Square Employee?: Apply via go/jobs with your Square email.

Company Description

We believe everyone should be able to participate and thrive in the economy. So we’re building tools that make commerce easier and more accessible to all. We started with a little white credit card reader but haven’t stopped there. Our new reader helps our sellers accept chip cards and NFC payments, and our Cash app lets people pay each other back instantly. We’re empowering the independent electrician to send invoices, setting up the favorite food truck with a delivery option, helping the ice cream shop pay its employees, and giving the burgeoning coffee chain capital for a second, third, and fourth location. Let’s shorten the distance between having an idea and making a living from it. We’re here to help sellers of all sizes start, run, and grow their business—and helping them grow their business is good business for everyone.

Job Description

The payments team enables Square to move money. From developing infrastructure to working with external partners, we find the best ways to move money across different networks and countries in a way that is cost-effective, available, scalable, secure, and forward-looking.

As a software engineer on the Payments team, you will manage designing, building, and maintaining the Payments Platform services and infrastructure that move money for Square. You will be involved in the technical details of building available and reliable services, while also working with product teams to ensure Square to rapidly build new capabilities for our merchants and buyers all over the world.

You will:

  • Build our Payments Platform, used by our organization and an important strategic asset of Square
  • Design high-volume, low-latency, distributed transaction processing systems, making thoughtful tradeoffs between consistency and availability when both are not possible
  • Abstract away the legacy APIs of the financial world into, consistent service APIs for Square’s products and third parties to build upon
  • Build systems that manage customers’ sensitive data and hold Square to the highest standards for security and compliance
  • Work with our product, business, and finance teams to develop Square’s global payments strategy
  • To design fault tolerant systems so the team can be brave, move fast, and break things, without ever showing a negative impact to customers

Qualifications

You have:

  • 3+ years of industry experience
  • Natural curiosity and a desire to manage all aspects of reliably moving billions of dollars in a small, highly focused team
  • Understanding and curiosity in creating highly available, scalable, low-latency, global systems
  • Interest in changing the payments landscape in the US and globally

Technologies we use:

  • Java

  • Deploy code to GCP, AWS, and Square's data centers

  • Guice, Guava, Protocol Buffers, gRPC, Envoy, Hibernate, jOOQ, Rails

  • MySQL, Redis, Kafka, Elasticsearch, SignalFX, Spanner

#LI-FB1

Additional Information

At Square, we value diversity and always treat all employees and job applicants based on merit, qualifications, competence, and talent. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status. We will consider for employment qualified applicants with criminal histories in a manner consistent with the requirements of the San Francisco Fair Chance Ordinance.

Privacy Policy