Join to apply for the Associate Director Software Engineering role at MCAP.
Get AI-powered advice on this job and more exclusive features.
This position is responsible for the design, execution, assessment, security, and troubleshooting of software programs and applications. This includes configuring, coding, developing, and documenting software specifications throughout the project life cycle. Additionally, the Software Engineering stream provides day-to-day operations and production support, including off-hours problem resolution of supported applications.
The Associate Director Software Engineering is also responsible for the development and management of Software Engineering resources and teams.
Strategy and Planning
- Collaborate with Architecture Team on the development of overall application strategy, standards, capability needs, and lifecycle management.
- Evaluate priorities, design goals, risks, options, and compromises; recommend the most suitable approach.
- Be familiar with architectural patterns that contribute to secure, reliable, manageable, and high-performance solutions.
- Perform architectural modeling to assist in determining solution efficacy.
- Estimate, prioritize, plan, and coordinate work to reliably and consistently deliver according to plan.
Acquisition and Deployment
- Research emerging application development software products, languages, and standards to support procurement and development efforts.
- Design detailed technical solutions.
- Evaluate relevant risks and determine mitigation strategies.
- Identify requirements and manage procurement processes and vendor selection for new technologies.
Operational Management
- Develop and review software programs, code, and unit tests for new and existing applications, ensuring requirements are met.
- Develop and maintain supporting documentation.
- Gather statistics and prepare reports on programming status for management and team discussions.
- Recommend and perform software improvements and upgrades for optimal performance.
- Perform troubleshooting and root cause analysis; propose solutions.
- Participate in planning for disaster recovery and critical operations continuity.
- Provide ongoing system maintenance and monitoring to meet SLAs.
What You Bring To The Team
- 10+ years of relevant experience.
- Proven experience in complex system design, leadership, and managing technical teams.
- Experience with automated software engineering concepts like CI/CD.
- Development experience with web applications and APIs.
- Knowledge of microservices and distributed systems architectures.
- Understanding of AAA principles and related technologies (OpenID Connect, SAML, OAuth).
- Architectural modeling and design expertise.
- Testing principles including functional, unit, and shift-left testing.
- Secure coding and design practices.
- Basic knowledge of cloud-native development and infrastructure management.
- Track record of delivering results and operational excellence.
- Leadership skills and ability to lead change.
- Effective teamwork and relationship management skills.
- Excellent communication skills.
- Strong business acumen and analytical skills.
- Ability to liaise with senior stakeholders.
- Project management skills and ability to handle multiple streams.
- Experience with Agile methodologies.
- Post-secondary degree in Computer Science, Engineering, or related field.
- Microsoft Certified Solutions Expert (MCSE) or equivalent experience.
Technical Skills Required
- Node.js/Express
- MS SQL Server
- Docker
- Testing frameworks (jMeter, xUnit, Selenium)
- Postman
If this sounds like you and you are looking to be part of one of Canada’s largest independent mortgage finance companies, we want to hear from you!
Seniority level
Employment type
Job function
- Consulting, Management, and Information Technology
Industries
- Financial Services, IT Services and IT Consulting, and Banking