Software Engineer, Platform (CI/CD Infrastructure)

  • San Francisco, CA
  • 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 CI Infrastructure team strives to enable our engineers to test and release their applications as efficiently as possible. Our role is to design, implement, and manage a solution to lower the friction of developing in a service-oriented architecture through the use of cloud computing and container technologies like Kubernetes and methodologies such as Continuous Deployment. Members of our team are directly responsible for the building the next generation of Square's software build platform.

Engineers on our team should feel at home working in and around a broad swath of technologies, and understanding the daily frictions of development work your colleagues face. You'll work with Engineers across the company to eliminate bottlenecks and develop complementary solutions that allow developers to move faster. You enjoy building new systems from the ground up as much as you love tweaking existing systems to achieve maximum performance.

The team works with open source projects and tools and we contribute back as well. Our main CI application, Kochiku, was built in-house and open sourced. Check out Square's full list of open source projects at http://square.github.io/.

You Will:

  • Communicate with engineering teams to determine pain points in the development process.

  • Develop scalable solutions that speed up our Continuous Deployment solution.

  • Contribute to monitoring, stability, and security of existing services.

  • Communicate technical designs in writing and in person to multiple technical audiences.

  • Participate in on-call rotation for issues with CI systems.

Qualifications

Must haves:

  • Experience building CI/CD platforms by creating internal tooling and applying open-source solutions 

  • Bachelor’s degree or relevant technical experience (5+ years minimum)

  • Experience working with and deploying applications in Linux containers (Docker, Mesos)

  • Solid experience with the Linux/Unix command line and tools

  • Experience developing in at least one of Ruby on Rails, Java, Python, Go

  • Proficient in unit and integration testing paradigms.

  • A desire to continue learning

Growth Opportunities:

  • Be a strength multiplier to product engineering efforts.

  • Learn about every technology stack used at Square.

  • Work at the intersection of the social and the technical, with growth opportunities in both.

Technologies We Use:

  • Primary languages: Ruby, Bash

  • Secondary languages: Java, Go

  • Operating Systems: Linux, OSX

  • Configuration Management: Chef

  • Other: Ruby on Rails, AWS, Google Cloud, Kubernetes, Docker

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.