Business Development Bank of Canada

APPLICATION ENGINEERING - SOFTWARE ENGINEERING SPECIALIST

Information Technology
8 - 10 years of experience
Job Overview by Ladders

Qualifications

  • Degree in computer science, software engineering or equivalent experience.
  • 10+ years of software development experience.
  • Proficiency in C# .NET Core and Python is required.
  • Experience with generative AI development patterns is preferred.
  • Knowledge of application security fundamentals and mitigation strategies is essential.

Responsibilities

  • Define and maintain standards for the Secure Software Development Life Cycle and application architecture.
  • Assess new technologies, especially in generative AI, for relevant adoption.
  • Support development teams in designing complex software solutions.
  • Measure and monitor engineering practices adoption, recommending actions for improvement.
  • Document and publish software engineering best practices and reference patterns.

Benefits

  • Opportunity to influence and promote software engineering standards organization-wide.
  • Work in a collaborative environment with multiple development teams.
  • Access to training schedules and resources for ongoing professional development.
  • Chance to be at the forefront of integrating generative AI within software processes.
  • Engagement in communities of practice for skill sharing and collaboration.
Full Job Description
POSITION OVERVIEW

The Software Engineering Specialist serves as a technical expert and influencer within the Application Engineering Centre of Excellence. They define, evolve and promote software engineering standards to ensure consistency, quality, security and efficiency across all BDC development teams.

CHALLENGES TO BE MET

Key Responsibilities
• Define and maintain standards covering all aspects of the Secure Software Development Life Cycle (SSDLC) and application architecture patterns.
• Assess new trends and emerging technologies, particularly in generative AI, and recommend their adoption where relevant.
• Contribute to the evolution of libraries that serve as development accelerators.
• Support development squads in designing complex solutions.
• Measure and monitor the adoption of engineering practices and recommend actions needed to accelerate their rollout.
• Act as a change agent to foster team adoption of defined practices, tools and standards.
• Document and publish best practices.
• Design and evolve reference patterns.
• Collaborate closely with Tech Leads, the Security team and Platform teams to align and evolve practices.

Key Deliverables
• Consolidated documentation of standards and best practices.
• Roadmap for the evolution of software engineering practices.
• Training schedule and enablement plan for squads.
• Metrics and dashboards to measure the adoption and maturity of practices.
• Communities of practice, training and reference content that support skills development.
• Code libraries and reference application patterns.

Organizational Impact

This role directly contributes to improving software quality, security posture, delivery speed and development team productivity. By defining and adopting shared standards, it promotes the convergence of engineering practices and raises technical maturity across BDC.

WHAT WE ARE LOOKING FOR

Required Skills

Technical Skills
Proficiency in C# .NET Core and Python.
Strong command of object-oriented programming concepts. Knowledge of SOLID principles and design patterns; knowledge of Clean Code and Clean Architecture.
Experience developing automated tests (unit and integration tests) with xUnit; experience with WireMock and Playwright testing tools is an asset.
Experience with GenAI development patterns, including agents, chaining, security, quality, MCP client/server, prompt engineering, monitoring, RAG and foundation models.
Experience designing, documenting, developing, securing and consuming synchronous integrations: REST APIs, GraphQL and MCP.
Experience with asynchronous integrations, such as event-driven architecture using Kafka, is an asset.
Proficiency with relational databases including MySQL, MSSQL and PostgreSQL.
Proficiency with tools such as GitHub Copilot, Git, Azure DevOps, NuGet and related tools.
Experience developing CI/CD pipelines in Azure DevOps as code.
Experience with modern authentication and authorization mechanisms (OpenID Connect and OAuth).
Knowledge of application security fundamentals (OWASP Top 10, SANS 25) and the ability to apply appropriate countermeasures to remediate identified vulnerabilities.
Experience with the following platforms: Tanzu Application Services (TAS) and Dynamics 365 is an asset.
Experience with Agile and Kanban development methodologies.
Understanding of Secure Software Development Life Cycle principles (SSDLC). Experience with Nexus IQ and Checkmarx is an asset.
Understanding of software engineering approaches such as TDD, pair programming, CI/CD, Twelve-Factor App and DevSecOps practices.
Experience with MuleSoft is an asset.
Experience with Splunk and Dynatrace is an asset.
Hands-on experience designing microservices or distributed systems is an asset.

Behavioural Skills
Demonstrated ability to communicate complex technical information concisely, both verbally and in writing, to diverse stakeholders.
Recognized technical leadership and demonstrated ability to guide teams in adopting new practices, tools and ways of working.
Ability to influence, engage and build consensus among stakeholders with varied perspectives and priorities.
Growth mindset and willingness to learn new skills, technologies and frameworks.
Technical innovator driven by a constant desire to learn about and understand new technologies.
Demonstrates initiative, communicates and collaborates with other teams to find solutions to issues encountered by both their own team and others.
Demonstrates understanding and proposes timely solutions to help other teams integrate effectively with the component, as needed.
• Structured mindset, ability to manage multiple priorities and commitment to continuous learning.

Measures of Success

The incumbent is recognized as a technical expert within the organization and has a measurable impact on:
• The convergence of software engineering standards and practices across development teams.
• Increased technical maturity among teams.
• Accelerated value delivery through improved engineering practices and tools.
• Reduced organizational technical debt and application security risks.
• The responsible and effective adoption of artificial intelligence in the software development life cycle.
• The development of a culture of excellence, continuous learning and innovation within the engineering community.
• The ability to influence technical decisions and rally stakeholders around a shared software engineering vision.

Education and Experience

Degree in computer science, software engineering or equivalent experience.
10+ years of software development experience.
Technical Lead experience or experience in financial services is an asset.

While we appreciate all applications, we advise that only the candidates selected to participate in the recruitment process will be contacted.

About Business Development Bank of Canada

The Business Development Bank of Canada (BDC) is a federal Crown corporation that provides financing, advisory services, and capital to Canadian businesses. The bank was founded in 1944 and is headquartered in Montreal, Quebec. BDC offers a range of financial services, including loans, venture capital, and consulting services. The bank focuses on small and medium-sized businesses, and has a particular emphasis on supporting entrepreneurs and startups. BDC has offices across Canada and works with businesses in a variety of industries, including manufacturing, technology, and services.
Learn more about Business Development Bank of Canada
Size
2,000 employees
Industry

Similar Jobs

More Jobs at Business Development Bank of Canada

More Information Technology Jobs

Find similar APPLICATION ENGINEERING - SOFTWARE ENGINEERING SPECIALIST jobs: