Description
Summary:
Design, develop, and maintain embedded and real-time software for control systems across various industries, ensuring safety, performance, and reliability.
Highlights:
1. Design and implement embedded control software using C/C++ and RTOS.
2. Develop control algorithms and integrate them into software architecture.
3. Ensure functional safety and reliability for critical systems.
**Control Systems Software Engineer — Job Description Role summary**
Design, develop, and maintain embedded and real\-time software for control systems that monitor and command electromechanical processes, ensuring safety, performance, and reliability across industrial, robotics, aerospace, automotive, or energy systems.
**Key responsibilities**
* Design and implement embedded control software (firmware, drivers, middleware) for real\-time systems using C/C\+\+ and RTOS or bare\-metal environments.
* Develop control algorithms (PID, state\-space, observers, Kalman filters) and integrate them into software architecture.
* Work with system engineers to specify requirements, interfaces, and control system architectures; translate control theory into production\-ready code.
* Implement model\-based design workflows (MATLAB/Simulink) and generate/ verify code for embedded targets.
* Develop and maintain communication stacks and protocols (CAN, Ether CAT, Modbus, RS\-485, TCP/IP) and device interfaces.
* Implement diagnostics, telemetry, and logging for performance monitoring, fault detection, and remote debugging.
* Write unit, integration, and hardware\-in\-the\-loop (HIL) tests; automate test harnesses and CI for embedded builds.
* Perform real\-time performance tuning, latency analysis, and resource optimization (memory, CPU, power).
* Support hardware bring\-up, board\-level debugging, and collaboration with electrical/mechanical teams (oscilloscopes, logic analyzers, JTAG/SWD).
* Ensure functional safety and reliability: participate in requirements traceability, FMEA, safety analyses, and implement safety\-critical features per standards (ISO 26262, IEC 61508, DO\-178, as applicable).
* Maintain version control, documentation, and configuration management for software and firmware releases.
* Mentor junior engineers and participate in design reviews and technical planning.
**Required qualifications**
* BS in Electrical Engineering, Computer Engineering, Robotics, Computer Science, or related field; MS preferred.
* 3\+ years developing embedded/control software or equivalent experience.
* Strong proficiency in C and C\+\+; familiarity with MISRA C/C\+\+ desirable.
* Experience with real\-time operating systems (Free RTOS, VxWorks, RTEMS) and real\-time scheduling concepts.
* Solid background in control theory and experience implementing control algorithms in software.
* Experience with model\-based design tools (MATLAB/Simulink) and code generation workflows.
* Familiarity with hardware interfaces, embedded debugging tools (JTAG, logic analyzers), and low\-level device drivers.
* Experience with communication protocols relevant to the domain (CAN, Ether CAT, Modbus, etc.).
* Test\-driven development experience for embedded systems, including unit testing frameworks and HIL setups.
* Strong problem\-solving, systems thinking, and collaboration skills.
Job Types: Full\-time, Permanent
Pay: QAR25\.25 \- QAR89\.50 per hour
Expected hours: 40 per week
Work Location: In person