The Role:
We are seeking an experienced Embedded Software Engineer to join our team. You will be responsible for writing and integrating drivers for various hardware components such as scanners, print engines, WiFi/BT radios, and LCD displays, while ensuring Android runs efficiently in a constrained environment. Your work will also involve modifying core Android functionalities (bootloader, kernel, system services) to meet our embedded system's specific requirements. The ideal candidate will ensure stability, security, and seamless hardware-software communication on the device.
Responsibilities: Design, develop, code, test, and debug system software for embedded systems running Embedded Android or Embedded Linux. Analyze and enhance the efficiency, stability, and scalability of the system, including: Integrate and validate new product designs. Optimize Android to run efficiently in constrained environments with limited CPU power, memory, and battery life. Maintain system security and stability throughout the development lifecycle. Ensure seamless communication between Android and custom hardware components. Provide post-production support by managing defects and implementing necessary updates and patches. Develop and integrate drivers to allow Android 12.1 to interface with custom hardware components, including: Scanners Print Engine WiFi / Bluetooth radios LCD display Modify Android / Linux core functionality (bootloader, kernel, and system services) to tailor the OS (Android, Linux) for the specific requirements of the embedded platform. Collaborate with other shareholders to plan, design, develop, test, and maintain embedded software solutions. Assist in the development of user manuals and technical publications related to the system. Requirements: Bachelor's degree in Computer Science / Engineering, Electrical / Communication Engineering, or a related field. 3+ years of experience in Embedded Android development. Knowledge in Embedded Android / Linux development utilizing frameworks like AOSP (Android Open Source Project), Yocto, Buildroot, or Ubuntu core. Experience with embedded operating system architecture, including bootloaders, kernels, and system services. Strong proficiency in C, C++, and Java/Kotlin. Experience with writing and integrating hardware drivers for embedded systems. Familiarity with constrained environments, particularly low-power and limited-resource devices. Experience with hardware protocols like I2C, SPI, UART, etc. Ability to troubleshoot and debug complex software and hardware issues. Experience with Android security models and secure system design. Preferred Qualifications: Experience working on Android-based embedded systems. Familiarity with low-level Android frameworks and AOSP (Android Open Source Project). Knowledge of power management techniques for embedded devices. Experience in cross-compiling and customizing the Android kernel. Familiarity with NXP ARM processors.
#J-18808-Ljbffr