MUST HAVE
Bachelor’s degree in Computer Science, Software Engineering, or a related technical field.
2+ years of professional software development experience.
Proven, in-depth expertise in one of the following technology stacks:
C++: Strong proficiency in modern C++ (C++11/14/17 or newer) and a deep understanding of object-oriented design.
For All Candidates:
Strong understanding of data structures, algorithms, and software design patterns.
Experience working in an Agile/Scrum development environment.
Familiarity with version control systems, particularly Git.
Excellent problem-solving, analytical, and communication skills.
Experience with automated testing and continuous integration/continuous delivery (CI/CD) pipelines (e.g., Jenkins, Azure DevOps, Bamboo).
For C++ Focused Candidates:
Experience with multi-threading, memory management, and real-time operating systems (RTOS).
Proficiency with standard libraries like STL and Boost.
Experience developing software for embedded systems, industrial automation, or aerospace applications.
Familiarity with Linux or other Unix-like operating systems.
Knowledge of network protocols (TCP/IP, UDP).