Software Engineer, Platform CI/CD Infrastructure

  • Atlanta, GA, USA
  • Full-time
  • Current Square Employee?: Apply via go/jobs

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 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 & methodologies such as Continuous Deployment. Members of our team are directly responsible for the designing and 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 day-to-day frictions of development work your colleagues face. You'll be working 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 regularly 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.

  • Design, develop, and deploy 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

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

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

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

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

  • Experience developing in at least one of Ruby, Java, Python and/or Go 

  • Proficient in unit and integration testing paradigms.

  • Strong communication skills

  • A desire to continue learning

  • A personal commitment to quality

Growth Opportunities:

  • Act as 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.