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 DeveloperJob Type: Permanent, Full-TimeJob Location: Ottawa ONWork Model: Hybrid Position SummaryAs a Senior Full Stack Software Developer in our Product Development group, you will be responsible for designing, developing, and maintaining scalable applications. You will work closely with cross-functional teams including product owners, architects, and other developers to create seamless, efficient and high-quality solutions. Your expertise in both front-end and back-end technologies will be crucial in delivering high-quality, user-centric applications. ResponsibilitiesApplication DevelopmentDesign and develop applications that are robust, high quality, scalable and maintainableDevelop and maintain both client-side and server-side components using modern technologiesEnsure seamless integration between the front-end and back-end componentsWrite clean, maintainable, and efficient code while adhering to industry best practices and CBN coding standardsUse version control systems like Git to manage code changes and collaborate with other developersDocument code and create technical documentation to ensure maintainabilityTechnical Leadership & MentorshipConduct thorough code reviews to ensure adherence to best practices.Provide technical guidance and mentorship to junior and mid-level developers.Advocate for continuous learning and skill development within the team.Participate in architectural discussions and provide recommendations.Troubleshooting & OptimizationTroubleshoot and debug complex issues across the stackIdentify and resolve issues in both the front-end and back-end of the applicationUse debugging tools and techniques to diagnose and fix problemsConduct performance testing and profiling to identify and resolve bottlenecksEnsure the application is highly available and can recover quickly from failuresCollaborationCollaborate with product owners, designers, and other developers to understand requirements and provide technical solutionsConduct code reviews and review code written by other developers to ensure it meets quality standardsProvide constructive feedback and suggest improvements to enhance code qualityFoster a culture of continuous improvement and knowledge sharing within the team InnovationContinuously learn about new technologies and industry trendsEvaluate and incorporate new tools and technologies that can improve the development processStay informed about best practices and emerging standards in web developmentVarious Other Duties and Responsibilities QualificationsEducation and KnowledgeBachelor’s degree in Computer Science (or similar field) or equivalent combination of education and years of relevant work experienceKnowledge of the following:Object oriented programming principlesThree-tier client-server architectureAutomated testingAgile (SCRUM) development methodologyExperience8+ years of software development experienceTechnologyLanguages: Java and C#Frameworks: AngularDatabases: PostgreSQL / SQLCloud: Azure/AWSContainerization: Docker / KubernetesAutomated testing: Junit, Mockito, Karma, Protractor, REST Assured, Robot FrameworkTools: Jira, Git, ADOSoft Skills and CompetenciesCritical thinking skillsAnalysis, problem-solvingInterpersonal skillsCommunication, teamwork and collaborationOrganization and time management skillsGrowth mindsetSelf-directedMandatory RequirementsLanguage: Fluency in English 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.