Senior Software Engineer, API Platform

  • Seattle, WA
  • 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

The API Platform team creates tools that both external and internal developers use to build apps on Square's platform. We are a small, focused, and rapidly growing team with an abundance of growth and impact opportunities.

Our products and responsibilities include:

  • SDK generation for multiple platforms
  • Building React Native and Flutter components that developers can easily incorporate into their apps
  • Rich sample applications that developers can use as building blocks or starting points
  • API Frameworks that enable internal teams to publish their APIs faster and easier
  • Testing platforms for our external developers
  • Frameworks for Square’s public Webhooks

As a software engineer on the API Platform  team, you will own the design, creation, and maintenance for all of the above. You will have the opportunity to participate in the community of developers who build on the Square Developer Platform and use that knowledge along with usage data to create new tools and components as well as adapt existing ones to meet the needs of our developer customers.

You will:

  • Help build our Developer Platform, for use by millions of Square Sellers and a key strategic asset of Square.
  • Design and implement easy to use tools and reusable components, making thoughtful tradeoffs between consistency and availability when both are not possible.
  • Work cross-functionally with our product teams, *many* other engineering teams, and partner developers to design and implement Squares global developer platform.
  • Build systems that maintain customers sensitive data and hold Square to the highest standards for security and compliance.
  • 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.
  • Take input from and work with our developer community on Square SDK projects and contribute to other projects as appropriate.


You have:

  • BA/BS degree or equivalent practical, working experience (4+ years preferred)
  • A strong sense of customer empathy and desire to influence the product direction
  • Innate curiosity and a desire to be responsible for all aspects of building Square's developer platform in a small, highly focused, and very rapidly growing team.
  • Understanding and curiosity in creating well thought out, scalable, low-latency, global systems.
  • Been self-driven, open to collaboration and willing to grow as an engineer

Even better if you are experienced in:

  • React Native and / or Flutter
  • Cross-team and cross-functional collaboration
  • Creating SDKs, APIs,  and developer tools
  • 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) 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.