Software Engineer, Continuous Integration Infrastructure and Developer Environments

  • Full-time

Company Description

We believe everyone should be able to participate and thrive in the economy. So we’re building tools that make commerce easier and more accessible to all. We started with a little white credit card reader but haven’t stopped there. Our new reader helps our sellers accept chip cards and NFC payments, and our Cash app lets people pay each other back instantly. 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. Let’s shorten the distance between having an idea and making a living from it. 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 + DevEnv team serves a dual mission at Square. We strive to provide an exceptional continuous integration pipeline for Square engineers. Secondly, we provide pop up staging environments for personalized use.

We are looking for a new team member to help us make these services best in class. Here are a couple projects we have coming up soon that you could help us with:

1. We want to completely eliminate queue time from our CI system. We already use AWS heavily but by switching to containers we can have near infinite capacity to run tests as soon as a commit is pushed to git. We will either use the Elastic Container Service in AWS to accomplish this or switch to Google Cloud.

2. Square is a big practitioner of the service-oriented architecture model of software development. Our production ecosystem consists of a vast array of interdependent services. Design and implement a solution to lower the friction of developing in a service-oriented architecture through the use of cloud computing and container technologies like Docker. With the goal of making development in a SOA-environment an efficient and pleasant experience.

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 development.

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

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

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

  • Build systems that impact developers day-to-day.


Qualifications

You Have:

  • 3+ years of software engineering experience

  • Bachelor’s degree or relevant technical experience

  • Experience working with and deploying applications in Linux containers (any of LXC, 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, LXC, 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.

Privacy Policy