Canadian 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 Description
Internal Job Title: Senior Software Developer
Job Type: Permanent, Full-Time
Job Location: 18 Auriga Drive, Ottawa ON
Work Model: Hybrid
Position Summary
We are seeking a Senior Software Developer to join the Lottery System Application development team. This role is ideal for a seasoned developer who thrives in a collaborative environment, enjoys solving complex problems, and is passionate about building scalable, high-quality software solutions. You will play a key role in designing, developing, and maintaining mission-critical applications while mentoring junior developers and contributing to architectural decisions.
Responsibilities
Application Development
Design, develop, test, and deploy scalable and maintainable software solutionsImplement features using modern frameworks and technologiesEnsure code quality through adherence to best practices and design patternsMaintain and enhance existing applications based on evolving business needsEnsure seamless integration between the front-end and back-end componentsUse version control systems like BitBucket to manage code changes and collaborate with other developersDocument code and create technical documentation to ensure maintainabilityTroubleshooting & Optimization
Diagnose and resolve complex technical issues across the stackOptimize application performance, scalability, and reliabilityConduct root cause analysis and implement long-term fixesMonitor system health and proactively address bottlenecksCollaboration
Collaborate with cross-functional teams including QA, Product, and DevOpsParticipate in code reviews and provide constructive feedbackMentor junior developers and support their technical growthContribute to team planning, retrospectives, and agile ceremoniesInnovation
Explore and recommend emerging technologies to improve development practicesContribute to architectural decisions and long-term technical strategyAdvocate for automation, CI/CD improvements, and DevOps integrationLead initiatives that drive innovation and continuous improvementQualifications
Education and Knowledge
Bachelor’s degree in Computer Science (or similar field) or an equivalent combination of education and additional years of relevant work experienceKnowledge of the following:RESTful APIsDatabases (SQL/NoSQL)Version control systems (e.g., Git).Java and/or PHPAgile/Scrum methodologyCI/CD pipelines and DevOps practices.Familiarity with the following:Automated testing frameworks.Linux based systems.Experience
10+ years of software development experience.Experience with integrating AI tools in the development processExperience with modern frameworks and libraries (e.g Angular)Exposure to containerization tools like Docker or Kubernetes.Technical Environment
Languages: Java, Javascript, Typescript, PHP, Python, C, HTMLFrameworks: Angular, Slim, Java Spring FrameworkDatabases: PostgreSQL / SQLCloud: AzureContainerization: Docker, PodMan, KubernetesAutomated testing: Junit, Mockito, SoapUI, TestComplete, ReadyAPI, LoadNinjaTools: Jira, Git, GOCD, Bit Bucket, Book Stack, GitLabSoft Skills and Characteristics
Critical thinking skillsAnalysis, problem-solvingInterpersonal skillsCommunication, teamwork and collaborationAttention to detailSelf-directedMandatory Requirements
Language: Fluency in English (reading, writing, speaking); Fluency in Spanish is an asset.Travel: Ability to travel approx.1 week/yearAdditional Information
Canadian 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.