Software Development Engineer, C++

Network Optix

$180K — $250K *
Information Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • 5-7 years of experience in software development with a focus on C++17/20 and asynchronous programming
  • Strong experience with multi-threaded programming and network traffic analysis
  • Solid grasp of OOP principles and software design patterns
  • Familiarity with Windows and Linux development environments and toolchains
  • Experience with version control systems like Git and build tools like CMake
  • Ability to analyze and debug code in large, complex codebases
  • Knowledge of web services like SOAP and ONVIF is a plus

Responsibilities

  • Examine and develop camera vendor APIs and plugins
  • Implement support for a range of cameras and devices including NVRs and IP speakers
  • Collaborate with core server team to enhance camera integration
  • Debug and analyze server and Wireshark logs to troubleshoot issues
  • Refactor existing code and improve test coverage
  • Assist technical support by diagnosing complex integration issues
  • Participate in peer code reviews to ensure code quality

Benefits

  • Generous paid time off policy
  • Flexible working hours to support work-life balance
  • Hybrid work environment in a modern office
  • Employer-covered health insurance
  • Opportunity to work alongside industry experts in a diverse international team
Full Job Description
About the Team

Our team is responsible for a large part of the server-side development - camera integration and support. We work with a wide variety of camera manufacturers, each using different protocols (IP-based, TCP/UDP, HTTP, SOAP, ONVIF, and various proprietary text and binary protocols).

The integration team investigates and supports these protocols, often performing reverse engineering. A significant part of the work involves debugging issues on local and remote devices using tools like Wireshark.

Our software runs on a wide range of hardware and operating systems. We build efficient, portable solutions using modern C++ (C++20/23), along with CMake, Conan, and Git.

What You'll Be Doing
  • Examine various camera APIs and develop plugins for different vendors
  • Add support for new cameras and devices (NVRs, DVRs, intercoms, IP speakers, etc.)
  • Implement support for new camera features and capabilities
  • Maintain and improve camera support on the server side
  • Collaborate with the core server team to enhance camera-server interaction
  • Investigate Wireshark logs and server logs to diagnose and resolve issues reported by technical support
  • Troubleshoot complex problems, including server crashes and device-specific issues
  • Interact with device manufacturers to improve and stabilize integrations
  • Refactor existing code and increase unit and functional test coverage
  • Participate in code reviews
  • Assist the Support team in analyzing complex field issues


Domain / Areas of Work

Each integration typically involves working across multiple protocols and includes:
  • Camera discovery
  • Capability detection
  • Configuration management
  • Device control
  • Media stream handling
  • Video analytics data processing
Camera Features You'll Work With
  • Audio/video sources and encoders
  • PTZ (pan-tilt-zoom)
  • Advanced hardware features (wipers, heaters, etc.)
  • Speakers and IO ports
  • Security features (doorbells, locks, alarms)
Advanced Video Analytics
  • Event detection (line crossing, loitering, etc., 50+ types)
  • Object tracking and classification
  • Recognition (license plates, faces, etc.)
  • Analytics configuration (regions of interest, rules, etc.)


What you bring
Experience
  • Experience working with large codebases and maintaining existing systems
  • Strong experience in C++17/20, including multi-threaded and asynchronous programming
  • Experience with Windows and Linux C++ toolchains
  • Experience analyzing network traffic (e.g., Wireshark)
  • Solid understanding of OOP and software design patterns
  • Strong debugging and problem-solving skills
  • Experience writing unit and functional tests
  • Experience with web services, SOAP, and ONVIF (desirable)
  • Experience with Qt 6 (desirable)


Technical Skills
  • Ability to write efficient, portable C++ code in a multi-threaded environment
  • Strong understanding of asynchronous programming
  • Ability to work with and evolve an existing codebase
  • Experience with CMake and Git
  • Basic system administration skills
  • Experience working with issue tracking tools (e.g., Jira)


Knowledge
  • Strong knowledge of C++17/20 and STL (C++23/26 is a plus)
  • Understanding of algorithms and data structures
  • Knowledge of concurrent programming
  • Solid understanding of memory management (low-level and high-level)
  • Understanding of Windows and Linux internals
  • Deep understanding of OOP and design patterns
  • Strong understanding of networking fundamentals and HTTP


Nice to Have
  • Cross-platform development experience (Windows/Linux, including embedded systems)
  • Familiarity with Boost
  • Understanding of device-level integrations and video systems
  • Experience working with analytics from vendors (e.g., Uniview, Vivotek)
  • Familiarity with modern AI-assisted development tools (e.g., code generation, static analysis, or developer productivity tools)

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

The position is ideally a hybrid role in one of our offices located in Taipei, Taiwan; Hague, Netherlands; Burbank, CA; Walnut Creek, CA and Portland, OR; Belgrade, Serbia.

Please note: We do not accept unsolicited resumes from third-party recruiters or staffing agencies. Any unsolicited resumes sent to our employees or submitted to our careers page or job postings without a formal agreement in place will be considered property of Network Optix, and no fees will be paid in the event that candidate is hired by the company.

Base pay range

$180,000-$250,000 USD

Similar Jobs

More Jobs at Network Optix

More Information Technology Jobs

Find similar Software Development Engineer, C++ jobs: