Embedded Software Engineer, Android Platform
- San Francisco, CA
We believe the economy is better when everyone has access. When everyone has room to grow. No one should be left out because the cost is too great or the technology too complex. We started with a little white credit card reader but haven’t stopped there. 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. 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.
Square’s Hardware Team builds the tangible connection to Square. We started with a simple and elegant Reader that turns any phone or tablet into a mobile point of sale - and we continue to lead this category with advances in chip card and NFC technology. Next, we introduced the Square Stand, the best way to turn your iPad into a countertop point of sale. Most recently, we expanded our HW portfolio with our first Android-based solution: Square Register, the first fully integrated point of sale that enables people to start selling right out of the box. As we introduce more products, we will meet the needs of more and more sellers with stand-out hardware products, globally. In this role, you will be developing the platform that powers Square’s hardware products.
Develop an embedded software platform for unique mobile products
Design and analyze great code within the constraints and opportunities of powerful embedded platforms
Participate in all development phases from requirements phase to production
Collaborate on system-side code, communication protocol design, and kernel development on Linux/Android platforms
Firmware / Embedded software development experience
Expertise in C software development, tools, and debug with strong software development discipline (including modularization and test methods)
BS in CS, CE, EE, or equivalent practical experience
Experience in at least one other development language (Java, C++, Ruby, Python, etc)
Experience with ARM SoCs
Experience developing Linux Kernel extensions and device drivers
Experience porting Android to a new device
Good understanding of AOSP build process
Familiarity with bootloaders and the Linux operating system
Understanding of common communications protocols (e.g. SPI, UART, I2C, USB)
Experience with power management and battery-powered systems
Ability to debug issues using a combination of software and lab equipment such as oscilloscopes and protocol analyzers
Experience shipping consumer electronics products
Familiarity with on-device test software for manufacturing
Familiarity with reading schematics and basic electrical design principles
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, competence, and qualifications. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, disability status, or any other characteristic protected by law. We encourage candidates from all backgrounds to apply and always consider qualified applicants with arrest and conviction records, in accordance with 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.