HamburgerMenu
hirist

Embedded Application Development - C Programming

Nazztec Private Limited
Bangalore
6 - 8 Years
star-icon
4.3white-divider2+ Reviews

Posted on: 05/11/2025

Job Description

Description :

Job Title : Embedded Application Development/ Senior Embedded Developer

Experience : 6 8 Years

Location : [Bangalore]

About the Role :

We are looking for an experienced Embedded Software Engineer with strong hands-on expertise in middleware development, device drivers, board bring-up, and communication protocols. The ideal candidate should have a solid foundation in C programming, data structures, and RTOS/Linux kernel internals, along with experience in debugging and hardware interaction.

Key Responsibilities :

- Design, develop, and maintain embedded software for microcontrollers and processors.

- Work on board bring-up, bootloader, and device driver development for peripherals (UART, SPI, I2C, CAN, etc.).

- Implement and integrate communication protocols and middleware components.

- Derive embedded software design concepts from requirements and system specifications.

- Participate in architecture and design discussions, code reviews, and performance optimizations.

- Develop and maintain Linux device drivers (character, block, platform) and kernel modules.

- Configure Device Tree and customize Linux boot process.

- Debug system-level issues using tools such as gdb, strace, dmesg, perf, etc.

- Work on RTOS-based applications, handling tasks, scheduling, and inter-task communication.

- Collaborate with hardware, QA, and system teams to ensure seamless software-hardware integration.

- Follow clean coding practices, maintain design documentation, and use configuration management tools.

Required Skills & Experience :

Embedded Software Development :

- Strong experience with C programming and data structures.

- Experience in middleware, device driver development, and board bring-up.

- Exposure to communication protocols (UART, SPI, I2C, CAN, Ethernet, etc.).

- Proficient with microcontrollers/microprocessors (ARM Cortex-M/A series, etc.).

- Knowledge of hardware debugging tools oscilloscope, logic analyzer, function generator, etc.

- Experience with configuration management and defect tracking tools (Git, Jira, etc.).

RTOS :

- Hands-on experience with RTOS concepts task scheduling, synchronization, interrupt management.

- Ability to translate requirements into modular RTOS-based designs.

Linux Kernel & Driver Development :

- Strong understanding of Linux kernel architecture and system calls.

- Experience with Linux device drivers (character, block, platform).

- Knowledge of Device Tree configuration, kernel module development, and Makefiles.

- Understanding of memory management, interrupts, and I/O operations.

- Proficiency with Linux debugging and profiling tools gdb, strace, dmesg, perf.

Soft Skills :

- Strong problem-solving and debugging skills.

- Attention to detail and adherence to clean coding standards.

- Good communication and collaboration abilities.

- Ability to work independently and mentor junior engineers if required.

Education : B.E / B.Tech /M.E / M.Tech in Electronics, Electrical, Computer Engineering, or related fields.

Nice to Have :

- Exposure to Yocto, Buildroot, or embedded Linux build systems.

- Familiarity with Agile development and continuous integration tools.


info-icon

Did you find something suspicious?