Embedded Software Engineer

  Category :  Engineers 
  Position Type : Remote - Centizen Talent Hub 

Job Description

We are looking for bright, talented Embedded software engineer who enjoy the challenges associated with solving the most complex problems by utilizing the most sophisticated technologies and strong people skills.

Soft Skills:

  • Ability to take lead and work in a trustworthy working environment.
  • Partner with the required teams and get seamless outputs.
  • Should be curious to learn more and collaborate whenever needed.
  • Ability to independently manage projects and report/present efforts to clients.
  • Strong communication skills.


  • Meeting with clients and the software design team to determine software specifications.
  • Design and implement firmware modules using C, C++, object-oriented modeling, and standard design patterns and techniques.
  • Develop prototypes to prove out key design concepts and quantify technical constraints.
  • Analyze and root cause customer reported issues.
  • Work with Applications Engineering to troubleshoot customer field issues, triage defects, and perform preventative maintenance to reduce the ongoing impact of defects for existing products.
  • Define test cases and write test automation which effectively validates module designs.
  • Implementing the embedded system and interpreting error reports.
  • Fixing bugs and optimizing the system and maintaining the software program.
  • Support SW developers during all phases of SW development cycle including project setup, project execution, go-to-market.
  • Ensure release branch is balanced on daily basis for each device and if needed, revert code immediately to unblock the release timely.
  • Serve as critical member in productive deployment of new features and fixes as the function ensures that these changes get deployed to the field as per release deployment cycle.
  • Documenting software application values.
  • Assess and implement new tools that are vital to improve the software release engineering process.

Required Skills:

  • Degree in computer science, electrical engineering, or another relevant technical discipline.
  • Strong software triage and debugging skills in an embedded environment.
  • C/C++ programming experience with an emphasis on embedded systems.
  • Software development experience in C++ and Python or TypeScript required.
  • Understanding of real time schedulers, multi-threaded programming concurrency, spinlocks, semaphores and inter-process communications in a Linux OS environment.
  • Working experience with source control tools such as Git and Yocto build system is strongly recommended.
  • Knowledge and experience of modern OS coding techniques, IP protocols, and hardware interfaces.
  • Experience with agile methodologies is valuable.

Chat with us