Software Engineer, Platform (CI/CD Infrastructure)
- San Francisco, CA
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/.
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.
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
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