Software Engineer, Reconciliation

  • San Francisco, CA
  • Full-time

Company Description

We believe the economy is better when everyone has access. When everyone has room to grow. No one should be left out because the cost is too great or the technology too complex. We started with a little white credit card reader but haven’t stopped there. 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. 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 Reconciliation Team oversees all money movement at Square, ensuring that our merchants, as well as external financial institutions, correctly settle with Square on every single transaction. We empower Accounting, Finance, Analytics, Payments, and product teams by delivering accurate data that not only are crucial to Squares financials but also have proven to serve as early warning indicators for many product systems at Square.

As a software engineer on the Reconciliation team, you will be responsible for designing, building, and maintaining vital services that power the Reconciliation infrastructure which processes every transaction at Square and ensures accurate settlement and payout. You will leverage the most recent advancements in cloud computing technology to design and implement next generation reconciliation systems that will power Squares growth for years to come.


You will:

  • Build truly innovative reconciliation systems to ensure Squares financial credibility

  • Leveraging proper cloud computing technology, design and implement highly scalable systems that reconciles every payment from all Square internal products and external partners

  • Build systems that hold Square to the highest standards for financials and compliance

  • Work cross-functionally with our card processing, settlement, analytics, finance, accounting, and product teams to develop Squares reconciliation infrastructure and ensure money movement accuracy

  • Develop a comprehensive understanding of Squares systems and products. Design and implement systems that feed reconciliation data back to product systems for early-detecting issues and protecting our merchants as well as Squares financial interests


You have:

  • Master's degree in computer science or equivalent practical experience

  • Passion in pursuing data quality, integrity, and consistency. Desire to be responsible for reconciling all money movements at Square

  • Understanding and curiosity in highly scalable, stream processing systems

  • Experience in cloud computing technology, platform, data pipeline

  • Experience in developing backend infrastructure and/or open source projects

  • Ability to clearly communicate designs to technical and business audiences

Technologies we use:

  • Java, Ruby, Rails

  • MySQL, HBase

  • JSON, Protocol Buffers

  • Guice, Guava

  • AWS, GCP

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 and always consider qualified applicants with arrest and conviction records, in accordance with the San Francisco Fair Chance Ordinance. 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) 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.