Software Developer, Customer Data Platform

  • Toronto, ON, Canada
  • Full-time
  • Current Square Employee?: Apply via go/jobs with your Square email.

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 Automation organization enables and measures the unified customer journey, intelligently empowering customers through Square's ecosystem of products. Customer Data Platform (CDP) Engineering is an essential team within the Automation organization that has two foci: First, building a state-of-the-art in-house CDP for collecting, unifying, and connecting customer data with applications. Second, building products and capabilities (e.g., for personalization, segmentation, data privacy management) that allow partners to easily integrate with CDP and help them use customer data to build remarkable solutions. CDP Engineering is an established team that has already made a great impact on Square's data infrastructure and is aspiring to transform Square into a truly data company.

We are looking for a software developer (just like you!) to contribute to our technical vision and develop platform infrastructure and applications. You will use your engineering experience with data platforms to improve Square's data capabilities to grow our go-to-market strategy.

As a member of our team, you will:

  • Work with product and design to build platform infrastructure and first party applications to enable a variety of use cases such as personalization, self-serviceability, etc.

  • Architect the core Square wide data models that unify data from a number of distributed services.

  • Design and build APIs and highly available services that deliver personalized, real-time merchant data and data governance controls to internal teams at Square.

  • Work closely with our data science and analytics teams to build event-based triggers for intelligent decision making.

  • Work with the Marketing Operations team to either build or integrate tools to make marketing more automated and effective.

  • Build data pipelines and integrations that connect Squares services to cloud services and third party tools.


You have:

  • Demonstrated excellence in Ruby, Java or Go

  • A desire to be directly responsible for the life-cycle of engineering solutions.  This includes leading the design and implementation of projects and organizing the team to achieve a remarkable solution.

  • Experience designing and building APIs

  • A love of data, data munging and care about building the right abstractions

  • A strong desire to see your work have direct impact on the business

Nice to have:

  • Experience with Google Cloud Platform

  • Expertise with streaming technologies (Kafka, Pubsub, Kinesis) and log-based architectures and experience writing batch and stream processing jobs (i.e. Apache Beam, Google Cloud DataFlow, Apache Spark, Apache Storm)

  • [bonus] Front-end skills (Javascript, React, Design)

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.