Software Developer - Senior
Summary
Senior software developer who designs, builds, tests, and maintains enterprise Java applications and Azure-hosted microservices and APIs. Day to day involves hands-on coding, code reviews, mentoring developers, automated testing, and CI/CD pipelines, with technical leadership over the team.
Position Overview
The Senior Software Developer will design, develop, integrate, test, deploy, and maintain complex enterprise applications using Java and Microsoft Azure cloud technologies.
The successful candidate will provide technical leadership to development teams, guide technical decisions, conduct code reviews, mentor developers, and ensure solutions align with approved architecture, security requirements, and coding standards.
The role requires strong hands-on software development expertise, experience building cloud-based micro services and APIs, automated testing capabilities, and demonstrated experience leading development teams.
Key Responsibilities
- Design, develop, configure, test, and maintain enterprise-grade Java applications.
- Build and maintain cloud-based micro services and application components in Microsoft Azure.
- Develop user interfaces, APIs, integration services, business logic, and database components.
- Translate technical specifications, user stories, and acceptance criteria into working software.
- Implement API integrations, automated deployment pipelines, and configuration management.
- Develop and maintain automated unit, integration, API, database, and user-interface tests.
- Conduct code reviews and enforce development, security, documentation, and testing standards.
- Troubleshoot complex defects, performance bottlenecks, security vulnerabilities, and integration failures.
- Lead development activities, guide technical direction, and coordinate team deliverables.
- Mentor developers and provide technical guidance to multidisciplinary teams.
- Support continuous integration and continuous deployment (CI/CD) activities.
- Prepare technical documentation and contribute to estimates, sprint planning, and release planning.
- Support business acceptance testing, production deployments, and post-implementation stabilization.
- Identify technical risks, dependencies, and opportunities to improve application reliability and maintainability.
Requirements
Mandatory Skills and Experience
A. Software Development Experience
- Strong experience developing and maintaining complex enterprise or public-facing applications using Java.
- Experience building user interfaces, APIs, services, integrations, and database components.
- Ability to translate technical requirements and user stories into production-ready software.
- Knowledge of object-oriented programming and Agile development methodologies.
B. Team Leadership and Technical Management
- Demonstrated experience leading development teams and managing development activities.
- Ability to guide technical direction and coordinate development deliverables.
- Experience ensuring alignment with approved architecture and project objectives.
- Experience mentoring developers and providing technical guidance.
- Strong code review, collaboration, and technical decision-making skills.
C. Cloud, Integration, and Deployment
- Experience developing and deploying applications in cloud environments, particularly Microsoft Azure.
- Experience building and deploying microservices.
- Knowledge of APIs, integration patterns, and configuration management.
- Experience with automated deployment pipelines and CI/CD processes.
- Experience with application monitoring and operational readiness.
D. Testing, Security, and Quality Assurance
- Experience developing automated tests for user interfaces, APIs, and databases.
- Knowledge of unit, integration, and API testing.
- Experience implementing secure coding practices and addressing security vulnerabilities.
- Ability to troubleshoot defects and improve application performance, reliability, and maintainability.
- Experience supporting deployments and production stabilization.
Communication and Documentation
- Strong analytical and problem-solving skills.
- Ability to communicate technical issues and recommendations clearly.
- Experience preparing technical documentation.
- Ability to collaborate with developers, testers, architects, business stakeholders, and other project team members.
Nice-to-Have Qualifications
- Previous experience working with the Ontario Public Service (OPS).
- Experience working in government or other public-sector environments.