Software Development Manager
Job Description:
- Lead software development and delivery teams in designing, developing, implementing and maintaining enterprise applications and digital solutions.
- The successful candidate will provide technical and delivery leadership across the software development lifecycle, working closely with business stakeholders, product owners, architects, engineering teams and vendors to deliver high-quality solutions within agreed timelines, scope and budget.
- The role will involve managing development teams, driving Agile delivery practices, overseeing application development and support, and contributing to digital transformation initiatives involving cloud, AI/ML, Dynamics 365 and Power Platform.
Key Responsibilities:
- Lead and manage software development teams across the full Software Development Life Cycle (SDLC).
- Provide technical and delivery leadership for enterprise application development and digital transformation initiatives.
- Plan, coordinate and monitor software development activities from requirements and design through development, testing, deployment and post-production support.
- Work closely with business stakeholders and product owners to understand requirements and translate them into practical technical solutions.
- Define project scope, development plans, milestones, deliverables, resources and timelines.
- Manage multiple projects/releases concurrently and ensure delivery within agreed scope, schedule, budget and quality.
- Lead Agile/Scrum ceremonies including sprint planning, backlog refinement, daily stand-ups, sprint reviews and retrospectives.
- Establish and maintain development standards, processes, quality practices and governance frameworks.
- Review solution designs and work closely with architects and technical leads to ensure solutions meet business and technical requirements.
- Oversee application development, testing, deployment and release management activities.
- Ensure appropriate QA, testing, defect management and quality metrics are incorporated into software delivery.
- Support production operations, application maintenance and hypercare activities following implementation.
- Drive continuous improvement in software development processes, engineering practices and delivery methodologies.
- Identify and manage technical, delivery, resource and operational risks, escalating issues where appropriate.
- Manage internal and offshore development teams and ensure effective allocation of resources.
- Mentor, coach and develop software engineers, technical leads and delivery team members.
- Work closely with vendors and technology partners to manage delivery, contracts, SLAs and performance.
- Support RFP/RFI responses, technical proposals, solution estimation and client presentations where required.
- Contribute to technology roadmaps and digital transformation initiatives involving AI/ML, cloud, enterprise applications and automation.
- Ensure effective documentation of technical solutions, development processes, operational procedures and project deliverables.
Requirements:
- Bachelor's degree in Computer Science, Information Technology, Engineering or a related discipline.
- 10+ years of experience in software development, application delivery, technology management or related IT roles.
- Proven experience managing software development teams and enterprise application delivery.
- Strong understanding of the complete SDLC, including requirements, design, development, testing, deployment and support.
- Experience managing multiple software releases/projects with responsibility for scope, schedule, resources, quality and delivery.
- Strong experience with Agile/Scrum development methodologies.
- Experience managing distributed/offshore development teams.
- Strong stakeholder management and communication skills.
- Experience working with business stakeholders, product owners, architects, developers, QA teams and vendors.
- Strong understanding of software quality, testing, defect management and release processes.
- Experience with application maintenance/support and post-implementation hypercare.
- Strong analytical, problem-solving and decision-making skills.
- Ability to manage technical risks, dependencies and delivery challenges.
- Experience with project/program governance, budgeting and resource planning.