Intermediate Applications Software Developer in Canada Creek, Nova Scotia at Jobgether
Explore Related Opportunities
Job Description
This position is listed on behalf of a partner company, who manages all applications and next steps. Our partner is looking for an Intermediate Applications Software Developer based in Canada.
This role offers the opportunity to develop secure, high-performance software solutions that protect critical communications for organizations worldwide.
The successful candidate will work at the systems level, building and maintaining core C++ libraries and applications across multiple platforms.
The position combines software engineering expertise, cybersecurity, and low-level programming to create reliable and efficient products.
Working within a collaborative engineering environment, this role provides ownership over meaningful technical challenges involving performance, portability, and security.
The ideal candidate will have strong C/C++ skills, a passion for systems programming, and the ability to solve complex engineering problems.
This hybrid opportunity allows engineers to contribute to impactful technology while collaborating closely with a talented development team.
The Intermediate Applications Software Developer will design, develop, and maintain core software components that support secure communication solutions. This role requires strong systems programming skills, attention to quality, and the ability to work across platforms while contributing to a high-performing engineering team.
- Design, build, and maintain cross-platform C++ libraries supporting secure voice communication, messaging, contacts, networking, and cryptography capabilities.
- Develop and enhance backend components for secure desktop applications.
- Write efficient, portable code that runs across Linux, Windows, and macOS environments while supporting shared mobile platforms.
- Work on systems-level challenges involving memory management, ownership, concurrency, performance optimization, and reliability.
- Investigate and resolve complex technical issues using debugging tools, sanitizers, and analytical problem-solving approaches.
- Maintain high engineering standards through testing, code reviews, documentation, and continuous improvement practices.
- Support build systems and CI pipelines to ensure reliable software delivery.
- Participate in architecture discussions, technical reviews, and engineering decisions.
- Collaborate with team members to maintain consistency between core libraries and application experiences.
- Apply data-driven approaches to measure performance, validate solutions, and improve software quality.
- Stay current with modern development tools, technologies, and engineering practices.
The ideal candidate is a software engineer with professional experience developing native applications and systems-level software. They have strong C/C++ expertise, a solid understanding of computer science fundamentals, and the ability to work independently while collaborating effectively with a technical team.
- Bachelor’s degree in Computer Science, Software Engineering, Electrical Engineering, Computer Engineering, or equivalent hands-on experience.
- Approximately 3–5 years of professional experience developing and delivering software using C and/or C++.
- Strong practical knowledge of modern C++, including RAII, smart pointers, ownership models, and standard library features.
- Strong understanding of data structures, algorithms, memory management, pointers, and software execution fundamentals.
- Experience with multithreading, concurrency, and systems-level programming concepts.
- Familiarity with native development toolchains, including compilers, debuggers, and build systems such as CMake.
- Ability to understand unfamiliar codebases and implement careful, well-scoped technical improvements.
- Experience working in agile development environments with evolving priorities.
- Strong problem-solving skills and curiosity for understanding complex technical behaviors.
- Ability to quickly learn new technologies, programming languages, tools, and operating systems.
- Strong communication skills and willingness to collaborate through code reviews, discussions, and knowledge sharing.
- Passion for building efficient, secure, and reliable software.
Preferred qualifications include:
- Experience with cryptography concepts such as TLS, key management, or secure communication protocols.
- Experience with audio processing, real-time programming, networking, or VoIP technologies.
- Familiarity with sanitizers, fuzz testing, or software hardening techniques.
- Experience working with mobile platforms involving native C/C++ integrations with Kotlin, Java, Swift, or Objective-C.
- Contributions to open-source projects or personal software projects demonstrating technical ability.
- Interest in emerging AI technologies and their applications in software development.
- Competitive base salary range of $90,000 – $132,000.
- Eligibility for variable incentive bonus programs.
- Hybrid work model combining remote flexibility with collaboration in the Waterloo, Ontario office.
- Comprehensive medical, dental, vision, life, and disability insurance coverage.
- Retirement support and employee share purchase program.
- Paid time off and benefits supporting physical, financial, and personal well-being.
- Opportunity to work on secure, high-impact software used in mission-critical environments.
- Collaborative engineering culture focused on innovation, quality, and continuous learning.