Company DescriptionCanadian Bank Note Company (CBN) is a trusted leader in secure technology solutions for governments and businesses worldwide. The company operates across various business domains, including currency production, border security, civil identity, driver identification and vehicle information, excise control, lottery and charitable gaming.Our 7 Core Principles shape and guide our corporate behaviours and underpin the sense of community you will experience at CBN. We pride ourselves on fostering a supportive and collaborative work environment, where employees are valued for their contributions and encouraged to grow professionally.At CBN we seek long-term relationships with our employees and recognize and reward them with a competitive total compensation package that includes:An industry-leading defined contribution pension plan with company matching contributions (up to 5%) and payment of service fees;Best-in-class health, medical, and life insurance benefits;Access to virtual and telehealth services and apps; andVery progressive fertility, adoption, and surrogacy benefits to support all definitions of family.Job DescriptionInternal Job Title: Software Developer
Job Type: Permanent, Full-Time
Job Location: Ottawa, ON
Work Model: Hybrid Position SummaryAs a Software Developer in our Product Development group’s Device Team, you will be focused on developing software solutions that interact with hardware components. This role requires expertise in both software and hardware, including embedded systems, device drivers, Public Key Infrastructure (PKI) for security operations and low-level programming. ResponsibilitiesSoftware Development & IntegrationDesign, develop, and maintain software for hardware-integrated systems.Develop device drivers, firmware, and low-level software components.Ensure seamless communication between software and embedded systems.Implementation and testing of PKI operations for secure communications.Hardware Interaction & OptimizationWork closely with hardware engineers to define system architecture and integration points.Optimize software performance for real-time, resource-constrained environments.Debug and troubleshoot issues related to hardware-software interactions.Testing & Quality AssuranceDevelop unit tests and conduct system-level testing to ensure reliability.Work with test engineers to develop automated test scripts for hardware validation.Identify and resolve software bugs and performance bottlenecks.Collaboration & DocumentationCollaborate with cross-functional teams, including electrical and mechanical engineers.Create and maintain technical documentation for software and hardware interactions.Provide support for production teams to resolve software-related hardware issues. QualificationsEducation and KnowledgeBachelor’s degree in computer science, Electrical Engineering, or equivalent experience.Relevant certifications in embedded systems (CESE), IoT development (CIoTP), or cryptographic operations (CISSP, CES) are a plus.Technical Concepts & MethodologiesEmbedded systems programming.Device driver development and hardware abstraction layers.Logfile analysis.Public Key InfrastructureSmartcard communication protocols (asset).Soft Skills & CompetenciesCritical thinking skillsAnalysis, problem-solvingInterpersonal skillsCommunication, teamwork and collaborationAttention to detailGrowth mindsetExperience3-5 years of experience in software development for hardware-integrated systems.Experience in development of library-based toolkits (e.g. SDKs)Experience in developing software for Smartcards (asset)Technical EnvironmentProgramming Languages: C++, C#, Java, Python, Rust.Embedded & OS Platforms: JavaCard, Windows.Development Tools: Visual Studio.Version Control & CI/CD: Git, Jenkins, Docker.Mandatory RequirementsLanguage: Fluency in English (reading, writing, speaking)Security Clearance: Ability to obtain (in a timely manner) and maintain Government of Canada Reliability (Level I) clearance Additional InformationCanadian Bank Note Company (CBN) is committed to fostering a diverse and inclusive workplace where all employees are treated with dignity and respect. We are proud to be an equal opportunity employer and do not discriminate on the basis of race, color, religion, sex, national origin, age, disability, veteran status, sexual orientation, gender identity, or any other legally protected status.We provide equal employment opportunities to all individuals, including women, Indigenous Peoples, persons with disabilities, visible minorities, and members of the 2SLGBTQ+ community. Our commitment to equity extends to all aspects of employment, including recruitment, hiring, promotion, compensation, benefits, training, and development. As part of our commitment to providing an inclusive, barrier free selection process, we ask that if you are contacted regarding the competition for this position, you advise the interview coordinator or any accommodation measures you may require.At CBN, we value the unique perspectives and experiences that each employee brings to our organization, and we are committed to maintaining a workplace that reflects the diverse communities we serve. We believe that diversity and inclusion drive innovation and success, and we strive to create an environment where every employee can thrive and contribute to our collective goals.