×
Register Here to Apply for Jobs or Post Jobs. X

Intermediate Software Developer

Job in Waterloo, Kitchener, Ontario, Canada
Listing for: QNX Software Systems
Full Time position
Listed on 2026-07-20
Job specializations:
  • Software Development
    C++ Developer, Software Engineer
Job Description & How to Apply Below
Position: Intermediate Applications Software Developer
Location: Waterloo

Worker Sub-Type:

Regular

Job Description:

Join Black Berry, Where Innovation Meets Impact
Secusmart, a rapidly growing subsidiary of Black Berry Limited, is the leading expert in comprehensive anti-eavesdropping solutions for private and government agencies, as well as organizations responsible for emergency services. We secure enterprise information and applications on today's most popular mobile devices and desktop platforms, protecting both business and personal data.

We are looking for an Intermediate Applications Software Developer who is at home in native C and C++ and wants to write the code our secure products are built on. You'll work at the core of our platform — the shared C++ libraries that power secure calling, messaging, and cryptography across every device we ship, and the desktop application that puts those capabilities in users' hands.

It's genuine systems-level work: efficient, robust, portable code with a direct line to how governments and enterprises defend against eavesdropping.

What You'll Be Doing
- Design, build, and maintain the core C++ libraries that form the cross-platform foundation for secure voice (SIP/VoIP), messaging, contacts, call handling, audio, networking, and cryptography
- Develop and evolve the C++ backend of our secure-voice desktop client
- Write portable code that builds and runs cleanly across Linux, Windows, and macOS and plays nicely with the mobile clients that share the same C++ core
- Work close to the metal: memory and ownership discipline, concurrency, performance, and the cryptographic plumbing our products depend on
- Track down and fix the hard bugs - the kind that need a debugger, sanitizers, and a clear mental model of what the machine is actually doing
- Keep quality high through testing, code review, and solid engineering habits, and help keep our builds and CI pipelines healthy
- Jump into design discussions, share opinions, and help keep the core and the apps consistent
- Take an empirical approach to your work measure, don't guess

Our Technology & Tools

- *
* Languages:

** C and C++ (core libraries and application backend)

- ** Build & tooling:
** CMake, Git Lab CI, and a modern native toolchain

- ** Platforms:
** Linux, Windows, macOS (with the same C++ core shared into Android and iOS)

- ** Domains:
** real-time secure voice (SIP/VoIP), messaging, and applied cryptography
- Modern, AI-enabled engineering tools as part of everyday development

What You Bring to the Table
- Bachelor's Degree in Computer Science, Software Engineering, Electrical/Computer Engineering, or a related field or equivalent hands-on experience and demonstrable skills
- Around 3-5 years of professional experience building and shipping software in C and/or C++
- Strong, practical command of modern C++: RAII, smart pointers and ownership, the standard library, and comfort with the language's core features
- Solid grounding in core computer science: data structures, algorithms, and a real understanding of memory, pointers, and how code executes
- Comfort at the systems level - multithreading and concurrency, and an awareness of cross-platform portability concerns
- Fluency with a native toolchain: a compiler, a debugger, and a build system such as CMake
- A demonstrated ability to read an unfamiliar codebase, reason about it, and make careful, well-scoped changes
- Ability to develop software in agile environments with rapidly evolving priorities
- Eagerness and willingness to quickly learn new technologies, tools, languages, frameworks, and operating systems

Nice to Have
- Cryptography exposure - TLS, key management, or secure-communications protocols such as SIP
- Audio, real-time, or networking programming

- Experience with sanitizers, fuzz testing, or other bug-hunting and hardening tools
- Familiarity with mobile platforms where native C/C++ meets Kotlin/Java or Swift/Objective-C
- Contributions to open-source projects, or a body of personal work you can point to
- An interest in emerging AI technologies

Who You Are
- A builder who enjoys native, systems-level programming and genuinely cares about writing efficient, correct, robust code
- A curious problem solver who wants to understand why…

Note that applications are not being accepted from your jurisdiction for this job currently via this jobsite. Candidate preferences are the decision of the Employer or Recruiting Agent, and are controlled by them alone.
To Search, View & Apply for jobs on this site that accept applications from your location or country, tap here to make a Search:
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)
0
200
Filters
Education Level
Experience Level (years)
Posted in last:
Salary