Senior Software Developer – Java & Microsoft Azure
- Temps plein
- Quick Apply
Job Description
Senior Software Developer – Java & Microsoft Azure
Assignment Number: A2930470
Client: Government Services Integration Cluster (GSIC), Government of Ontario
Ministry: Ministry of Public and Business Service Delivery and Procurement
Location: 222 Jarvis Street, 5th Floor, Toronto, Ontario
Work Arrangement: 100% Onsite – 5 days per week
Contract Start Date: November 2, 2026
Contract End Date: September 28, 2027
Contract Duration: Approximately 230 business days, with one possible extension
Position Type: Full-Time Contract – 100% Allocation
Number of Positions: 1
Security Clearance: No clearance required
Position Overview
The Government Services Integration Cluster (GSIC), Government of Ontario, is seeking an experienced Senior Software Developer with strong Java, Microsoft Azure, cloud-native microservices, and technical team leadership expertise to design, develop, integrate, test, deploy, and maintain complex enterprise and public-facing applications.
The successful candidate will be responsible for delivering high-quality, secure, scalable, and maintainable software components in alignment with approved solution architecture, technical designs, security requirements, and development standards.
This role requires a hands-on senior developer who can lead development activities, guide technical direction, mentor developers, conduct code reviews, troubleshoot complex technical issues, and support end-to-end application delivery. The candidate must have demonstrated experience leading and managing development teams while ensuring that solutions meet business requirements, architectural standards, quality expectations, and delivery objectives.
Important: This is a 100% onsite position at 222 Jarvis Street, Toronto, five days per week. Candidates must be comfortable working onsite for the full assignment.
Key Responsibilities
1. Software Development and Application Engineering
- Design, develop, configure, test, deploy, and maintain complex enterprise and public-facing applications using Java.
- Translate technical specifications, user stories, business requirements, and acceptance criteria into functional, reliable, and maintainable software.
- Develop and maintain application components, including user interfaces, APIs, business logic, integration services, data-access layers, and database components.
- Apply object-oriented programming principles, structured development practices, and Agile methodologies throughout the software development lifecycle.
- Participate in solution design, technical planning, architecture discussions, and development estimation.
- Ensure that application components comply with approved technical designs, architecture, coding conventions, documentation requirements, and security standards.
2. Cloud Development, Microservices, and Integration
- Develop, configure, and deploy cloud-based microservices and application components within the Microsoft Azure environment.
- Design, develop, and maintain APIs, service interfaces, integration services, and enterprise application integrations.
- Apply appropriate API design and integration patterns to support secure, reliable, and maintainable communication between application components and external systems.
- Support continuous integration and continuous deployment (CI/CD) pipelines, automated deployment processes, and configuration management.
- Contribute to application configuration, environment management, monitoring, and operational readiness.
- Troubleshoot integration failures and resolve issues affecting application performance, availability, reliability, and interoperability.
- Support deployment planning, production-readiness assessments, implementation activities, and post-deployment stabilization.
3. Automated Testing, Security, and Quality Assurance
- Develop, implement, and maintain automated unit, integration, API, database, and user-interface tests.
- Validate application functionality, integration points, data processing, and system behaviour against technical specifications and acceptance criteria.
- Apply secure coding practices and address identified software vulnerabilities and security concerns.
- Conduct code reviews to identify defects, security weaknesses, maintainability concerns, and deviations from development standards.
- Diagnose and resolve complex defects, performance bottlenecks, reliability issues, and integration problems.
- Improve application quality, test coverage, performance, scalability, and long-term maintainability.
- Collaborate with quality assurance teams and support system testing, user acceptance testing, defect resolution, and release readiness.
4. Technical Leadership and Development Team Management
- Provide demonstrated team and solution leadership across software development activities.
- Lead and manage development teams, coordinate development work, and help ensure delivery commitments are achieved.
- Guide technical direction and ensure that implementation decisions remain aligned with approved architecture, technical designs, and project objectives.
- Mentor developers and provide hands-on technical guidance within multidisciplinary teams.
- Conduct code reviews and provide actionable feedback to improve code quality, consistency, security, and maintainability.
- Coordinate development activities, identify technical dependencies, manage development risks, and resolve technical challenges.
- Support sprint planning, release planning, effort estimation, work prioritization, and technical decision-making.
- Promote development best practices, collaborative problem-solving, knowledge sharing, and continuous improvement.
5. Documentation, Deployment, and Operational Support
- Prepare and maintain technical documentation, including design notes, API documentation, configuration details, deployment procedures, and support documentation.
- Communicate technical issues, root causes, risks, dependencies, and recommended solutions clearly to technical and non-technical stakeholders.
- Support deployment coordination, implementation planning, production-readiness activities, and post-implementation stabilization.
- Collaborate with business analysts, architects, testers, project managers, operations teams, and other technical specialists.
- Identify opportunities to improve development processes, automation, software reliability, application performance, and delivery efficiency.
Requirements
Mandatory Qualifications and Experience
Candidates must demonstrate relevant experience in the following areas:
A. Java Software Development
- Experience developing and maintaining complex enterprise applications using Java.
- Experience developing complex enterprise or public-facing applications.
- Experience translating technical specifications, user stories, and acceptance criteria into working software.
- Experience implementing user interfaces, APIs, services, integrations, business logic, data-access layers, and database components.
- Experience applying object-oriented programming, structured development practices, and Agile development methodologies.
B. Microsoft Azure, Cloud, and Integration
- Experience developing and deploying cloud-based applications, including microservices in Microsoft Azure.
- Experience designing, developing, and maintaining APIs, integration services, and application interfaces.
- Experience with enterprise integration patterns, automated deployment pipelines, continuous integration and deployment, and configuration management.
- Experience supporting application monitoring, operational readiness, deployment activities, and post-implementation stabilization.
C. Automated Testing, Security, and Code Quality
- Experience developing automated tests for user interfaces, APIs, and databases.
- Experience developing and maintaining unit, integration, and API tests.
- Experience reviewing code and enforcing development, security, documentation, and testing standards.
- Experience implementing secure coding practices and addressing identified vulnerabilities.
- Experience troubleshooting complex defects and resolving performance, reliability, and integration issues.
- Experience improving application quality, performance, and maintainability.
D. Technical Leadership and Development Team Management — Critical Requirement
- Demonstrated experience leading teams and managing software development teams.
- Demonstrated experience providing team and solution leadership, including guiding technical direction, coordinating development activities, and ensuring alignment with approved architecture and delivery objectives.
- Experience mentoring developers and providing technical guidance within multidisciplinary teams.
- Experience conducting code reviews and providing practical feedback to development team members.
- Experience coordinating development work, supporting technical planning, estimating effort, and contributing to sprint and release planning.
- Strong analytical, problem-solving, communication, and technical documentation skills.
- Ability to communicate technical issues, risks, dependencies, and recommendations clearly to stakeholders.
Evaluation Criteria and Weightings
Candidates will be assessed against the following evaluation categories:
| Evaluation Category | Weight |
|---|---|
| Software Development Experience | 40% |
| Cloud, Integration, and Deployment | 25% |
| Testing, Security, and Quality | 20% |
| Communication and Technical Leadership | 15% |
| Total | 100% |
Software Development Experience – 40%
- Development of complex enterprise or public-facing applications.
- Implementation of user interfaces, APIs, services, integrations, and database components.
- Application of object-oriented, structured, and Agile development methodologies.
Cloud, Integration, and Deployment – 25%
- Development and deployment of applications in cloud-based environments, particularly Microsoft Azure.
- APIs, integration patterns, automated deployment, and configuration management.
- Application monitoring and operational readiness.
Testing, Security, and Quality – 20%
- Automated testing for user interfaces, APIs, and databases.
- Secure coding, code reviews, and software quality practices.
- Troubleshooting defects and improving application performance and maintainability.
Communication and Technical Leadership – 15%
- Technical guidance, code reviews, and development team leadership.
- Strong analytical, documentation, and problem-solving capabilities.
- Clear communication of technical issues and recommendations.
Nice-to-Have Qualifications
- Previous experience working with the Ontario Public Service (OPS), Government of Ontario, or other public-sector organizations.
- Experience delivering enterprise applications in government environments with established architecture, security, governance, and software delivery standards.
Requirements
Java, Enterprise Application Development, Public-Facing Application Development, Microsoft Azure, Cloud-Native Development, Microservices, REST APIs, API Development, Enterprise Integration, Integration Patterns, Object-Oriented Programming (OOP), User Interface Development, Business Logic, Data-Access Layers, Database Integration, Agile Methodologies, CI/CD, Automated Deployment Pipelines, Configuration Management, Application Monitoring, Unit Testing, Integration Testing, API Testing, UI Testing, Database Testing, Automated Testing, Secure Coding, Code Reviews, Vulnerability Remediation, Performance Optimization, Troubleshooting, Application Reliability, Technical Documentation, Production Deployment, Technical Leadership, Software Development Team Management, Developer Mentoring, Technical Planning, Effort Estimation, Sprint Planning, Release Planning, Risk Management, Stakeholder Communication, Problem-Solving, Quality Assurance, Operational Readiness.