What are the responsibilities and job description for the Embedded Software Engineer (C/C++) position at Luxoft?
Project Description:
We are seeking a Senior Embedded Software Engineer with strong experience in QNX and/or Android device driver development, board bring-up, and low-level hardware integration on Automotive IVI and Connectivity ECUs. This role focuses on platform enablement, driver development for multimedia/connectivity subsystems, complex HW/SW debug, and production-readiness support through DV and end-of-line phases.
Responsibilities:
1. Platform Bring-Up & Device Driver Development
- Lead board bring-up activities on Qualcomm SoC-based IVI / connectivity platforms
- Develop and debug kernel/device drivers and BSP components (QNX or Android/Linux)
- Enable core subsystems (boot chain, clocks/resets, storage, power sequencing) needed for platform readiness
- Collaborate with HW teams on schematic/DT review and interface validation
2. Hardware-Software Integration & Debugging
- Debug complex HW/SW interaction issues across drivers, firmware, and peripherals
- Perform root-cause analysis using tracing/logging and lab instrumentation; drive issues to closure
- Partner with suppliers and cross-functional teams to resolve platform defects and unblock integration
3. Cross-ECU Coordination & Platform Services
- Support integration topics spanning IVI ECU and connectivity/MCU components (e.g., power and wake coordination)
- Define and document low-level interfaces, assumptions, and bring-up checklists to improve repeatability
4. Production Readiness & Validation Support
- Support DV/PV and manufacturing readiness (flashing, diagnostics hooks, stability fixes, performance tuning)
- Improve observability and robustness (error handling, watchdogs, recovery paths) for production deployments
- Provide on-site/remote support during critical integration builds and validation events as needed
5. Technical Leadership & Best Practices
- Mentor engineers and contribute to design/code reviews with an emphasis on quality and maintainability
- Drive best practices for driver architecture, testing strategies, and documentation
- Continuously improve bring-up workflows, tooling, and automation where applicable
Mandatory Skills Description:
- 10 years of embedded software development experience
- Strong experience in QNX (7.1/8.0) or Android BSP / Linux kernel development
- Hands-on experience with Qualcomm automotive SoCs (e.g., SA8155P, SA8255P, or similar)
- Experience developing and debugging kernel drivers and/or HAL layers (C/C )
- Board bring-up experience including bootloaders, device trees, and low-level initialization
- Deep understanding of interrupts, DMA, memory mapping, clocks/resets, and power management
- Strong hardware debug skills using logs, tracing, and lab tools (e.g., JTAG)
Other skills:
- Strong analytical and structured problem-solving skills for complex embedded systems
- Clear written and verbal communication; able to align across hardware, software, and validation teams
- Collaborative mindset; effective in cross-functional and cross-company environments
- Ownership-driven execution with a high bar for code quality, documentation, and reviews
- Ability to mentor engineers and establish best practices for bring-up and debugging
Nice-to-Have Skills Description:
- Experience in automotive IVI / digital cockpit systems
- Experience with multimedia subsystems (audio, display, camera) and/or connectivity (USB, Ethernet, BT/Wi‑Fi)
- Experience supporting DV, PV, and EOL / manufacturing phases
- Familiarity with NXP S32K microcontrollers and cross-ECU power coordination
- Experience with FreeRTOS or microcontrollers
- Safety awareness: familiarity with ISO 26262 concepts