Senior Software Developer
Summary
Contract Senior Software Developer working 100% onsite for the Government of Ontario (Treasury Board Secretariat) in Toronto/Oshawa, delivering end-to-end application development, support, and release management. Core stack: Java, Microsoft Power Apps, Azure DevOps, Oracle 19c, DB2, Windows/Linux, middleware, and REST APIs.
- Translate technical systems specifications and business requirements into detailed programming specifications and working applications.
- Design, develop, code, compile, test, debug, document, deploy, and maintain applications.
- Provide end-to-end solution design, development, unit testing, and technical recommendations aligned with business outcomes, reference architecture, and Ministry objectives.
- Develop and maintain data-driven applications and conduct unit testing.
- Troubleshoot and resolve technical issues arising during application implementation, operation, conversion, migration, and post-implementation support.
- Participate throughout the full Software Development Life Cycle (SDLC).
- Collaborate with business stakeholders and subject matter experts to understand requirements and business goals.
- Elicit and document information from diverse business areas and stakeholders.
- Conduct user-experience research and translate user stories into viable product enhancements.
- Design and implement REST API integrations following established best practices.
- Conduct code reviews and ensure high-quality software and adequate unit-test coverage.
- Diagnose and resolve application, data integrity, security, configuration, and recovery issues.
- Assess and test Change Requests (CRQs) containing technical changes and update them as required.
- Participate in release promotions, implementations, patching, change management, and release management activities.
- Support application monitoring and troubleshoot production issues.
- Install, configure, tune, and administer middleware software and gateways.
- Review, analyze, and modify product installation scripts, including encoding, testing, and debugging where required.
- Provide post-implementation technical support and resolve technical issues.
- Conduct design walkthrough sessions with project teams.
- Develop user and system documentation.
- Prepare technical documentation explaining solution architecture and implementation.
- Deliver knowledge-transfer sessions to project/team members.
- Produce technical reports and status updates as required.
- Identify and contribute to the effective management of solution-design risks and issues.
- Promote industry standards, development best practices, and quality practices across product teams.
- Work collaboratively with cross-functional and distributed teams, including developers, architects, designers, project managers, QA professionals, and business stakeholders.
- Provide technical leadership and help oversee project quality from a technical perspective.
Requirements
- Solid and current programming knowledge, ideally including Java.
- Experience in programming and analysis at a senior level.
- Experience with one or more programming languages and object-oriented and/or third-generation language development tools.
- Experience designing, developing, testing, debugging, documenting, deploying, and troubleshooting applications.
- Experience applying current application design patterns and best practices.
- Experience with structured methodologies for application design, development, implementation, and maintenance.
- Experience developing Internet-ready applications.
- Experience with application development and specialized software-package support.
- Hands-on experience with low-code platforms, particularly Microsoft Power Apps.
- Full understanding and hands-on experience with Azure DevOps.
- Experience with GitHub and/or comparable modern source-control/development technologies is highly relevant.
- Solid understanding and practical experience with Windows and Linux server operating systems.
- Experience working with Windows- and Linux-based technologies.
- Strong experience with relational and hierarchical database technologies.
- Solid working knowledge of Oracle 19c.
- Solid working knowledge of DB2 on Windows.
- Experience using information-retrieval packages and query languages.
- Ability to diagnose and optimize database queries, indexes, and server performance.
- Understanding of backup and recovery processes.
- Experience with middleware and gateways.
- Experience installing, configuring, tuning, administering, monitoring, and troubleshooting middleware software.
- Experience with application development involving middleware technologies.
- Strong performance-tuning capabilities, including the ability to diagnose and optimize queries, indexes, and server performance.
- Experience with application monitoring and technical support.
- Ability to analyze and resolve data-integrity, security, configuration, and recovery issues.
- Ability to provide post-implementation support and troubleshoot technical issues.
- Experience with change management and release management processes supporting large application implementations.
- Ability to assess and test Change Requests (CRQs) with technical content and update them as necessary.
- Experience participating in release promotions, implementations, and patching activities.
- Experience designing and implementing REST API integrations and applying API integration best practices.
- Experience with communications protocols and application integration technologies.
- Ability to incorporate security requirements into solution design.
- Understanding of and ability to comply with OPS security standards and policies.
- Ability to collaborate with stakeholders to understand business goals and delivery outcomes.
- Experience eliciting and documenting information from business stakeholders and subject matter experts.
- Ability to conduct user-experience research and translate user stories into viable product enhancements.
- Experience working in an Agile development environment.
- Strong understanding of structured software-development methodologies and the complete SDLC.
- Ability to provide user and system documentation as required.
- Ability to prepare detailed technical and architectural documentation.
- Ability to conduct design walkthroughs.
- Ability to deliver knowledge-transfer sessions to technical teams.
- Ability to prepare reports, technical updates, and project documentation.
- Excellent analytical, problem-solving, and decision-making skills.
- Strong verbal and written communication skills.
- Strong interpersonal and negotiation skills.
- Ability to work effectively with technical and non-technical stakeholders.
- Strong troubleshooting and issue-resolution capabilities.
- Ability to collaborate effectively with cross-functional and distributed teams.
- Strong leadership abilities and ability to provide technical direction.
- Demonstrated ability to meet deadlines and deliver high-quality work.
- Strong team-player mindset with the ability to support developers, testers, and end users.
- Ability to manage competing priorities and contribute to project risk and issue management.
- Rapid Application Development (RAD) methodologies.
- Information Management principles, concepts, policies, and practices.
- Power Apps and other emerging low-code technologies.
- Middleware and gateway technologies.
- Installation-script development, modification, testing, and debugging.
- AODA and related accessibility regulations and standards.
- Experience providing user and system documentation.
- Experience conducting technical design walkthroughs.
- Experience providing post-implementation technical support.