iOS Senior Engineer, Mobile Developer Experience
- San Francisco, CA, USA
- Employees can work remotely
- Alternate Location: Toronto, Canada
Square builds common business tools in unconventional ways so more people can start, run, and grow their businesses. When Square started, it was difficult and expensive (or just plain impossible) for some businesses to take credit cards. Square made credit card payments possible for all by turning a smartphone into a credit card reader. Since then Square has been building an entire business toolkit of both hardware and software products including Square Terminal, Square Appointments, Square Online Store, and more. We’re working to find new and better ways to help businesses succeed on their own terms—and we’re looking for people like you to help shape tomorrow at Square.
Mobile Developer Experience (MDX) builds all necessary infrastructure and tools to ensure Square's mobile development can continue to be fast and efficient at scale. 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 modularized monorepo codebase. There are many different ways we improve the iOS developer experience, but our team's 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).
- Accelerate our delivery of a fast and efficient developer experience with Bazel.
- Work with the maintainers of projects such as Workflow, CocoaPods, Bazel-iOS, and KIF.
- Amplify the efficiency of our mobile developers to develop, test, and release apps to our merchants.
- Identify important performance bottlenecks in the development experience including the build system, IDE integrations, testing frameworks, and pull request workflows.
- Help determine 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, and usability of our build tooling.
- Oversee the success of our team's projects, and achieve quantifiable results.
- Knowledge of build systems (preferably Bazel/Blaze/Buck)
- Knowledge of the roles that tools such as clang, swiftc, ld, actool, ibtool, and 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.
- Comprehension of the role that xcodebuild plays in orchestration of these tools.
- Experience supporting build or CI systems infrastructure at scale
- First hand experience building apps for iOS in Swift or Objective-C (preferably both)
- Excellent software engineering knowledge and the ability to provide technical mentorship and guidance
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, qualifications, professional competence, and talent. We do not discriminate on the basis of race, religion, color, national origin, ancestry, pregnancy status, sex, gender identity or expression, sexual orientation, age, marital status, veteran status, mental or physical disability, medical condition, or any other characteristic protected by law. We encourage candidates from all backgrounds to apply. 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.
Square, Inc. (NYSE: SQ) builds tools to empower businesses and individuals to participate in the economy. Sellers use Square to reach buyers online and in person, manage their business, and access financing. Individuals use Cash App to spend, send, store, and invest money. And TIDAL is a global music and entertainment platform that expands Square's purpose of economic empowerment to artists. Square, Inc. has offices in the United States, Canada, Japan, Australia, Ireland, Spain, Norway, and the UK.