cover image
Safariland

Software Developer

On site

Ottawa, Canada

Senior

Full Time

02-12-2025

Share this job:

Skills

Communication Python C/C++ GitHub GitLab Jenkins Regression Testing Problem-solving Decision-making Networking Training Linux Ubuntu Machine Learning PyTorch TensorFlow Computer Vision Regression Software Development C++ Large Language Models Android TCP/IP CMake OpenCV Robotics

Job Specifications

TOGETHER, WE SAVE LIVES

ICOR Technology, a robotics and security products company based in Ottawa, Ontario, is a company of the Safariland Group. With over 20 years of engineering and manufacturing experience, ICOR specializes in the design and precision manufacturing of high-quality EOD/IEDD protective security equipment. ICOR products are used by individuals in military, law enforcement, nuclear, and security-related sectors, and are developed through continuous dialogue with clients to ensure innovative and cost-effective solutions.

Job Purpose

As a member of the ICOR R&D team, you will play a pivotal role in designing, developing, and maintaining internal tools and robotics software that power mission-critical systems. This position is focused on creating intuitive, stable, and scalable solutions that enhance user experience and system reliability. You will collaborate across disciplines to deliver innovative features, ensure robust performance, and support continuous improvement in our software infrastructure. Your contributions will directly impact the efficiency and effectiveness of our robotics platforms, enabling our customers to achieve their goals with confidence.

The ICOR team is dedicated to developing user-friendly, highly stable solutions that empower our customers. You'll work in a collaborative environment, contributing to cutting-edge features and robust system performance.

Role - Typical Duties

Design, develop, and maintain applications and systems within the team’s scope.
Write clean, maintainable, performant, and well-tested code to implement features and resolve bugs.
Build intuitive graphical user interfaces (GUIs) using Qt 5.x.
Collaborate with Product, Design, and Business stakeholders to plan and prioritize feature development.
Own feature development through design, coding, testing, and production release.
Write unit and integration tests, coordinating with QA and technical writers for timely regression testing.
Troubleshoot and resolve production and customer support issues.
Investigate existing system functionality and propose technical improvements.
Ensure scalability, maintainability, and availability of applications.
Document code, technologies, and application functionality with clear comments and technical documentation.
Communicate project updates, dependencies, and blockers to stakeholders promptly.

Skills And Training Required

Bachelor’s degree in Computer Science or a related field (or equivalent experience).
3+ years of professional software development experience.
Strong proficiency in C/C++, Qt 5.x, and GStreamer.
Experience with Ubuntu/Lubuntu Linux 22.04 and Android development.
Familiarity with GNU tools (GCC, GDB), MQTT, DDS, Yocto Linux, Trac, SVN, Jenkins, GitLab/GitHub, and CMake.
Knowledge of Ethernet, TCP/IP protocols (e.g., RTSP), and networking principles (IPv4, unicast, multicast).
Effective listening and verbal communication skills for interacting with peers, customers, and suppliers.
Ability to work autonomously or collaboratively in a team environment.
Strong problem-solving skills, with a creative and constructive approach.
Eagerness to learn new tools, systems, and technologies.
Preferred:
Proficiency in Python.
Basic knowledge of AI and machine learning concepts, including large language models (LLMs), transformers, neural networks, and vision processing using neural networks.
Familiarity with computer vision libraries (e.g., OpenCV) and AI frameworks (e.g., TensorFlow, PyTorch).
Experience with AI in robotics applications, such as perception, decision-making, or real-time inference.
Knowledge of relevant AI protocols and standards, such as AG-UI (Agent-User Interaction), A2A (Agent-to-Agent), and MCP (Model Context Protocol).

Tools and Technologies

Required: Ubuntu/Lubuntu Linux 22.04, Android, C/C++, Qt 5.x, GStreamer.
Preferred: GNU tools (GCC, GDB), MQTT, DDS, Yocto Linux, Trac, SVN, Jenkins, GitLab/GitHub, CMake, ROS2.
Networking: Understanding of Ethernet, TCP/IP, RTSP, IPv4, unicast, and multicast.

About the Company

A History of Excellence Legacy. Tradition. Excellence. To some, these may be mere words, remnants of a time when companies embraced their history and delivered on their promises. But, at The Safariland Group we live those values every day. We live them when we empower over a thousand people to design, engineer, research and deliver our protective equipment products to those that protect us. We live them as we continuously seek new innovations to add to the premier group of Safariland brands that have been protecting law enfo... Know more