HamburgerMenu
hirist

Software Engineer - C++ Programming

Workassist
Multiple Locations
3 - 6 Years
star-icon
4.8white-divider21+ Reviews

Posted on: 30/01/2026

Job Description

Role Summary :

We are seeking a high-caliber C++ Software Engineer to design and develop high-performance applications ranging from desktop control interfaces to embedded automation systems.


In this role, you will act as a "Performance Architect," responsible for writing efficient, reusable, and reliable code that powers industrial machinery and robotics.


You will leverage your deep understanding of C++ standards, STL, and Manual Memory Management to build quality modules that operate in non-garbage collected environments.


The ideal candidate is a decisive problem-solver who can identify system bottlenecks and implement optimized solutions using dynamic polymorphism and advanced templating.

Responsibilities :

- High-Performance Development: Design, build, and maintain efficient C++ code for desktop applications, native mobile apps, and resource-constrained embedded systems.

- Algorithm & Data Structure Implementation: Utilize the C++ Standard Library (STL), containers, and algorithms to implement complex automation logic and data processing.

- Memory & Resource Management: Manage system memory manually in non-garbage collected environments, ensuring zero leaks and optimal heap/stack utilization.

- System Optimization: Identify performance bottlenecks and software bugs, devising low-level solutions to ensure real-time responsiveness in industrial hardware.

- Architectural Design: Implement Dynamic Polymorphism and C++ specific constructs, such as friend classes and templates, to create flexible and scalable software architectures.

- Quality Governance: Help maintain code organization, documentation, and automatization of testing to ensure long-term software reliability.

- Hardware Interfacing: Collaborate with hardware teams to ensure software modules interact seamlessly with industrial sensors, actuators, and controllers.

- Troubleshooting: Debug complex multi-threaded issues and race conditions inherent in high-concurrency automation systems.

Technical Requirements :

- C++ Mastery: 3+ years of professional experience with C++ (C++11/14/17) and a deep understanding of the language specification.

- STL Expertise: Thorough knowledge of STL containers (vector, map, list) and algorithms for efficient data manipulation.

- Manual Memory Management: Proven experience in managing pointers, references, and smart pointers without the aid of a garbage collector.

- Advanced OOP: Strong understanding of Object-Oriented Programming, including virtual functions, abstract classes, and template meta-programming.

Preferred Skills :

- Domain Knowledge: Experience in Industrial Automation protocols like Modbus, OPC-UA, or EtherCAT.

- Cross-Platform Development: Familiarity with Qt framework for desktop GUI development or embedded Linux.

- Tooling: Experience with GDB for debugging and Valgrind for memory profiling.

Core Competencies :

- Result-Driven: A relentless focus on delivering high-quality modules that meet strict performance benchmarks.

- Decisive Leadership: Ability to make quick, informed technical decisions during the debugging and design phases.

- Analytical Thinking: Capacity to deconstruct abstract automation requirements into concrete, high-performance C++ logic.

- Attention to Detail: Meticulous approach to code reviews and system documentation to prevent technical debt.


info-icon

Did you find something suspicious?

Similar jobs that you might be interested in