Software Engineer, API Extensibility

  • Vancouver, BC, Canada
  • Employees can work remotely
  • Full-time
  • Alternate Location: Seattle, United States
  • Position open to remote: Yes
  • Current Square Employee?: Apply via go/jobs

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 API Extensibility team builds common services for our public APIs that handle millions of requests a day from Square's external developer community. We are a small and growing team with an abundance of growth and impactful opportunities.

As a software engineer on the API Extensibility team, you will own the design, creation, and maintenance of new centralized, highly scalable, and performant services that will be used by every Square public API. You will work with our teams to ensure the solutions you develop work with their systems and meet the reliability and scalability required to deliver first-in-class customer experiences. As our systems require high availability, you'll design systems to handle large system outages without impact to our customers. You'll care about performance, down to the millisecond, and know how to not only implement, but to maintain these systems. Lastly, you'll have fun working on new complex problems with accomplished engineers who are passionate about what they do.

You will:

  • Build highly performance systems that can handle millions of requests per day to enable all of Square's third party developers.
  • Work cross-functionally with our product teams, other engineering teams, and partner developers to design new Square services.
  • Build systems that maintain customers sensitive data and hold Square to the highest standards for security and compliance.
  • 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:

  • Experience building highly scalable and performant systems
  • BA/BS degree or equivalent practical, working experience (6+ years)
  • A sense of customer empathy and desire to influence the product direction
  • Desire to help build all aspects of Square's developer platform in a small, highly focused, and very expanding team.
  • Understanding and curiosity in creating well thought out, scalable, low-latency, global systems.
  • An openness to collaboration and willingness to grow as an engineer

Even better if you are experienced in:

  • C++, Java, Go, and Ruby
  • GraphQL or Custom Attributes usage
  • Designing and managing high volume, fault tolerant services
  • Cross-team and cross-functional collaboration
  • Working collaboratively or contributing to open source projects

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. 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.