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.(ref : hirist.tech)