Job Summary
As a Senior Developer in the ITS Product Delivery branch, you will be working on defining system solutions to acquire and share data and develop information and analyses to CIHI’s clients and stakeholders. CIHI is embarking on a few exciting initiatives like migration to Cloud, defining a new set of tools to support development of system solutions, implementing Agile delivery approach, implementing a Data Science environment to support advance analytics, and others. The Senior Developer role in ITS is instrumental in operating, maintaining, and developing system solutions in current technologies as well as supporting and enabling initiatives on new platforms, technologies and services as opportunities arise.
Duties and Responsibilities
- Work as part of technical teams, to develop information systems, which may include the full range of requirements and feasibility analysis, design, coding, testing, quality assurance, implementation, and documentation, as well as day-to-day application maintenance and end-user support.
- Work closely with business partners, develop business processes knowledge and maintain ongoing contact, to ensure satisfaction by meeting their needs through information systems development, enhancements, and integrations.
- On a rotation mode, execute the operational tasks related to incident troubleshooting and correction and scheduled product releases, and work on optimizing and automating these tasks to reduce operational effort.
- Analyze software deficiencies/problems and change requests, implementing the changes within the production systems. May be required to oversee and ensure timely implementation of the changes for the technical team.
- Develop, modify, and execute test plans, using automation to improve testing coverage and reduce effort.
- Ensure the correct testing and sign-off procedures as part of CIHI’s quality assurance review.
- Ensure the promotion and implementation of applications in accordance with departmental change management processes.
- Participate in the planning, development, and delivery of end user training.
Knowledge and Experience
- University degree or equivalent education/experience in Computer Science, Mathematics, or related discipline.
- Minimum 3 years of progressive broad-based IT/business systems analysis experience in complex, multi-user information system implementations.
- Experience working with SQL databases, Python, and the main Python libraries and frameworks.
- Experience developing processing solutions using Spark DataFrames, Spark SQL, and the PySpark library.
- Experience with software development practices: Git, unit testing, releases, automation.
- Experience with Apache Iceberg, Airflow, MySQL, AWS Lambda, and Redshift are definite assets.
- Knowledge and experience with AWS cloud environment, tools and services including AWS CDK are definite assets.
- Knowledge and experience with automated testing and DevOps are definite assets.
- Ability to understand and prioritize user and business requirements, and to conceptualize information processing solutions in response to them.
- Ability to plan and coordinate workload effectively, including managing and prioritizing multiple tasks.
- Strong team player with a client/user orientation.
- Fluency in English required, bilingualism in both official languages is an asset