Senior Embedded Controls Software Engineer


Manufacturing and Production

Advert ID




Job Type




Salary Range

Based on Experience

No. of Openings


Branch Information

Raleigh Engineering - (USA) 701 Corporate Center Drive Suite 375 NC Raleigh , NC 27607



Job Description

The Embedded Controls Software Engineer will utilize state of the art software development processes and tools including Model Based Design to create, verify and document software/firmware programs.

This position will be primarily focused on embedded controls design and integration, specifically the design and implementation of real time control logic that governs the functioning of a refrigeration unit, as well as communicating with the outside world via display user interfaces and in other forms (IoT devices, Apps, flash drives).

* Applying agile software lifecycle management and model based design principles and tools to design and implement real time embedded software solutions for our controls platforms

* Interface with refrigeration systems engineers to understand requirements and applications and translate them into specific hardware and software specifications.

* Develop and maintain specification documents.

* Design, implement, and automate unit tests.

* Prototype new solutions to prove technology concepts.

* Participate in sprint and release planning activities, sizing of work tasks.

* Contribute to improving software development processes with new ideas and introducing new tools, including model based design.


* BS degree in Computer or Electrical Engineering with 4 to 7 years of embedded controls experience

* MS degree in Computer or Electrical Engineering with 3 to 5 years of embedded controls experience

* PhD degree in Computer or Electrical Engineering with 1+ years of embedded controls experience

Required Skills

* Strong C++ and C programming skills for embedded systems applications

* Development of real time applications with use of RTOS including Embedded Linux

* Design of embedded software modules as part of an overall architecture

* Proposal, implementation, and validation of architectures of control modules.

* Formulation and execution of unit testing, debugging, and troubleshooting

* Experience with PIC, Renasas, X86 and ARM Microcontrollers or similar

* Experience with model based design tools and methods including software modeling (UML/Rhapsody, Simulink/Stateflow), autocode generation, testing and verification

* Familiarity with software development and lifecycle management tools (e.g. IBM Jazz RTC)

Desired Skills:

Software Development:

* Actively participate in the project planning, sizing of development tasks

* Write specifications, test plans and document designs

* Participate in software code or model inspections and design reviews

* Develop software using C++ with Object Oriented Design methods

* Knowledge of control system and system diagnostics algorithms and their design process

* Use of field communication protocols (CAN, MODBUS) and other interface protocols, wired and wireless (USB, Wi-Fi, BT).