Job Description
Ajax Systems is an international technological company, the largest in Europe developer and manufacturer of Ajax security systems with the capabilities of smart home. It is a whole ecosystem of 135 devices, mobile and desktop applications, server infrastructure. Every year we demonstrate multiple growth in the number of the team and the number of users around the world. Currently, the company has over 3,300 employees. And Ajax sensors protect 2.5 million users in more than 187 countries around the world.
The System Department makes devices smart, turning them into a full-fledged IoT. They created and developed OS Malevich (modular RTOS for different hardware platforms) and the cloud service Ajax Cloud (Java 20 / Kotlin, AWS, Akka, NATS, Kafka, Mongo, MySQL). For controlling, servicing, and monitoring systems by users, installers, and security companies’ engineers, applications for iOS (Objective-C, Swift), Android (Java, Kotlin), Windows/macOS (Python / C++, QT, QML) were developed.
Lately, security has become increasingly important for both homeowners and businesses. Regardless of whether it is home protection, asset protection, or ensuring the safety of loved ones, the presence of a reliable security infrastructure has top priority. It is here that video surveillance systems offer a comprehensive solution for monitoring, recording, and analyzing activity on your territory and around it. Video surveillance systems have undergone a long way since their creation. From early video surveillance systems (CCTV) to modern IP cameras - the evolution of video surveillance technologies has been stunning. Instead of grainy video with low resolution, modern security cameras offer high-definition video, remote access, and intelligent analytical capabilities.
Required skills and knowledge:
5 years of experience with C++ (C++11/C++14)
Good experience working with boost, particularly boost.asio
Good understanding of process, thread, and asynchronous processing principles
Know and write modular/integration tests (TDD culture will be a plus)
Independent mastery of git, cmake, gdb
Good knowledge of Linux/POSIX-compatible systems, knowledge of bash, understanding of Linux kernel principles
Practical experience in designing and developing large systems
Will be a plus:
Experience working with embedded systems and systems with limited computational resources
Experience working with video streaming
Expert-level experience with signal transmission protocols and data streaming (RTSP)
Detailed knowledge and understanding of RTP/RTCP protocol and stack
Knowledge and understanding of internal device formats of video codecs HEVC, H.264
Experience working with GRPC/web sockets, WebRTC, GST, LiveMedia, Video codecs/playback
Experience working with multimedia packaging formats, such as HLS, DASH, and encryption
Experience working with critical video applications and standards
Independent orientation in open-source libraries, from ffmpeg to OpenCV
Practical experience in using and integrating with relevant open-source technologies
Experience in implementing a video processing pipeline for multimedia programs (playing, recording, transcoding, streaming)
Task:
Support a good technical culture with tests and CD
Together with the team, continue working on a new product using cameras for security tasks in combination with traditional security sensors
Develop engineering practices and improve code quality
Participate in discussing new product functionality and respond to product development as part of the system
We offer:
Ability to propose and implement own ideas, which have an impact on the product and production;
Work in a motivated team and zero bullshit culture;
Competitive salary;
Medical insurance;
Corporate English language;
Professional training compensation;
Ability to participate in the project beta testing of Ajax security systems - receiving and testing new gadgets before their release.