- Extensive knowledge of linux kernel internals.
- Good knowledge of C programming language.
- Familiarity with any processor architecture, virtualization, storage and network management.
- Strong experience in debugging linux kernel mode
- Debugging experience across hardware and platform firmware.

Similar jobs
Key Responsibilities
- Maintain and enhance the Yocto BSP for the TechNexion PICO-IMX6 DualLite (NXP i.MX6) platform.
- Assess and execute migration from Yocto Zeus to a newer LTS release (e.g., Dunfell/Kirkstone).
- Integrate stable Linux kernel patches from NXP and mainline.
- Optimize system boot time, startup sequence, and overall performance.
- Remove unnecessary services and packages to reduce image footprint.
- Update and stabilize the Bluetooth stack (BlueZ and firmware).
- Optimize Linux kernel configuration, power management, and CPU tuning.
- Debug CPU, memory, storage, and I/O performance issues.
- Maintain Yocto layers, build process, and technical documentation.
- Define and maintain eMMC/SD storage layouts for boot, rootfs, data, and update partitions.
Required Skills
Mandatory
- 5+ years of Embedded Linux development experience.
- 2+ years of hands-on Yocto Project experience.
- Strong expertise in:
- Yocto (recipes, meta-layers, BitBake, bbappend)
- Linux kernel configuration and patching
- NXP i.MX6 or similar embedded platforms
- Systemd optimization and boot profiling
- Embedded Linux debugging (dmesg, perf, ftrace, systemd-analyze)
- BlueZ and Bluetooth bring-up
- Cross-compilation, toolchains, and Git workflows
Preferred
- Yocto LTS migration experience.
- U-Boot optimization.
- Embedded power optimization.
- Secure Boot and OTA update concepts.
- Exposure to Qt-based embedded systems.
Key Deliverables
- Optimized and maintainable Yocto BSP.
- Reduced system boot time.
- Lean system image with redundant services removed.
- Stable Bluetooth stack with updated patches.
- Updated Linux kernel with critical fixes.
- Documented Yocto layers and build process.
- Migration plan for the latest Yocto LTS.
- Defined storage partition layout for deployment.
Experience: 9+ Years in Embedded Linux (Minimum 5+ Years with Yocto)
The Role:
We are seeking a highly skilled Sr Embedded Software Engineer (Python & C++) to manage and improve the software development lifecycle for device firmware systems. The primary focus of this role is to ensure firmware operational reliability, fail-safe implementation, certification compliance, and robust production deployment.
This role is ideal for an engineer experienced in system-level software, firmware validation, testing automation, and production readiness — but not focused on low-level hardware design.
Experience: 6-10 years
Job Location: Hyderabad
Job Type: Permanent
CORE FOCUS AREAS
• Ensure firmware operates reliably in production environments
• Implement and validate fail-safe mechanisms and fallback logic
• Maintain certification compliance across firmware releases
• Drive robust, repeatable production deployment pipelines
• Support field debugging and OTA update validation
IDEAL CANDIDATE PROFILE
• Strong hands-on experience in Python and C++ development
• Background in system-level software and firmware validation
• Experience with testing automation and production readiness
• Comfortable working closely with embedded engineers
• Not required to have low-level hardware design expertise
KEY RESPONSIBILITIES
FIRMWARE OPERATIONAL STABILITY
• Ensure firmware operates reliably in production environments
• Implement and validate fail-safe mechanisms and fallback logic
• Monitor watchdog systems, timeout handling & safe state transitions
• Work closely with embedded engineers to validate firmware behavior
PYTHON & C++ DEVELOPMENT
• Develop firmware communication layers & device control applications
• Build diagnostic tools and test automation frameworks
• Optimize performance and memory handling in C++ applications
• Develop production-ready Python tools for deployment, logging & validation
FAIL-SAFE & SAFETY IMPLEMENTATION
• Implement safe boot validation, error recovery & redundancy logic
• Build communication retry systems & safe shutdown protocols
• Design state machines for controlled device operation
• Ensure safe-state transitions on power, comms or hardware failure
PRODUCTION DEPLOYMENT & VALIDATION
• Create secure and repeatable firmware deployment pipelines
• Implement boot image validation, signature verification & rollback
• Develop health monitoring and diagnostic utilities & CI/CD Pipelines
• Support field debugging and OTA update validation
Linux Environment
• Work in Linux-based environments for firmware development, debugging, and deployment — including shell scripting, process/service management, and system diagnostics.
• Own unit testing, integration testing & production release management
• Ensure code quality and compliance with internal standards
IoT + AI
Building the tech behind India's Reverse Vending Machines
SUCCESS METRICS
• Firmware reliability — stable, uninterrupted operation in production environments
• Fail-safe coverage — validated fallback logic, redundancy & safe-state transitions
• Linux Environment - Use Linux for development till deployment
• Deployment success rate — secure, repeatable pipelines with clean rollbacks
• Code & release quality — test coverage, code review discipline & CI/CD health
• Field performance — OTA update success and turnaround on field debugging
𝐒𝐞𝐧𝐢𝐨𝐫 𝐒𝐭𝐚𝐟𝐟 𝐄𝐧𝐠𝐢𝐧𝐞𝐞𝐫 – Android Automotive (AAOS)
𝐄𝐱𝐩𝐞𝐫𝐢𝐞𝐧𝐜𝐞: 4–10 𝐘𝐞𝐚𝐫𝐬
Mandatory skills: Android Automotive OS (AAOS/AOSP), Android Application Framework, System Services, Binder IPC (AIDL/HIDL), Java, C++, Automotive Infotainment, CAN/Ethernet, ASPICE (preferred)
𝐎𝐓𝐀 𝐅𝐫𝐚𝐦𝐞𝐰𝐨𝐫𝐤 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫
𝐄𝐱𝐩𝐞𝐫𝐢𝐞𝐧𝐜𝐞: 5–10 𝐘𝐞𝐚𝐫𝐬
Mandatory skills: Automotive OTA Framework, C/C++, Embedded Linux, Uptane, FOTA/SOTA, A/B partitioning, Bootloader interaction, Secure OTA (PKI, SSL/TLS), CAN, UDS, DoIP
𝐓𝐞𝐥𝐞𝐦𝐚𝐭𝐢𝐜𝐬 𝐅𝐫𝐚𝐦𝐞𝐰𝐨𝐫𝐤 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫
𝐄𝐱𝐩𝐞𝐫𝐢𝐞𝐧𝐜𝐞: 5–10 𝐘𝐞𝐚𝐫𝐬
Mandatory skills: Telematics/Connected Vehicle platforms, Embedded Linux, C++, 4G/5G, Wi-Fi, Bluetooth, GNSS, Vehicle Data, MQTT, HTTP/HTTPS, LwM2M, CAN, Ethernet, UDS.
Job Summary
We are seeking a highly skilled and motivated Linux Device Driver Engineer with strong C/C++ programming skills and hands-on experience in Linux driver development. The ideal candidate will have a proven track record of working with kernel modules and hardware interfaces, and be comfortable debugging and optimizing low-level system software.
Key Responsibilities
- Porting existing Linux device drivers to new platforms, SoCs, and kernel versions.
- New driver development for custom hardware components and peripherals.
- Debugging kernel and driver-level issues using industry-standard tools.
- Integration & bring-up of hardware with Linux-based systems.
- Collaborate with hardware teams to interpret specifications and enable device functionality.
- Optimize drivers for performance, reliability, and resource efficiency.
- Write clear technical documentation for driver APIs, design, and integration steps.
Required Skills & Qualifications
- Bachelor’s/Master’s in Computer Science, Electronics, or related field.
- 4 to 8 years of professional experience in software development.
- Strong proficiency in C/C++ programming and memory management.
- Hands-on experience with any Linux device driver (character, block, network, USB, PCIe, I2C, SPI, etc.).
- Good understanding of Linux kernel architecture, module programming, and build systems.
- Knowledge of interrupt handling, DMA, and device tree configuration.
- Familiarity with cross-compilation and embedded Linux toolchains.
- Experience with debugging tools (GDB, ftrace, perf, printk, etc.).
- Version control experience (Git).
Preferred Skills
- Exposure to multiple driver types (networking, storage, multimedia, etc.).
- Experience with Yocto, Buildroot, or similar embedded Linux environments.
- Knowledge of real-time Linux and RT patches.
- Scripting knowledge (Python, Bash) for testing and automation.
Soft Skills
- Strong analytical and debugging skills.
- Good communication and collaboration abilities.
- Ability to work independently and take ownership of deliverables.
Requirements:
- Very good programming knowledge in C/C++
- Experience in Multi-threaded software development
- Understanding of operating systems concepts, system performance, and optimization
- Familiar with working in an Embedded Linux development environment.
- Excellent problem-solving/debugging skills, design, development, troubleshooting, and debugging
- Knowledge of embedded tools like emulators, linkers, makefiles, etc
- Experience in voice applications development, preferably on client/server platforms
- Knowledge of RTOS programming will be added advantage.
- Understanding of different processors. microcontrollers architectures.
- Familiarity with development tools such as GCC, GDB, Eclipse, GNU Make, etc
Desired Candidate Profile For Embedded Developer Role
1. Proficient in C language
2. Proficient in Linux application development, TCP/IP protocol, multi-threaded programming, basic encryption algorithm,
3. familiar with Linux system commonly used API and commands, proficient in basic debugging means and methods.
4. Proficient in STM32 and other SCM development, skilled in using Keil and other integrated development environment,
5. proficient in serial port communication programming, Bluetooth, GPIO, SPI, EEPROM and other development, proficient in basic debugging means and methods.
6. Have basic hardware skills and knowledge, can draw PCB and read circuit diagrams, can use an oscilloscope and other tools for debugging.
7. Familiar with embedded system, free-RTOS, RT-Thread, etc.
8. Fluency in both spoken and written English.
- Strong C/C++ programming hands on experience
- Should have work experience on firmware development with strong Linux internals.
- Very good development, design and debugging experience on embedded firmware.
- Added advantage to have experience on Systems management/Out of Band/BMC domain experience
- Good to have automation experience using Python or shell scripting
- Excellent communication and problem solving skills
- Experience on tools like JIRA, Yocto, Visual studio, etc.
About the role
Experience in Firmware/Software programming in embedded Linux & RTOS based application development. Candidate must have a very good understanding of ARM processor, hardware and custom board or product development experience.
Roles and Responsibilities:
- Design, code and integrate software for an embedded Linux/RTOS targeted application (applications, drivers, framework)
- Customization, deployment and maintenance of Linux distribution
- Interact with Linux kernel, integrate new device drivers Improvement and maintain existing software components
- Perform unit test, Integration test, verification and validation of the product developed.
- Assist with the hardware design surrounding the processor
- Document the projects according to standards (protocols, architecture, technical specifications, etc.)
Qualifications:
- Bachelor degree in Electronics or computer science engineering.
- Minimum 6 - 12 years of experience in embedded Linux programming.
Specific skills:
- Expert in C programming with RTOS.
- Hands-On experience with Protocol development.
- Nice to have Protocol development experience such as USB or DP, HDMI or equivalent.
- System level design and understanding of overall system
- Strong knowledge of Linux, ARM processor architecture with SOC, FPGA interface is a plus.
- Hand-on experience on Linux kernel and device-driver development and debugging.
- Knowledge/Experience of TCP/IP, Network programming.
- Ability to write effective and reusable code according to best practices.
- Must be a dynamic, autonomous, and team-oriented individual.
- Knowledge of hardware and low-level development is an asset.
Software development for Automotive Pneumatic based Air Lift Systems for RV vehicles, suspension for off-road vehicles.
Responsibilities and Duties
• Author software requirements from system/customer requirements.
• Complete responsibility for BSW software components development/test/release/maintenance.
• Ability to code software for automotive time critical real-time applications.
• Experience in device drivers development for micro-controller.
• BSW API’s for application demand.
• Will have to configure and develop device drivers for MCU IO’s like Analog & Digital I/O, PWM, CAN, SPI, I2C and Bluetooth.
• Complete understanding of IS0-14229 and should be able to implement complete UDS stack.
• Timely communication with customer and inform any risks upfront.
• Quality control of release software via static and dynamic test.
• Project planning and estimations for software releases.
Qualifications
• B.Tech/M.Tech, 6+ years of experience into automotive software development.
• Expert in C Programming language.
• Experience in any scripting language (python, c#, perl etc.)
• Experience in setting up build environment and configuration of make and linker files.
• Experience in bootloader development is added advantage.
• Should be experienced in device driver development for peripherals like ADC, DIO, PWM, CAN, SPI, I2C,EEPROM and Bluetooth.
• Understand memory map of MCU and should be able to configure as per application needs.
• Experience in working with embedded system Kernels or RTOS.
• Experience in working with NXP S32 micro is added advantage.
• Excellent on board debugging skills.









