
- 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

JOB DESCRIPTION:
Position : Linux BSP developer
Location : Bangalore
Experience : 3 to 10 Years
Requirements :
- 3 to 10 Years of proficiency working on C and Embedded Linux BSP (Board Support Package).
- Highly proficient and possess working in Linux kernel and Linux device drivers.
- Hands on experience on working on platform of MIPS, ARM etc.
- Working knowledge and strong understanding of Device Tree.
- Understanding of Make files, their customization and Cross Compilation and Shell scripting.
- Experience in working on U-boot.
- Video and Camera domain knowledge will be a BIG advantage.
- Knowledge of secure boot would be an added advantage.
Position: Senior Embedded Software Engineer – PCIe / Embedded Linux
Location: Bangalore (Preferred)
Experience: 7+ years
Night Shift
About the Role:
We are seeking a highly skilled Senior Embedded Engineer with strong expertise in Embedded Linux and PCIe protocol development. The ideal candidate will have deep technical knowledge of PCIe (Gen4 and above) and experience in developing and debugging embedded systems at both hardware and software levels. Exposure to AI/ML or accelerator-based systems will be considered a strong plus.
Key Responsibilities:
- Design, develop, and optimize embedded software on Linux and RTOS platforms.
- Implement and validate PCIe-based communication and device drivers (Gen4 minimum, Gen5/6 preferred).
- Work closely with hardware and system teams to debug low-level issues related to PCIe interfaces.
- Develop firmware and system-level software components for high-performance embedded platforms.
- Participate in board bring-up, performance optimization, and hardware/software integration.
- Contribute to system architecture discussions and design reviews.
- Document design, testing procedures, and performance analysis.
Core Skills Required:
- Embedded Linux development (mandatory).
- Deep understanding of PCIe protocols (Gen4 minimum; Gen5/6 preferred).
- Strong knowledge of low-level driver development, DMA, interrupts, and memory management.
- Experience with Embedded RTOS environments.
- Familiarity with hardware debugging tools (e.g., JTAG, logic analyzers, oscilloscopes).
- Proficiency in C/C++ and scripting (Python, Shell).
- Excellent problem-solving and debugging skills.
Preferred Skills (Good to Have):
- Exposure to AI/ML hardware accelerators or data processing units (DPUs).
- Understanding of SoC architecture and high-speed interconnects.
- Experience working with multi-core systems and performance tuning.
Education:
- Bachelor’s or Master’s degree in Computer Engineering, Electronics, or related field.
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.
- 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.
Bachelors/Masters Degree in Engineering
Position : BSP Engineer
Total experience : 4+ yrs to 10 yrs
Desired Skills And Experience
4+ years of experience in application development, drivers development.
At least 4 years of working experience in the design and development of u-boot and Linux kernel subsystems and drivers.
Excellent programming skills in C/C++ and Hands-on experience in ARM-based SoC.
Experience in BSP and Boot loaders
Linux Device drivers Development and knowledge of RTOS.
Device drivers experience preferably for following devices: UART, I2C, I2S, SPI, GPIO, PCIe, MMC, USB etc.,
Hands-on experience on WIFI and SDIO has added advantage.
Strong debugging skills.
You would be part of:
- Designing/Improvement of new/existing architectures of distributed computing with subcomponents of Unmanned Aerial Systems (UAS).
- Working/Researching with industrial state of the art sensor systems and modules, and developing drivers (HAL or wrapper) and applications around their usage.
- Design and implementation of communication protocols between different subcomponents of UAS for distributed computing.
- Writing Applications and Drivers from the scratch for (embedded)linux based systems.
- Scripting and automations around work flows of UAS usage.
- Working with existing sophisticated software stacks of subcomponents of UASs.
- Working closely with electronics, design and systems teams for architecture development and deployment.
- Working closely with Flight Controller engineers to do collaborative development of UAVs.
We expect you to be:
- Experienced in hands-on development of complex embedded systems involving multiple microcontrollers or SoCs.
- Very good in analytical abilities to be able to do core research and development activities.
- Able to write low level drivers (wrapper or core) from the scratch.
- Very comfortable reading and understanding datasheets and reference manuals of microcontrollers, peripherals, sensors etc.
- Able to understand existing complex embedded software stack written in C/C++.
- Solid in C.
- Good in C++.
- Comfortable with using hardware debuggers.
- Having Hands-On experience with RTOS concepts like scheduling, threads synchronicity , race conditions etc.
- Having Solid understanding of interrupt mechanisms.
- Experienced in working with different hardware protocols like SPI, I2C, UART, PWM, CAN, USB etc.
- Having Solid understanding of interrupts architecture of ARM based microcontrollers like STM32, LPC etc.
- Having Good understanding of the concept of bootloaders.
- Able to multitask.
- A self-motivated and motivating personality who can work well independently as well as part of a team
- Having good interpersonal and soft skills who can adapt to the work environment while manifesting a good positive attitude
You are awesome if you are:
- Experienced in Linux Device Driver development.
- Having good exposure of working on and understanding of any sensor modules like GPS, LIDAR etc.
- Experienced in data filtering techniques (Example: Kalman filter)
8+ years of experience Excellent skills in C/C++/Java programming in embedded domain
Strong experience in the area of Automotive, Android Embedded development and Connectivity Technologies
Strong experience on Android architecture, HAL, BSP, customize driver in Android HAL, Android boot up sequence
Familiar with Android Build System and procedure and able to provide ideas to improve continuous build and integration
Experience in Hardware peripherals like Ethernet, CAN, DMA, I2C, SPI, UART, Hardware Accelerator, AFE , LCD, backlight, touchcontroller
Experience with design/ modification to Hardware Abstraction Libraries (HAL) for Android support of low-level device features.
Experience in debugging on a wide range of Linux Kernel drivers and Android framework HALs e.g. Audio/Video, USB, Bluetooth, WiFi
Fluent in industry standard software development tools: HSW/HE debuggers, code revision control systems (GIT, Perforce), IDEs and build tools
Exposure/experience in Automotive Embedded Software Development is a plus

- Perform technical feasibility studies of new technologies and architectures, including evaluation of OTS cloud offering.
- Generate entire software image for the target device, including the kernel, device drivers, libraries, and application software, and the bootloader for proprietary IOT connectivity device(s).
- Software packaging with RPM building and management
- Define the process to upgrade the new Linux package to existing hardware at customer premises
- Configuration and Troubleshoot of the proprietary IOT connectivity devices for internal R&D teams during their development and verification
- Automate the creation and distribution of keys and certificates
- Understand, implement, and automate security controls for IoT connectivity devices.
- Tune server and application-level performance monitoring and alerting.
- Help define our roadmap and architecture based on technology and business needs, considering architectural issues and tradeoffs
- Understand and manage integration points with other systems that interface with your applications
- Supports development of project plans, including scope, budget, schedules, and risk management.
- Works closely with the business analysts, software development and verification team, the functional manager, and the program manager.
- Collaborate and work with global teams in multiple locations.
- Interface with Global Privacy and Security team for the IoT Gateway understand security risks and recommendations and provide solutions to mitigate the security risks
- Bachelor’s degree in Computer Networking / Computer Science / Software Engineering or a related field
- 12+ years of hands-on experience in Networking, shell scripting, and Linux internals, with a development background.
- Strong understanding of Networking concepts like VPC, Route tables, Host base router firewall, SSH, NAT, DNS, DHCP, SNMP, Virtual IPs, VPN
- Linux System Administration and Networking work experience
- Configuring Firewalls(IP tables/firewall) and security software
- Able to generate Linux packages, and configure based on business needs.
- Passion for cybersecurity. Ability to build secured Linux packages with antivirus and security patches.
- Shell, Python scripting experience
- Basic SQL skills
- Ability to work with cross-functional and remote teams. Must be able to communicate in English, both written and verbal.
- Interpersonal skills to effectively collaborate with vendors and customers.
- Experience with Agile Scrum
- Development background in Java/C++
- DevOps knowledge
- Knowledge on javascript
Position Title: Embedded Software Developer (Linux Driver Development)
Experience: 4 - 10 Years
Mode of Hire: Permanent, Deployed at Client Location.
Work Location: Hyderabad
Notice Period: Max. 20 - 30 Days (Early Joiners will be preferable).
What we are looking for?
Must Have:
- Should have strong proficiency in C, C++ and Embedded Systems (embedded C)
- Should have 4+ years of experience in Linux Driver Development, Application development
- Excellent debugging skills at kernel and user space and exposure to different debugging tools
- High level understanding of ARM & RISC (Instructions) OR MB Processor and Assembly Programming
Good to Have:
- Any Driver development exposure in Multimedia, Exposure to any one of the Linux Kernel Framework (Display, Camera Drivers, HDMI, GPU, MIPI, DRM framework, V4L2, etc.)






