Senior Software Engineer, Banking Services
- San Francisco, CA, USA
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.
The payments team enables Square to move money and gives Square sellers access to their funds. 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 be responsible for designing, building, and maintaining the Payments Platform 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.
Evolve Square's financial systems beyond payment processing
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 Squares 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 cross-functionally with our product, business, and finance teams to develop Squares 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
- 8+ years of industry experience
- 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
- Track record of pursuing self directed side projects, research, or open source projects
- Interest in changing the payments landscape in the US and globally
Technologies we use:
- 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
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)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.