Software Engineer, Android OS

  • San Francisco, CA
  • Employees can work remotely
  • Full-time

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

Job Description

We want employees to reside where they feel most creative and productive. You will be part of an org that works across Pacific, Central, and Eastern time zones.

In this role, you and your direct team will be based in the Pacific and Eastern time zones. This role is open to all people who can be effective partners with this team, including sharing typical working hours.
 

Within Square's Hardware organization, the SQUID Platform Team (SQUare AndroID = "SQUID") provides the core OS that powers Square's Register and Terminal hardware products. Square takes pride in our product experience from manufacturing to end customer experience, and this team works closely with partner teams throughout the hardware and software product lifecycle, from hardware manufacturing to Android app teams. We work with external vendors on part selection and initial hardware bringup, with a focus on customizing Android for Square's state-of-the-art security posture. You'll report to our SQUID Platform Engineering Manager.
 

You will:

  • Collaborate on system-side code, communication protocol design, and kernel development on Linux/Android platforms
  • Improve our Android OS at the frameworks layer, designing features customized for Square's hardware and security needs
  • Develop new features on our Android OS platform, launching across several products simultaneously

Qualifications

You have:

  • 5+ years software development experience
  • 2+ years working with embedded, mobile, or other connected devices
  • Experience in embedded code (C/C++) or native Android apps (Android SDK, Java, JNI/ NDK)

Even better:

  • Experience bringing up Android OS on a new device or hardware platform
  • High-level understanding of Google’s AOSP architecture
  • Have built the Linux kernel, and some experience writing Linux device drivers 
  • Experience working with microcontrollers (GPIO pin states, interrupt handlers)

Examples of technical projects the team works on:

  • Testing system performance and compatibility in CI by running actual contactless (NFC) transactions, and stepping through customer UI flows on physical devices
  • Implementing and maintaining security features for our devices, ranging from physical anti-tamper mechanisms to embedded ARM TrustZone applications (even during manufacturing!)

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