The Android OS team sits at the intersection of hardware and software and builds a platform that is the foundation for the Toast POS device enabling creation of features that delight our customers. The Android OS team partners with a broad set of teams including Point of Sale, Hardware, FinTech, Security, NPI (New Product Introduction) and Customer Care to name a few. We are seeking a Staff Software Engineer for this team. The strongest candidate will be a technical leader in the Android OS domain with expertise in framework, BSP (Board Support Package) and OS bring-up. If you are a leader who has a knack for software architecture, collaborates well with teams within the organization, can think big, and are passionate about building re-usable software platforms with high focus on quality, this position is for you!
About this roll* (Responsibilities):
- Technically lead the Android OS team to design and develop the next generation of Toast’s Android Platform.
- Define, design and develop new Android OS framework services to meet Toast’s custom hardware needs.
- Customize the Android Linux kernel to support hardware peripheral bring-up.
- Raise the bar on software excellence by designing OS features using industry best practices.
- Collaborate with Product Management, Hardware and other partner teams to build a long term vision for Toast Device capabilities.
- Make solid technical decisions keeping software quality, security, and maintainability in mind.
- Help set the standard for software quality by accelerating adoption of automated testing using modern software test frameworks and practices.
- Grow and develop team members through coaching and feedback
Do you have the right ingredients*? (Requirements):
- 8 years of Android OS development experience bringing up and customizing new hardware devices .
- Experience with Google’s AOSP architecture developing Android framework services and custom AIDL interfaces.
- Experience with BSP (Board Support Package) development and Linux device tree configuration.
- Experience designing large scale software systems for Android devices.
- Experience working with Hardware teams to review and analyze product schematics.
- Proficient in Java and C or C++
- Experience working with CI/CD systems and source control tools such as Gerritt/GitHub
- Experience working with SOC (system on chip) vendors.
Bonus ingredients* (preferred skills):
- Experience developing software for point of sale and payment devices
- Experience developing Android System applications.
- Experience working with the Android Networking Stack
- A solid understanding of the Android security model (SE Linux policies)
- Experience developing and debugging device drivers