Our client, a Leading Global Specialist in Energy Management and Automation, is looking for a Consultant - C++ Embedded Software Developer to design, develop, and maintain high-performance software for real-time, multitasking embedded systems across Linux, VxWorks/RTOS, and Windows environments, with expertise in C/C++, OPC-UA, PROFINET, and distributed systems.
Key Responsibilities
- Design, develop, and maintain software for multitasking embedded systems running on Linux, VxWorks/RTOS, and Windows.
- Excel in core real-time embedded programming, with a strong focus on performance, reliability, concurrency, and system-level development.
- Apply object-oriented design principles to develop efficient, scalable, and maintainable software using C/C++.
- Contribute to the architectural design and development of networked and distributed computing systems, ensuring scalability, reliability, and performance.
- Develop and maintain scripts using Python, Bash, Shell, and PowerShell for automation, system support, and development activities.
- Develop and integrate solutions using industrial communication and networking protocols, particularly OPC-UA and PROFINET.
- Troubleshoot and resolve complex issues across embedded software, real-time systems, operating systems, and distributed environments.
- Participate in design reviews, code reviews, system integration, and software validation activities.
- Collaborate with cross-functional and global teams to align development practices with industry standards and contribute to process and technology improvements.
- Stay current with emerging technologies and actively contribute to improving software architecture, development practices, and engineering standards.
Skills Required
- Bachelor's degree in Electrical Engineering, Computer Science, Robotics, or a related discipline.
- 5+ years of hands-on experience in software development for multitasking embedded systems.
- Strong hands-on expertise in C/C++, with 3+ years of professional experience in object-oriented design and development.
- Strong expertise in core real-time embedded programming, including multitasking, concurrency, debugging, performance optimization, and system-level development.
- Hands-on experience with Linux and VxWorks/RTOS; experience with Windows-based development is also required.
- Experience with OPC-UA and PROFINET or related industrial communication protocols.
- Experience with architectural design and development of distributed and networked computing systems.
- Proficiency in Python, Bash, Shell, and PowerShell scripting.
- Strong problem-solving and debugging skills in real-time, embedded, and distributed environments.
- Demonstrated ability to work effectively with cross-functional and global teams.
- Startup mindset with the ability to adapt, innovate, take ownership, and proactively solve complex technical problems.