Senior Engineer (iOS), Mobile Developer Experience

  • 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. And make it easier for customers to shop and pay at their favorite businesses. 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

Mobile Developer Experience (MDX) is responsible for building and providing all necessary infrastructure and tools to ensure Square’s mobile development can continue to be fast and efficient at scale. We're looking for folks who are excited to problem solve and find solutions that empower hundreds of mobile developers to move more quickly as a competitive advantage.

Engineering efficiency is particularly important for Square’s ability to continuously ship high quality software. We strive to ensure our development tools enable developers to ship their features with speed and confidence. This is a high force multiplier team aiming to enhance the developer experience for all iOS developers at Square.

Our focus is on improving both the local IDE and CI experience when working within our massive and highly modularized monorepo codebase. There are many different ways we work to improve the iOS developer experience, but our team’s current focus is migrating our codebase to be built and tested with Bazel. We have made great progress and are looking for others who can help accelerate our transition. We do our work in the open, on GitHub, and progress can be seen in the bazel-ios project on GitHub.

You’ll be part of the team responsible for our entire development stack (build system, build tools, and CI pipeline). We measure success by how happy iOS developers at Square are and how quickly and easily they’re able to deliver their features.

What will you do:

  • Accelerate our delivery of a fast and efficient developer experience with Bazel.
  • Work alongside the maintainers of projects such as Workflow, CocoaPods, Bazel-iOS, and KIF.
  • Amplify the efficiency of our mobile developers to develop, build, test, and release high quality apps to our merchants.
  • Identify key performance bottlenecks in the development experience including the build system, IDE integrations, testing frameworks, and pull request workflows.
  • Help define the scope and the priorities of the team by identifying opportunities to decrease build times, reduce system complexity, and improve the developer experience.
  • Optimize the performance, reliability, and usability of our build tooling.
  • Own the success of our team's projects, and deliver quantifiable results on schedule.

Qualifications

You have: 

  • Extensive knowledge of build systems (preferably Bazel/Blaze/Buck)
  • Knowledge of the roles that tools such as clang, swiftc, ld, actool, ibtool, codesign play in the process of generating build/test artifacts
  • Understanding of the building blocks used for producing iOS builds such as module maps, frameworks, VFS overlays, object files, etc.
  • Comprehension of the role that xcodebuild plays in orchestration of these tools.
  • Experience for supporting build or CI systems infrastructure (ideally at scale) 
  • First hand experience building apps for iOS in Swift or Objective-C (preferably both)
  • Excellent software engineering aptitude and the ability to provide technical mentorship and guidance

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