Senior Engineer, Mobile Developer Experience
- San Francisco, CA
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 than our competitors.
Engineering efficiency is particularly important for Square’s ability to continuously ship high quality software, so we strive to ensure our development tools enable developers to ship their features with speed and confidence. This is a high force multiplier, cross-functional team aiming to enhance the development experience for all mobile developers within Square.
You will be part of the team responsible for owning the entire development stack (build system, build tools) and integration with CI. You will improve the development process to allow our engineers to ship as quickly and effortlessly as possible. You’ll be working primarily on the mobile platform infrastructure focused on our largest scaling codebase, Square’s Point of Sale applications, but we expect the results of the team’s work to be applicable to other Square applications.
What will you do:
Innovate to 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 CI pipeline
Own the success of your team's projects, and deliver quantifiable results on schedule.
BA/BS degree or equivalent practical, working experience
Extensive knowledge of build systems (e.g. Bazel or Blaze a big plus, for Android candidates, Ant, Maven, Buck, Gradle, Pants and for iOS candidates, Carthage or CocoaPods) and CI tools (e.g. Circle, Travis, Jenkins)
Experience for supporting build or CI systems infrastructure (ideally at scale)
First hand experience building apps for Android/iOS
Excellent software engineering aptitude and the ability to provide technical mentorship and guidance