Software Engineer

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

We’re looking for creative developers to join our growing, supportive and talented Kitchener-Waterloo development hub. You will help build Cash App, the fastest growing financial app in the world! Cash App has millions of active customers and is on a mission to make banking accessible to the underserved and underbanked. We’re building an event-driven distributed system and we need your help. We make incremental changes and deploy to production every day.

As a member of the Cash engineering team, you’ll collaborate with us to:

  • Design data models to support application features
  • Build APIs used by apps and microservices
  • Operate and manage Cash services
  • Unit test everything
  • Contribute to the broader tech and open source communities
  • Work in a small, tight knit cross-functional team
  • Code autonomously with support when you want it
  • Scale systems to a rapidly growing customer base of tens of millions
  • Prioritise maintainable code and test all the things
  • Draw many boxes with arrows on whiteboards


We’re looking for:

  • You collaborate well with your teammates
  • Desire to perform and grow technically as an engineer 
  • Ability to thrive in ambiguity and build creative solutions to complex problems
  • Demonstrated technical initiative on previous projects
  • Bachelor's degree in Computer Science/Software Engineering or equivalent experience

Bonus points:

  • Java 11 including JUnit, Hibernate, Guice, and Jersey
  • Kotlin
  • MySQL
  • gRPC, and Protocol Buffers
  • Amazon Web Services


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.