Network Optix (Nx) is a 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 Platform helps innovative organizations rapidly and affordably build world-class, custom-tailored, enterprise-scale video products and solutions.
We have locations in Walnut Creek, CA, Burbank, CA, and Oregon in the USA, and distributed teams around the globe (Taiwan, Australia, France, Spain, and Serbia to name a few). Nx is profitable and actively invests in expanding into new domains. We are growing our teams cross-functionally and across the globe.
We are looking for a Senior C++ software engineer to join our Device Integration Team. We need a developer who has a strong background in multi-threading, network programming, and modern C++.
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 (transitioning to C++23), cmake, conan, git.
Key Responsibilities
- Examine various camera APIs and create camera plugins for different vendors
- Maintain and improve camera support on a server side
- Cooperate with core server team to improve camera-server interaction
- Investigate Wireshark logs and server logs to fix bugs incoming form tech support
- Interact with device manufactures to improve their APIs
- Refactor existing code and increase test coverage (UT and FT)
- Review the code of the other members of the team
Required experience & skills
- Experience with large codebase and ability to support 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
What we offer
- Competitive compensation
- Paid time off
- Flexible working hours
- Hybrid work in our brand-new comfortable office
- Employer-sponsored health coverage
- Working with top industry experts in our international team
Hybrid
The position is a hybrid role and the office is located in Walnut Creek, CA. We will also consider candidates in Portland, OR. The work cannot be completely remote, as it requires interaction with equipment (Cameras, Intercoms, NVRs, IP-speakers).