C++ Embedded Engineer
Job description
About the role
System Engineer, Embedded C++ (Video Edge)
Ajax Systems operates as a leading European developer of security technology. The organization seeks a specialized C++ professional to join its Video team. This role focuses on the creation of embedded software for devices within the Video Edge division, specifically Network Video Recorders and surveillance cameras. Success in this position requires deep engagement with the entire product lifecycle, from low-level vendor interfaces to user-facing system features.
The core mission involves developing robust C++ software that powers critical infrastructure. Engineers will work across the complete stack, including multimedia processing pipelines, network communication protocols, and the user interface on the device itself. Current strategic initiatives require integration of AI-driven object detection and tracking, expansion of cloud storage capabilities, optimization of streaming workflows, and support for evolving hardware platforms. The work environment emphasizes technical excellence, automated verification, and continuous delivery practices.
Applicants must demonstrate advanced proficiency in modern C++. A minimum of four years of hands-on experience with C++11 and C++14 is mandatory. Mastery of the Boost library suite is essential, with specific expertise in Boost.Asio for managing asynchronous I/O operations. Candidates must possess a thorough comprehension of concurrent processing, including the management of threads, processes, and asynchronous event loops.
A disciplined approach to software construction is required. Individuals must be capable of authoring reliable unit tests and integration tests to ensure system integrity. Adoption of Test-Driven Development methodologies is viewed as a significant advantage. Professional-level command of development tools is non-negotiable, including version control with Git, build automation with CMake, and debugging with GDB. Proven experience architecting complex, high-availability systems that operate without interruption is expected.
Additional expertise in specific domains will strengthen applications. Experience with resource-limited embedded platforms and optimization for constrained computational environments is highly valued. Knowledge of POSIX-compliant operating systems, including Linux kernel interactions, and scripting proficiency using Bash is advantageous. Familiarity with real-time video processing pipelines and networking fundamentals, particularly the structure and implementation of RTP and RTCP protocols, is beneficial.
The ideal candidate is comfortable exploring open-source ecosystems. Proficiency with libraries such as FFmpeg for media handling and OpenCV for computer vision tasks is desirable. Experience integrating third-party open-source components into production-grade video systems is a distinct asset.
The Video team operates with a clear mandate to advance the engineering culture. This includes the continuous improvement of testing frameworks and the deployment pipeline. Collaboration is central to the position, requiring close partnership with cross-functional groups. The engineer will participate in the definition of new product features, particularly those integrating video analytics with traditional security sensors. The role involves responsibility for architectural decisions and the ongoing refinement of the product portfolio.
The organization offers a professional setting focused on growth and impact. Team members are encouraged to propose and implement ideas that influence the product direction and scalability. The workplace features a fast-paced, motivated atmosphere. Compensation includes a competitive salary package. The position provides access to medical insurance and opportunities for professional development, including language training. Candidates will have the option to engage in internal beta testing projects for new security systems and to benefit from partner discounts.
What you'll do
- Architect and implement low-level C++ components for video processing and device control within the Video Edge division.
- Develop and maintain high-performance multimedia pipelines that ensure reliable capture, encoding, and streaming of video data.
- Implement network communication modules that handle RTSP, RTP, and RTCP protocols to facilitate secure and efficient data transmission.
- Integrate AI-driven object detection and tracking algorithms into the embedded software stack to enhance analytical capabilities.
- Optimize resource utilization on embedded platforms to meet strict latency and memory constraints without sacrificing functionality.
- Collaborate with hardware vendors to debug and resolve issues at the intersection of firmware and application software.
- Design and maintain scalable cloud storage interfaces that support seamless recording, retrieval, and management of surveillance footage.
- Apply Test-Driven Development practices to build robust unit and integration tests that validate system behavior under diverse conditions.
- Utilize version control, build automation, and debugging tools to maintain code quality and streamline the development lifecycle.
- Investigate and resolve complex issues related to real-time streaming, synchronization, and data integrity in distributed environments.
- Contribute to the evolution of the deployment pipeline and testing frameworks to improve automation and reliability.
- Partner with product and design teams to define new features that align with market demands and security sensor integration.
- Mentor junior engineers by sharing knowledge of best practices in embedded C++ and video systems architecture.
- Drive the refinement of the product portfolio through proactive identification of technical debt and opportunities for architectural improvement.
- Ensure all deliverables comply with the high standards of reliability, performance, and security required by enterprise customers.
Requirements
- Demonstrate advanced proficiency in modern C++ with a focus on systems programming and resource management.
- Hold a minimum of four years of hands-on professional experience writing C++11 and C++14 code.
- Show mastery of the Boost library suite, specifically including Boost.Asio for asynchronous I/O operations.
- Possess a thorough comprehension of concurrent processing paradigms, including threads, processes, and asynchronous event loops.
- Exhibit a disciplined approach to software construction with the ability to write reliable unit tests and integration tests.
- Have professional-level command of Git for version control, CMake for build automation, and GDB for debugging.
- Provide evidence of experience architecting complex, high-availability systems that operate without interruption.
- Display comfort with exploring open-source ecosystems and integrating third-party libraries into production environments.
Nice to have
- Experience with resource-limited embedded platforms and optimization for constrained computational environments.
- Knowledge of POSIX-compliant operating systems and Linux kernel interactions.
- Scripting proficiency using Bash for automation and system administration tasks.
- Familiarity with real-time video processing pipelines and networking protocols such as RTP and RTCP.
- Proficiency with libraries such as FFmpeg for media handling and OpenCV for computer vision tasks.
- Experience integrating third-party open-source components into production-grade video systems.
Practical notes
Hours
- Full-time
Engagement
- Full-time
Location
- Kyiv
Compensation
Employment type
- Full-time