Senior Software Engineer, Payment API

  • Remote, Canada
  • Full-time

Company Description

Square builds common business tools in unconventional ways so more people can start, run, and grow their businesses. When Square started, it was difficult and expensive (or just plain impossible) for some businesses to take credit cards. Square made credit card payments possible for all by turning a mobile phone into a credit card reader. Since then Square has been building an entire business toolkit of both hardware and software products including Square Capital, Square Terminal, Square Payroll, and more. We’re working to find new and better ways to help businesses succeed on their own terms—and we’re looking for people like you to help shape tomorrow at Square.

Job Description

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

You will:

  • Expand and maintain our Payments APIs, used by both external developers (public docs) and Square products, a key strategic asset of Square

  • Design and implement 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, coherent service APIs for Square and our sellers products to build upon

  • Build systems that manage customers’ sensitive data and hold Square to the highest standards for security and compliance

  • Work cross-functionally with our product, business, and finance teams to develop Square’s global payments strategy

  • See the big picture 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:

  • Innate curiosity and a desire to be responsible for 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

  • Bachelor's degree and 5+ years of software development experience in Java, Go or similar

Technologies we use:

  • Java

  • Guice, Guava, Protocol Buffers, jOOQ, MySQL

Additional Information

At Square, our purpose is to empower – within and outside of our walls. In order to build the best tools for the businesses and customers we support all over the world, we have to start at home with a workforce as diverse and empowered as our sellers. To this end, we take great care to evaluate all employees and job applicants equally, based on merit, competence, and qualifications. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, disability status, or any other characteristic protected by law. We encourage candidates from all backgrounds to apply. Applicants in need of special assistance or accommodation during the interview process or in accessing our website may contact us by sending an email to assistance(at)squareup.com. We will treat your request as confidentially as possible. In your email, please include your name and preferred method of contact, and we will respond as soon as possible.

Perks

At Square, we want you to be well and thrive. Our global benefits package includes:
  • Healthcare coverage
  • Retirement Plans
  • Employee Stock Purchase Program
  • Wellness perks
  • Paid parental leave
  • Paid time off
  • Learning and Development resources
Privacy Policy