Job Title - Embedded Android Software Engineer
Location : Portland, OR
Job Summary
We are seeking an experienced QNX / Android Software Developer with strong expertise in Embedded C++, QNX, Linux, and Android Automotive platforms. The ideal candidate will have hands-on experience developing and integrating platform software, middleware, device drivers, and multimedia applications on Qualcomm Snapdragon-based embedded systems.
The candidate will contribute to platform bring-up, software integration, debugging, performance optimization, and development of automotive-grade embedded solutions across QNX, Linux, and Android environments. Experience with Qualcomm Snapdragon 8295, QNX Hypervisor, Linux Device Drivers, Android native/framework development, and virtualization will be highly valued.
Key Responsibilities
- Design, develop, integrate, and maintain embedded software for QNX, Linux, and Android/Android Automotive platforms.
- Develop platform services, middleware, system applications, and low-level embedded components using C/C++.
- Develop, integrate, and debug Linux Device Drivers (LDD) and hardware interface components.
- Work on Qualcomm Snapdragon-based platforms, including platform bring-up, board initialization, BSP integration, and system-level debugging.
- Develop and integrate Android native and framework-level components for Android Automotive platforms.
- Develop and support multimedia applications, multimedia frameworks, and related platform components.
- Work with QNX Hypervisor and virtualization technologies to support multi-OS and cross-platform embedded environments.
- Interface with hardware using SPI, I2C, UART, GPIO, and other embedded communication interfaces.
- Support bootloader, secure boot, power management, and system initialization activities.
- Perform software debugging and root-cause analysis across application, middleware, OS, driver, and hardware layers.
- Use tools such as GDB, QNX Momentics, ADB, and Logcat for debugging and issue resolution.
- Analyze system performance and implement optimization related to CPU, memory, boot time, power, and application responsiveness.
- Support CTS/VTS execution, analysis, and debugging for Android platforms.
- Collaborate with validation, automation, DevOps, and system integration teams to support continuous integration and delivery.
- Integrate software components into CI/CD pipelines and support automated build, test, and deployment processes.
- Use Git/GitLab, Docker, and virtualized development environments for software development and testing.
- Participate in architecture discussions, design reviews, code reviews, defect triage, and release activities.
- Develop Python scripts and automation utilities where required to improve development and validation efficiency.
- Follow Agile/Scrum development practices and maintain technical documentation using tools such as Jira and Confluence.
- Support the adoption of AI-assisted software development tools and practices while maintaining engineering quality and coding standards.
- Collaborate with cross-functional teams to deliver reliable, scalable, and production-ready embedded software.
Mandatory Skills & Experience
- Strong hands-on experience in C/C++ embedded software development.
- Strong experience with QNX platform development.
- Strong experience with Linux platform development and Linux internals.
- Hands-on experience with Android / Android Automotive development.
- Experience with Qualcomm Snapdragon platforms; Snapdragon 8295 experience is highly preferred.
- Experience with QNX Hypervisor and embedded virtualization.
- Strong knowledge of Linux Device Driver Development (LDD) and device driver integration.
- Experience developing software across multiple layers, including BSP, drivers, middleware, platform services, and applications.
- Experience with multimedia software/platform development.
- Strong understanding of hardware/software interfaces including:
- SPI
- I2C
- UART
- GPIO
- Experience with bootloader and secure boot concepts.
- Knowledge of embedded power management.
- Hands-on debugging experience using:
- GDB
- QNX Momentics
- ADB
- Experience with Git/GitLab and software configuration management.
- Experience with Docker and virtualization technologies.
- Understanding of CI/CD integration and software build pipelines.
- Strong troubleshooting, debugging, analytical, and problem-solving skills.
Preferred Skills
- Experience executing and debugging Android CTS/VTS.
- Strong Python scripting skills.
- Experience integrating software with test automation frameworks.
- Experience with AI-assisted software development tools.
- Experience working in Agile/Scrum environments.
- Familiarity with Jira and Confluence.
- Experience in automotive, infotainment, transportation, airline, or other safety-/mission-critical embedded domains.
- Experience with Android Automotive OS and vehicle infotainment systems.
- Experience with Qualcomm BSPs, board bring-up, and hardware/software integration.
Education
- Bachelor's or Master's degree in Computer Science, Electronics Engineering, Embedded Systems, Electrical Engineering, or a related technical discipline.