Talent.com
Embedded Application Development - C Programming

Embedded Application Development - C Programming

Nazztec Private LimitedBangalore
1 day ago
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.
  • (ref : hirist.tech)

    Create a job alert for this search

    Application Development • Bangalore