Software Engineer, Automation (Mobile CI, iOS)

  • Full-time

Company Description

We started with a simple idea—that everyone should be able to accept credit cards—and we’ve been rethinking buying and selling ever since.

For sellers, we’re creating one cohesive service to run your entire business, from a register in your pocket to analytics on your laptop. For buyers, we’re making it faster to order from the businesses you love and more fun to pay your friends back.

Buying and selling sound like simple things—and they should be. Somewhere along the way, they got complicated. We’re working hard to make commerce easy for everyone.

Job Description

The Mobile CI team at Square operates several mission-critical systems that perform automated builds and tests for iOS and Android application developers. We aim for build and test jobs to happen quickly and precisely, allowing Square’s mobile teams to ship efficiently.

On our team you’ll aim to increase development velocity. We believe that reliable infrastructure and tooling has a tangible impact on overall software and hardware quality. You’ll address tool needs from a foundation level on up by providing CPU and storage bandwidth to build & test workloads, writing more efficient and easier to use tooling, and designing internal web-pages and API integrations that allow developers to visualize and examine the results of the continuous integration process.

You should feel at home working in and around a broad swath of technologies, and understanding the day-to-day frictions of development work in each. You love building new systems from the ground up as much as you love tweaking existing systems to achieve maximum performance. In this role you’ll be working with Square’s mobile teams to develop unified solutions that allow developers to move faster and have greater confidence when they release software.


You Will:
  • Communicate with various product engineering teams to determine tool needs and priorities.

  • Design, develop, and deploy scalable solutions that speed up development.

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

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

  • Provide mentorship and review support for engineering teams working with a wide array of technologies.

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

Qualifications

You Have:

  • 5+ Years of Software Engineering experience.

  • BA/BS degree or equivalent practical experience

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

  • Experience in one of: iOS App Development, or AWS/Cloud computing.

Even better:

  • Familiarity with modern VM infrastructure or internals of a modern virtualization or containerization technology.

  • Familiarity with the functions and methods of a modern embedded or mobile toolchain from dependency resolution to code signing.

  • Familiarity with a single modern CI scheduling system such as Jenkins, TeamCity, Travis/Circle CI.

  • Expertise in Compilers, Operating Systems, or Distributed Systems.

  • Background or previous experience in Datacenter Ops, Network Operations, or Virtual Machine Administration at any scale.

  • Familiarity with macOS and Apple development tools.

Technologies We Use:

  • Configuration Management: Primarily Chef, some Ansible

  • Languages: Ruby, Python, and Java.

  • Operating Systems: macOS, Linux

  • Build tools: XCode, gradle, maven

  • Test tools: iOS Simulator, Android Virtual Devices.

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