Embedded Software Developer

We are looking for an experienced Embedded Software Developer with strong expertise in low-level software development, firmware engineering, device drivers, and embedded Linux systems. The ideal candidate will have hands-on experience designing software for microcontroller-based platforms, board bring-up activities, and real-time embedded systems.

We are looking for an experienced Embedded Software Developer with strong expertise in low-level software development, firmware engineering, device drivers, and embedded Linux systems. The ideal candidate will have hands-on experience designing software for microcontroller-based platforms, board bring-up activities, and real-time embedded systems.

Location: Bengaluru / Hyderabad

Experience: 4-8 Years

Develop low-level software for microcontroller-based embedded systems.

Design and implement embedded software using C and C++.

Work on embedded systems running pre-emptive and multitasking real-time operating systems.

Develop software components for embedded platforms and hardware interfaces.

Design and implement device drivers, firmware, and middleware components.

Work with hardware interfaces such as Ethernet, PCIe, DDR controllers, and DMAC.

Perform board bring-up, firmware validation, and hardware-software integration.

Develop and maintain boot loaders, build systems, and toolchains.

Understand customer requirements and convert specifications into software solutions.

Create and execute software test strategies and test plans.

Collaborate with hardware and system architecture teams throughout development.

Debug and optimize embedded software for performance and reliability.

4-8 years of experience in embedded software development.

Strong programming expertise in C and C++.

Hands-on experience with embedded systems and RTOS-based environments.

Experience designing and developing software for embedded platforms.

Strong understanding of hardware interfaces including Ethernet, PCIe, DDR Controller, and DMAC.

Experience developing device drivers for at least one major operating system.

Experience with board bring-up, firmware development, boot loaders, build systems, and toolchains.

Ability to understand customer use cases and translate them into technical solutions.

Experience creating software test plans and validation strategies.

Strong analytical, debugging, and troubleshooting skills.

Experience with Linux device driver development and Linux internals.

Proficiency using debugging tools such as GDB, KGDB, and profilers.

Excellent communication and teamwork skills.

Self-motivated with strong ownership and execution capabilities.