Logo for NinjaOne

Senior Software Engineer, C++ | NMS

Role overview

Qualifications

  • Bachelor’s degree in Computer Science, Engineering, Information Technology, or related technical field
  • 7+ years of C++ development experience, with proficiency in C++ 14 or newer
  • Strong understanding of modern C++ and experience writing production-quality, maintainable systems software
  • Proficiency working with Qt and CMake

Responsibilities

  • Build and maintain software for Windows and Linux using C++ and Qt
  • Design and implement features for discovering network devices and monitoring network health
  • Develop high-performance, concurrent C++ software that runs close to the network
  • Design and implement unit, integration, and system-level tests

Key facts

Hard skills

Other skills

  • Microsoft Windows
  • Troubleshooting (Problem Solving)
  • Collaboration
  • Problem Solving

About the company

NinjaOne logo

NinjaOne

Computer Software / SaaS

NinjaOne is a leading unified IT operations solution that simplifies the way IT teams work. With NinjaOne, MSPs and IT departments can automate, manage, and remediate all their endpoint management tasks within one fast, modern, intuitive platform, improving technician efficiency and user satisfaction. NinjaOne supports over 10,000 customers around the world, and is consistently ranked #1 for its world class customer support. NinjaOne has been recognized as the best rated software in its category on G2 and Gartner Digital Markets for the past 3 years.

Company details

Company typeScaleup
IndustryComputer Software / SaaS
Company size201 - 500

Your match analysis

See how your profile stacks up against this role.

We compared the job requirements to your profile to show where you're strong and where you fall short.

Job description

About the Role

We are hiring a Senior C++ Software Engineer to join our Network Management Service (NMS) team, focused on building and evolving the cross-platform delegate component that powers device discovery and network insight across distributed environments. The component operates close to the network and interacts directly with customer devices using a variety of network management and system protocols. You will design and implement software that performs device discovery, collects and processes network data, executes monitoring workflows, and communicates with network infrastructure at scale.

This is a systems-oriented C++ role. You will work with asynchronous operations, concurrent communication, platform-specific APIs, and performance-sensitive code running on both Windows and Linux. The codebase is primarily C++ and Qt, with native platform-specific implementations where required.

Collaborating closely with backend, UI, QA and product teams, you will help shape reliable, scalable solutions that deliver deep visibility into customer networks. If you are an experienced C++ engineer who enjoys working on systems-level challenges, network protocols, distributed architectures, and performance-critical applications, this is an opportunity to make a direct impact on a rapidly growing platform.

Location - We are flexible on remote working from home if you are in Germany. We have an office in Berlin and would love it if you are interested in a Hybrid environment working closely onsite with our team.

What You’ll be Doing

  • Cross-Platform Development: Build and maintain software for Windows and Linux using C++ and Qt, with native platform-specific implementations where appropriate. This may involve Windows APIs, POSIX, networking APIs, and other OS-specific facilities.
  • Network Discovery and Monitoring: Design and implement features for discovering network devices, collecting device and interface information, and monitoring network health.
  • Network Protocols: Work with protocols such as SNMP, SSH, ICMP, WMI, and other network and device management protocols. Implement and troubleshoot protocol interactions and handle the differences between vendors and devices.
  • Systems Programming: Develop high-performance, concurrent C++ software that runs close to the network and communicates with potentially thousands of devices.
  • Performance and Reliability: Design asynchronous workflows, optimize resource usage, and ensure reliability under large numbers of concurrent network operations.
  • Testing Ownership: Design and implement unit, integration, and system-level tests. Make testability and quality an integral part of the development process.
  • Technical Collaboration: Work with backend, UI, QA, and product teams to define requirements and design solutions that work reliably across different operating systems, network environments, and device vendors.
  • Troubleshooting: Investigate complex issues involving C++, operating systems, network protocols, customer environments, and interactions between multiple components of the NMS platform.
  • Other Duties as needed

About You

  • Bachelor’s degree in Computer Science, Engineering, Information Technology, or related technical field
  • 7+ years of C++ development experience, with proficiency in C++ 14 or newer
  • Strong understanding of modern C++ and experience writing production-quality, maintainable systems software.
  • Proficiency working with Qt and CMake
  • Experience developing for Windows, Linux/POSIX and cross-platform environments.
  • Strong understanding of multithreading, concurrency, and asynchronous programming.
  • Experience with network programming and network protocols. Knowledge of SNMP is particularly valuable.
  • Familiarity with protocols and technologies such as SNMP, SSH, ICMP, WMI, or similar network/system-management technologies.
  • Experience in debugging and diagnosing problems across application, operating-system, and network layers.
  • Ability to develop comprehensive test cases and test plans, ensuring thorough coverage of all functional requirements
  • Comfortable working on complex systems where behavior depends on operating system, network, and device-specific characteristics.
  • Collaboration with cross-functional teams to define technical requirements
  • Experience working with highly critical systems

About Us

NinjaOne unifies IT to simplify work for more than 40,000 customers in 140+ countries. The NinjaOne Unified IT Operations Platform delivers endpoint management, autonomous patching, backup, and remote access in a single console to improve efficiency, increase resilience, and reduce spend. By automating IT and managing all endpoints, organizations give employees a great technology experience at work. NinjaOne is obsessed with customer success and has retained a 98% customer satisfaction score for more than 5 years. Our technology stack includes Java, Kotlin, C++/Qt, PostgreSQL, and AWS.

What You’ll Love

Our flexible working hours with hybrid office options enable you to successfully balance your personal life and your job.

Grow personally and professionally with one of the fastest growing companies.

Enjoy your lunch covered by NinjaOne 3 times/week at the office (if in Berlin).

Access to our Corporate Benefits Platform (with discounts for brands such as Expedia, FitX, Zalando and more).

Develop your skills through our renowned training platform.

Receive competitive compensation.

Collaborate with a curious, kind, international and intercultural workforce.

Enjoy your work environment with its location in the heart of Berlin, directly at the Alexanderplatz (if in Berlin).

Additional Information

This position is NOT eligible for Visa sponsorship.

All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, age, disability, genetic information, marital status, veteran status, or any other status protected by applicable law. We are committed to providing an inclusive and diverse work environment. 

Are you already interested? We would love to get to know you! Follow the link and submit your application. We can’t wait to see you at NinjaOne.

#LI-JL1

#LI-Remote

#LI-Hybrid

#BI-Remote

#BI-Hybrid

Apply once. Then go straight to the hiring manager.

After you apply, unlock the direct contact details of the people who actually make the call. A quick follow-up makes you 5x more likely to land an interview.

MR

Marcus Rivera

Chief Revenue Officer

m.rivera@company.com
linkedin.com/in/marcusrivera
Unlocked after you apply
·

Software Engineer Related jobs

Other jobs at NinjaOne

Premium

Reach out to the hiring manager directly.

Gain access to the contact details of the hiring managers who actually decide, and reach out to network with them directly. That, plus more when you upgrade:

  • Full match report with fit score and gaps
  • Career diagnostics on how recruiters read you
  • Curated company matches and warm intros
  • 48h early access to new roles

Cancel anytime.