C++ Expertise: Proven experience with modern C++ (C++11/14/17/20), including the development of complex and high-performance applications.
Software Architecture Knowledge: Solid understanding of scalable and maintainable system design principles.
Concurrency & Multithreading: Hands-on experience building concurrent and multithreaded applications.
Performance Tuning: Strong ability to profile applications, identify inefficiencies, and implement performance optimizations.
Debugging Skills: Effective in diagnosing and resolving issues in large C++ codebases.
Industrial Automation Understanding: Familiarity with SCADA systems, industrial data acquisition, and control technologies.
Communication Protocols: Knowledge of industrial protocols such as Modbus, OPC UA, or Ethernet/IP.
Development Tools Proficiency: Experience with debugging tools, performance profilers, build systems (e.g., CMake), and version control systems (e.g., Git).
Teamwork & Communication: Excellent collaboration skills and the ability to communicate technical topics clearly in English, both written and spoken.
Education & Experience: Bachelor's or Master’s degree in Computer Science, Engineering, or related field, with 5+ years of professional software development experience, ideally in industrial automation or SCADA.
Optional
Experience with real-time operating systems (RTOS).
Knowledge of database systems and data persistence strategies.
Experience with testing methodologies and frameworks relevant to C++ applications (e.g., Google Test).
Familiarity with scripting languages (e.g., Python) for automation and tooling.
Experience with Agile development methodologies (e.g., Scrum, Kanban).
Familiarity with cross-platform development.
Polish/Russian language skills.
Your responsibilities
Core Development (C++): Designing, developing, and maintaining key components of the fastCenter SCADA system using modern C++ standards, with a focus on performance, reliability, and scalability.
Technical Design & Implementation: Translating requirements into efficient, well-structured code, and contributing to the technical design of new features and system enhancements.
Optimization & Troubleshooting: Identifying performance bottlenecks and resolving complex technical issues. Supporting debugging and root-cause analysis of system behavior.
Cross-Functional Collaboration: Working closely with system architects, PLC automation engineers, and commissioning teams to ensure smooth software integration and deployment in industrial environments.
Code Quality & Process Improvement: Upholding high standards in code quality, participating in code reviews, and actively contributing to the continuous improvement of development practices.
Mentorship & Knowledge Sharing: Guiding junior engineers and promoting best practices through active knowledge sharing.