
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.

About TechSkillio
About
Company social profiles
Similar jobs
Job Title : Embedded System Software Engineer
Experience Required : 1 to 3 Years
Duration : 6+ Months (Extendable)
Notice Period : Immediate
Job Description :
We are seeking a motivated and skilled Embedded System Software Engineer to join our team.
The ideal candidate will have 1 to 3 Years of experience in embedded software development with a solid foundation in C++ and Qt 5.
This role involves working with embedded Linux systems and contributing to the development and maintenance of robust embedded applications.
Mandatory Skills : C++, Qt 5, Embedded Linux (Yocto preferred), SOAP/REST protocols, Git, problem-solving, and analytical skills.
Key Responsibilities :
- Design, develop, and maintain embedded software applications using C++ and Qt 5.
- Work on embedded Linux systems, with a preference for experience in The Yocto Project.
- Integrate and manage network communication using protocols such as SOAP and REST.
- Collaborate with cross-functional teams to understand requirements and deliver high-quality solutions.
- Utilize Git for version control and collaborative development.
- Troubleshoot and debug software and system issues efficiently.
- Continuously improve code quality through code reviews, testing, and optimization.
Required Skills and Qualifications :
- Bachelor’s degree in Computer Science, Engineering, or a related field.
- 1 to 3 Years of hands-on experience in software development.
- Proficiency in C++ and Qt 5 Framework.
- Experience working with Embedded Linux; knowledge of Yocto Project is a strong plus.
- Basic understanding of network protocols, including SOAP and REST.
- Familiarity with Git or other version control systems.
- Strong problem-solving and analytical skills.
Preferred Skills (Nice to Have) :
- Experience in cross-compiling and deployment for embedded targets.
- Familiarity with CI/CD tools and automated testing for embedded systems.
- Understanding of hardware-software integration challenges.
Candidate should have 6-9 years of experience in IoT embedded systems. He/ She should be
passionate, tech savvy, academically sound, have interest in embedded devices and
technologies.
Experience:
• Exposure to Microcontroller/Microprocessor Architecture /Family e.g. ARM Cortex,
Microchip, Xtensa ESP32, TI CC32XX, STM32
• Knowledge of Bare metal and any RTOS (Free RTOS, uC OS, EmbOSs, VxWorks, QNX)
• Knowledge of Microcontroller peripherals and low level drivers e.g. ADC, DAC, I2C, SPI,
UART, CAN, RS485, DMA, Ethernet, Display
• Knowledge of networking concepts like OSI layers, embedded TCP/IP stacks and common
IP protocols
• Knowledge of RF protocols WIFI, Bluetooth/BLE, IoT Cellular
• Knowledge of IoT communication protocols MQTT, COAP, AMQP
• Knowledge of Build toolchains and framework such as IAR, GCC, Keil, Mplab
• DFMA and DFMEA, Design release process
• Coding standards, guidelines and compliance tools
• Version control and repositories using git tools
• Software quality assurance and automated testing tools Experience / Skills Embedded software design cycle
• Documenting Software Design (flow charts, state diagram, logic design, analysis, implementation, debugging and testing etc)
• Good hands-on programming in Embedded C, C++.
• Programming in scripting languages such as batch, shell, python is a plus.
• Experience with AWS/Google cloud for device connectivity. Exposure to IoT cloud services. e.g. AWS IoT
• Software and Hardware integration testing and troubleshooting
• Protocol debugging using protocol analyzer.
• Understanding of Schematic/ Hardware design around microcontrollers like ST, TI, Atmel, Microchip, ARM core
Internship Opportunity – Embedded Systems & IoT
Join our hands-on internship program designed for engineering students passionate about core tech. You'll work on real-time projects involving microcontrollers, sensors, RTOS, circuit design, and IoT protocols.
Gain exposure to AI-integrated embedded applications and build a strong project portfolio with mentorship and placement support.
Location: Bangalore (Hybrid/On-site)
Duration: 2–3 months
Eligibility: Final-year students and pre final year (ECE/EEE/CSE/Mechatronics)
#EmbeddedSystems #IoTInternship #EngineeringInternship #CoreTechCareers #Microcontrollers #RTOS #PCBDesign #IoTProjects #KnowxInnovations #AIoT #TechInternship #SkillDevelopment #HandsOnLearning #BangaloreInternship #StudentInternship
Requirements:
- Strong C/C++ programming and debugging skills in a Linux environment.
- Experience with Design Patterns, ACE Framework, and Socket Programming.
- Experience in Multi-threaded software development for Multicore Architectures.
- Experience in VOIP application development, preferably on client/server platforms.
- Understanding of system performance and scaling.
- Experience in embedded software development.
- Excellent problem solving/debugging skills design, develop, troubleshoot and debug.
- Software programs for databases, applications, tools, networks etc.
Please go through with the below mentioned job description
Position title: Firmware Engineer
Experience: 6-12 years
Notice Period: 0-30 days
Location: Bangalore(Sarjapur)
Role type: Permanent
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.)
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
Please provide below mention details:
No. of years of working experience in Embedded Linux -
Protocol stack development Exp, any specific protocol worked on -
Relevant Experience:
Official Notice Period 30/60/90 Days:
Date of Resignation:
Serving Notice Period and Last Working Day:
Current Company:
Current Location:
Work Location:
Current CTC(fixed,variable):
Expected CTC(fixed,variable):
Interview Availability:
Any Offer:
Relocate to Bangalore(Sarjapur):
company name
company location
date of joining
- 8+Years of Exp in C++ Developement
Software: C++, Jenkins, Visual Studio, Linux, CheckMarx, GitHub, Google test framework.
Application Architecture: Scalable, Resilient, Cloud deployable, high performance based.
DB: Oracle
Libraries: CPLEX (knowledge of CPLEX is a plus)









