Senior Software Engineer, Traffic Engineering

  • Toronto, ON, Canada
  • Employees can work remotely
  • Full-time
  • Position open to remote: Yes

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 Traffic Engineering team connects hundreds of Square's globally distributed microservices with each other and with customers around the world. It is our mission to ensure the infrastructure we build is scalable, secure, and reliable. We have chosen Envoy as our proxy of choice for handling all internal service to service and edge traffic, and have made upstream contributions.

We work with our teams at Square to bring new features on top of Envoy as a platform, such as Envoy SAFE. As an engineer on the Traffic team, you will help us scale our service mesh alongside the company and put new capabilities in the hands of developers to improve their operational agility and reliability.

You will:

  • Develop an Envoy-based service mesh spanning Google Cloud Platform (GCP), Amazon Web Services (AWS) and our on-prem data-centers which facilitates reliable and low latency inter-service communication, abstracting away the network while handling over a million requests per second
  • Operate and maintain reliable software-based L4 and L7 proxies
  • Provide seamless service discovery and traffic fail-over capabilities for every application at Square whether in the cloud or on-premises
  • Use our service mesh to empower product developers with features like rate-limiting and circuit-breaking for preventing cascading failures
  • Contribute to the upstream Envoy project
  • Participate in a team on-call rotation

Qualifications

You have:

  • Built and operated available distributed systems
  • Operated and debugged proxy technologies like Envoy or similar (e.g. Nginx, HAProxy)
  • The ability to breakdown complex projects into components or milestones that can easily be picked up by other engineers
  • Familiarity with some of the following technologies we use every day: AWS, GCP, Kubernetes, DynamoDB, gRPC
  • Software development experience in Java, Go, or C++
  • Experience leading or overseeing large projects from start to finish

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.

Perks

At Square, we want you to be well and thrive. Our global benefits package includes:
  • Healthcare coverage
  • Retirement Plans
  • Employee Stock Purchase Program
  • Wellness perks
  • Paid parental leave
  • Paid time off
  • Learning and Development resources