Back to jobs

Senior Software Development Engineer - Server Integrations

Belgrade, Belgrade, Serbia

Network Optix (Nx) is a global powerhouse in video software development, driven by a mission to empower the creation of intelligent video-based solutions and products capable of converting video into actionable data. Over a decade in the making, the Network Optix Enterprise Video Operating System helps innovative organizations rapidly and affordably build world-class, custom-tailored, enterprise-scale video products and solutions.

Nx is headquartered in Walnut Creek, California with additional locations in Burbank, California, Portland, Oregon, Belgrade, Serbia Taipei, Taiwan, and regional teams distributed across the globe. Recognized on the Inc 5000 Fastest Growing Companies list for 9 years running, we are committed to expanding our teams cross-functionally and globally.

Network Optix aims to power the world’s most intelligent video solutions, with the ultimate goal of carving a path toward revolutionizing the landscape of video technology and transforming how we perceive the world around us.

Our team is responsible for a big part of the server development - camera support. There are various camera manufacturers that have their own protocols to work with devices (ip-based. tcp/udp-based, http-based, soap-based, onvif-based etc, all kinds of text and binary protocols). The integration team investigates and supports them, often doing reverse engineering. A sufficient part of the work is investigating bugs on local and remote devices using Wireshark.

Our software runs on all kinds of hardware and operating systems. We write efficient portable code using C++20/23, cmake, conan, git.

What you’ll be doing

  • Examine various camera APIs and create camera plugins for different vendors
  • Maintain and improve camera support on the server side
  • Cooperate with the core server team to improve camera-server interaction
  • Investigate Wireshark logs and server logs to fix bugs incoming from tech support
  • Interact with device manufacturers to improve their APIs
  • Refactor existing code and increase test coverage (UT and FT)
  • Review the code of the other members of the team

Subject area 

Main directions of development are (dozens of protocols are used for each):

  • camera search
  • camera capabilities obtaining
  • camera configuration
  • camera controlling
  • receiving mediastreams
  • receiving video analytics data

Some camera features to obtain, configure and control:

  • audio/video sources
  • audio/video encoders
  • ptz (pan-tilt-zoom) capabilities
  • advanced capabilities (wipers, heaters etc)
  • speakers
  • io-port features
  • security features (door-bells, locks, alarms)

Modern cameras advanced video analytics capabilities we support:

  • events (linecrossing, loitering etc - more then 50)
  • object tracking and classification
  • recognition (license plate, face etc)
  • settings for analytics (drawing regions of interest etc)

Required experience & skills

  • Experience with a large codebase and the ability to support the current codebase
  • Strong background in C++17/20 in multi-threaded environment
  • Deep understanding of the network stack and experience in asynchronous network programming
  • Experience in investigating network traffic with Wireshark
  • Experience in debugging and problem-solving
  • Understanding of OOP and software design patterns
  • Ability to write efficient and portable code
  • Experiences in implementing unit and functional tests

Nice to have

  • Knowledge of Qt 6
  • Acquaintance with C++23/26
  • Cross-platform experiences with Windows and Linux, including embedded devices
  • Understanding of Windows/Linux entrails
  • Basic skills in system administration
  • Experience with Web-services, SOAP, and ONVIF

Hybrid

The position is ideally a hybrid role and the office is located in Belgrade, Serbia. The work cannot be completely remote, as it requires interaction with equipment (Cameras, Intercoms, NVRs, IP-speakers). 

Network Optix is an equal opportunity employer committed to diversity and inclusion in the workplace. We celebrate the diversity of our workforce, which includes people of all cultural, national, racial, gender identities, and those who have served in the military. We strive for an environment where creativity and collaborative growth thrive. If you have a disability or special need that requires accommodation, please let us know. 

CCPA disclosure notice

Create a Job Alert

Interested in building your career at Network Optix? Get future opportunities sent straight to your email.

Apply for this job

*

indicates a required field

Resume/CV

Accepted file types: pdf, doc, docx, txt, rtf

Cover Letter

Accepted file types: pdf, doc, docx, txt, rtf