Senior Software Engineer, Kotlin Multiplatform, Square for Restaurants

Job Description

Description

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 mobile phone into a credit card reader. Since then Square has been building an entire business toolkit of both hardware and software products including Square Capital, Square Terminal, Square Payroll, 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.

Restaurants today operate in an increasingly dynamic landscape, and we're building a modern product ecosystem to support this. The Restaurants team at Square empowers Food & Drink businesses of all kinds to start, run, and grow their businesses through advanced workflows, specialized products, business insights, and inclusion in the greater Square ecosystem. In everything we build, we focus on efficiency, automation, and reliability: themes of paramount importance in a fast-paced environment where great hospitality is key.

We are looking for an experienced, staff-level engineer to accelerate our mobile development teams - starting by leading and supporting adoption of Kotlin Multiplatform for Mobile (KMM) in Square for Restaurants products.

The Restaurants team has multiple mobile applications already in market - Points of Sale for iPad and for Square Register, and our Kitchen Display System for iPad. Many features, and even more underlying infrastructure, are shared among these applications. Today we share code across products on each platform, and we share patterns across platforms. As we continue to maintain and develop these products, and look to more in the future, the benefits of multi-platform code sharing are clear.

You will:

* Report to the Restaurants engineering lead and work closely with the Restaurants engineering leadership team to set a developer acceleration strategy, with KMM as a central initiative.


* Collaborate closely with engineers, engineering managers, and product managers on Restaurants product development teams to help those teams incrementally and effectively learn, adopt, and realize accelerative value from KMM.


* Identify technical and organizational challenges our teams will face with KMM, chart a course for overcoming them over time, and lead efforts to implement your plan.


* Work hands-on to introduce KMM into our Android and iOS codebases, addressing developer workflow, continuous integration, testing, artifact management, and other technical challenges that arise - pairing or otherwise working directly with product, platform, and build/release engineers as needed.


* Help to nurture and grow a community of staff and senior engineers across Square with similar interests and problems, and work together to build company-wide competency in KMM.



You are:

* Deeply familiar with some combination of Kotlin, Swift, Objective-C, and Kotlin Multiplatform


* Experienced working in large codebases on multiple stacks, including at least one mobile platform


* Empathetic to the challenges facing product and platform teams, and understanding of the positive and negative impact of introducing new technologies for them


* Motivated to drive measurable positive impact to developer teams, both in productivity and happiness


* Effective in working with developer communities, open source projects, and vendors inside and outside of your company


* Prepared to develop a long-term plan with incremental phasing, and comfortable with adapting your plan over time as the landscape changes


* Collaborative by default, and eager to work hands-on with engineers, engineering managers, product managers, and others on your team and across the company



Technology landscape you will encounter:

* Android development and builds with Gradle


* Android continuous integration builds using Square's open source Kochiku system


* iOS development and builds with Cocoapods and moving toward Bazel


* iOS continuous integration with Jenkins


* Monorepos, separate, for Android and for iOS


* Internally hosted artifact repository



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. 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.

Perks

At Square, we want you to be well and thrive. Our global benefits package includes:

* Healthcare coverage
* Retirement Plans
* Employee Stock Purchase Program
* Wellness perks
* Paid parental leave
* Paid time off
* Learning and Development resources
 
 

Related Ads