Build and Release Infrastructure Engineer
- San Francisco, CA
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.
Square’s hardware devices run the full gamut of embedded software: we make our own ASICs, write C for ARM cores, customize our own Android platform, and work with our mobile developers to build Square’s Android apps into our hardware.
We know from experience that the best way to test embedded software is to run it on the target device. To that end, the hardware team runs its own farm of Linux workers that enable us to plug Square hardware products into our CI/Delivery system.
The hardware team needs your help to extend our embedded build/CI infrastructure, including this farm of on-device test nodes. We have a system running today, but need to take it to the next level of scale, flexibility and availability. You will have a direct impact in shaping that future.
Work closely with your partners in order to prioritize infrastructure efforts:
Form a deep understanding of our teams’ build systems and product quality concerns in order to develop exactly the system we need.
Investigate tricky build/test failures together.
Support business-hours on-call rotation.
Track triage trends to focus the cross-functional team on the highest-impact features and bugs.
Run our device build/test rack and define the roadmap towards a scalable architecture.
Define and measure critical performance metrics that help partner teams prioritize their support.
Maintain our existing stack of config management tools (Foreman, Chef and Jenkins + Swarm).
Automate server lifecycle management tasks.
Consult as the IT infrastructure expert on the hardware team.
Technologies we use:
Python, Ruby and Bash.
Jenkins + Swarm.
Worked at a scale where your machines were more cattle than pets.
Used Python (or similar scripting language) to automate build and test systems.
Thrived in environments with multiple stakeholders, with demonstrable experience in cross-team communication and collaboration.
A bachelor’s degree in computer science or equivalent technical experience.
4+ years of professional software or infrastructure experience.
Even better if you have:
Founded a DevOps or SRE function.
Worked at a startup.
A perverse interest in applying straightforward concepts (Agile, CI) to confounding worlds (Hardware development).
At Square, our purpose is to empower – within and outside of our walls. In order to build the best tools for the businesses and customers we support all over the world, we have to start at home with a workforce as diverse and empowered as our sellers. To this end, we take great care to evaluate all employees and job applicants equally, based on merit, competence, and qualifications. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, disability status, or any other characteristic protected by law. We encourage candidates from all backgrounds to apply and always consider qualified applicants with arrest and conviction records, in accordance with 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.