Embedded Software Engineer

About the Role

We are looking for a skilled Embedded Software Engineer to develop high-quality embedded software, lead projects efficiently, and collaborate closely with customers to ensure timely and effective delivery.

Key Responsibilities

  • Develop and deliver quality embedded software in line with project requirements and timelines.
  • Understand and translate customer requirements into robust software solutions.
  • Lead and manage projects efficiently from initiation to delivery.
  • Communicate with customers and facilitate smooth project execution.

Required Skills

  • Proficient in C and C++.
  • Hands-on experience in embedded firmware development.
  • Experience in embedded device driver development.
  • Strong understanding of Real-Time OS concepts — Schedulers, Threads, Queues, Semaphores, Mutexes, Software Timers, and Thread Priorities.
  • Good knowledge of embedded systems — Register Read/Write, Interrupts, and Communication Interfaces (UART, I2C, SPI, PCIe, MIPI CSI, USB, Ethernet).

Good to Have

  • Advanced expertise in C and C++.
  • Deep understanding of RTOS concepts and multithreading.
  • Device driver development experience on Linux operating system.
  • Device driver development experience on Windows operating system.


See also

Embedded jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available