Android BSP Engineer
Develops kernel- and driver-level Android systems for embedded payment devices, including hardware bring-up, peripheral communication, performance optimization, testing, and defect resolution. Requires at least two years of relevant embedded or device-driver experience and proficiency in C/C++ or Kotlin/Java.
About the job
Responsibilities
- Bring up new devices and lead debugging and performance-tuning exercises across hardware, firmware, and software teams.
- Design, implement, and maintain drivers and Android services for constrained environments, meeting reliability and security requirements.
- Own workstreams focused on hardware bring-up, peripheral drivers and communication, and power and performance management and optimization.
- Analyze bug reports and manage defect resolution, including issue disposition, resolution, and status reporting.
- Support global teams by providing clear technical information.
- Perform code reviews to ensure high-quality designs and implementations.
- Partner with QA staff to create, maintain, and execute appropriate test cases.
- Proactively solve problems and work independently or collaboratively with limited guidance.
Requirements
- 2+ years of software engineering experience in device driver development, embedded systems, or operating systems.
- 2+ years working with mobile or other connected devices.
- Experience with automated testing, build systems, and inter-component communication protocols such as UART, GPIO, SPI, and I2C.
- Proficiency in C/C++ or Kotlin/Java.
- Experience with Android OS and familiarity with associated software development tools.
- Degree in computer science, computer engineering, electrical engineering, or equivalent practical experience.
- Experience adding, monitoring, and parsing telemetry data to proactively resolve issues.
- Fluency in written and spoken English and Mandarin Chinese.
Nice-to-haves
- Experience with ARM platforms.
- Experience working with microcontrollers.
- Knowledge of EMV.
- Knowledge of cryptography, including symmetric and asymmetric cryptography, key management, and key exchange.
- Experience with POS hardware and peripherals.
- Knowledge of PCI technology, transaction processing, and related retail standards.
Skills
Android, C/C++, Kotlin, Java, Embedded Systems, Device Drivers, Operating Systems, Uart, Gpio, Spi, I2C, Arm, Microcontrollers, Automated Testing, Cryptography