Senior Software Engineer, Continuous Integration Infrastructure
- Full-time
Company Description
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.
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
Must haves:
Experience building CI/CD for platform
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