Control Systems Software Engineer

Company
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
Posted by
Fatima Al-Kuwari
Indeed · HR
