Programmer Analyst I – Learning Analytics
About the role
Staff - Non Union
Job Category
M&P - AAPS
Job Profile
AAPS Salaried - Information Systems and Technology, Level C
Job Title
Programmer Analyst I – Learning Analytics
Department
LTIC | Learning Analytics
Compensation Range
$6,747.50 - $9,701.42 CAD Monthly
The Compensation Range is the span between the minimum and maximum base salary for a position. The midpoint of the range is approximately halfway between the minimum and the maximum and represents an employee that possesses full job knowledge, qualifications and experience for the position. In the normal course, employees will be hired, transferred or promoted between the minimum and midpoint of the salary range for a job.
Posting End Date
August 5, 2025
Note: Applications will be accepted until 11:59 PM on the Posting End Date.
Job End Date
September 1, 2026
This is a 1 (one) year leave replacement position, ending early September 2026.
At UBC, we believe that attracting and sustaining a diverse workforce is key to the successful pursuit of excellence in research, innovation, and learning for all faculty, staff and students. Our commitment to employment equity helps achieve inclusion and fairness, brings rich diversity to UBC as a workplace, and creates the necessary conditions for a rewarding career.
Job Summary
The Programmer Analyst I supports the Learning Technology Hub with the design, development, and support of learning technology solutions for campus-wide teaching & learning activities. The Programmer Analyst I focuses on smaller software modules and system-to-system integrations as well as contributing to larger software systems available throughout the university.
Organizational Status
The Learning Technology Innovation Centre is a central unit that supports the UBC community in using and developing learning technology solutions for face-to-face classrooms, hybrid courses, and fully-online learning. The unit supports self-developed, community-developed, and vendor-supplied solutions, from small-scale pilots through to campus-wide deployments.
Reports to the Solutions Architect in the UBC Learning Technology Innovation Centre. Works under the direction of Programmer Analysts, Senior Managers, Managers, and others.
Work Performed
Specific Duties:
- Programs solutions based on core teaching and learning applications; advises programmers developing faculty and/or department specific modules; advises through face-to-face interaction, virtual, phone and email/ticketing system.
- Manages projects to implement learning technology solutions in AWS cloud environments.
- Evaluates functional requirements and system features of UBC’s enterprise teaching and learning platforms.
- Designs solutions to extend system capabilities and develop integrations for tools into UBC’s teaching and learning ecosystem.
- Provides technical guidance to developers’ community at UBC including providing proactive recommendations in an agile manner.
- Implements the latest standards in accessibility, security, privacy, equity and in other areas as regulated by University policies.
- Documents code for internal and Open Source distribution and creates user manuals and documentation for end users.
- Works collaboratively, as part of an Agile software development and learning technology operations team.
- Designs, develops, tests, maintains, and supports enterprise learning technology solutions in support of faculty teaching and learning goals.
- Participates in team practices including refinement, estimation, and planning.
- Conducts demos of features and fixes for faculty and other campus stakeholders
- Contribute to documenting our processes, designs, and guidelines.
- Support continuous improvement activities.
Core Duties:
- Programs software applications and services.
- Conducts testing and debugging to ensure application meets specifications.
- Prepares programming documentation for supported programs.
Supports software development lifecycle, and applies and follows appropriate programming/development methodologies and best practices. - Integrates applications with UBC Campus Wide Login systems using Shibboleth as well as Learning Management Systems using LTI and APIs.
- Maintains appropriate professional designations and up-to-date knowledge of current information technology techniques and tools.
- Participates in project planning and implementation.
- Builds and maintains good working relationships and collaborates with others to achieve client objectives.
- Performs other related duties as required.
Core Competency:
- Collaboration - Takes initiative to actively participate in team interactions. Without waiting to be asked, constructively expresses own point of view or concerns, even when it may be unpopular. Ensures that the limited time available for collaboration adds significant customer value and business results.
- Communication for Results - Converses with, and writes to, peers in ways that support transactional and administrative activities. Seeks and shares information and opinions. Explains the immediate context of the situation, asks questions with follow-ups, and solicits advice prior to taking action.
- Problem Solving - Investigates defined issues with uncertain cause. Solicits input in gathering data that help identify and differentiate the symptoms and root causes of defined problems. Suggests alternative approaches that meet the needs of the organization, the situation, and those involved. Resolves problems and escalates issues with suggestions for further investigation and options for consideration as required.
- Accountability - Checks assumptions about mutual expectations and clarifies standards of overall performance. Checks the scope of responsibilities of self and others. Monitors day-to-day performance and takes corrective action when needed to ensure desired performance is achieved.
- Business Process Knowledge - Defines routine, integrated processes. Documents processes using basic formal process charting techniques. Applies process definitions and flows to work performed. Identifies process bottlenecks and contributes suggestions for process improvement.
- Information Systems Knowledge - Possesses a basic understanding of the strategy, structures, processes, and procedures of the enterprise in its relationship with the business and its activities. Troubleshoots in response to requests for technical support. Identifies problems and needs. Escalates problems to appropriate technical experts.
Consequence of Error/Judgement
Contributes to decisions regarding the design and development of learning technology solutions for the university. Errors in judgment that impact the security and privacy of data may have a significant impact in achieving the strategic goals and vision of the university.
Supervision Received
Works with moderate latitude. Work is reviewed in terms of achievement of desired results. Receives guidance from senior developers, team leads, and solutions architects.
Supervision Given
Works in collaboration with a variety of roles that may include a combination of academic faculty and instructors, instructional support staff, course designers, learning technologists, researchers, and other technical staff.
Minimum Qualifications
Undergraduate degree in a relevant discipline. Minimum of three years of related experience, or the equivalent combination of education and experience.
-
Willingness to respect diverse perspectives, including perspectives in conflict with one’s own
-
Demonstrates a commitment to enhancing one’s own awareness, knowledge, and skills related to equity, diversity, and inclusion
Preferred Qualifications
PREFERRED SKILLS
- Experience with full-stack development
- Experience with Python, JavaScript, PHP, and/or Perl
- Experience with scripting languages and version control (Git)
- Effective problem-solving skills
- Excellent written and verbal communication skills
Preference will be given to candidates with:
- Experience in a mixed software development and software maintenance role
- Experience in building integrations with SAML, LTI, and APIs
- Experience in building, deploying, and managing containerized applications using Docker and Kubernetes
- Experience in building, deploying, and managing solutions using cloud-managed services (e.g. AWS, Azure, GCP)
- Experience with CI/CD tools (e.g. GitHub Actions, AWS CodePipeline)
- Experience with relational databases, including data cleaning, integrating datasets from multiple sources, and analyzing complex data structures
- Demonstrated ability to explain complex concepts in layman’s language
Programmer Analyst I – Learning Analytics
About the role
Staff - Non Union
Job Category
M&P - AAPS
Job Profile
AAPS Salaried - Information Systems and Technology, Level C
Job Title
Programmer Analyst I – Learning Analytics
Department
LTIC | Learning Analytics
Compensation Range
$6,747.50 - $9,701.42 CAD Monthly
The Compensation Range is the span between the minimum and maximum base salary for a position. The midpoint of the range is approximately halfway between the minimum and the maximum and represents an employee that possesses full job knowledge, qualifications and experience for the position. In the normal course, employees will be hired, transferred or promoted between the minimum and midpoint of the salary range for a job.
Posting End Date
August 5, 2025
Note: Applications will be accepted until 11:59 PM on the Posting End Date.
Job End Date
September 1, 2026
This is a 1 (one) year leave replacement position, ending early September 2026.
At UBC, we believe that attracting and sustaining a diverse workforce is key to the successful pursuit of excellence in research, innovation, and learning for all faculty, staff and students. Our commitment to employment equity helps achieve inclusion and fairness, brings rich diversity to UBC as a workplace, and creates the necessary conditions for a rewarding career.
Job Summary
The Programmer Analyst I supports the Learning Technology Hub with the design, development, and support of learning technology solutions for campus-wide teaching & learning activities. The Programmer Analyst I focuses on smaller software modules and system-to-system integrations as well as contributing to larger software systems available throughout the university.
Organizational Status
The Learning Technology Innovation Centre is a central unit that supports the UBC community in using and developing learning technology solutions for face-to-face classrooms, hybrid courses, and fully-online learning. The unit supports self-developed, community-developed, and vendor-supplied solutions, from small-scale pilots through to campus-wide deployments.
Reports to the Solutions Architect in the UBC Learning Technology Innovation Centre. Works under the direction of Programmer Analysts, Senior Managers, Managers, and others.
Work Performed
Specific Duties:
- Programs solutions based on core teaching and learning applications; advises programmers developing faculty and/or department specific modules; advises through face-to-face interaction, virtual, phone and email/ticketing system.
- Manages projects to implement learning technology solutions in AWS cloud environments.
- Evaluates functional requirements and system features of UBC’s enterprise teaching and learning platforms.
- Designs solutions to extend system capabilities and develop integrations for tools into UBC’s teaching and learning ecosystem.
- Provides technical guidance to developers’ community at UBC including providing proactive recommendations in an agile manner.
- Implements the latest standards in accessibility, security, privacy, equity and in other areas as regulated by University policies.
- Documents code for internal and Open Source distribution and creates user manuals and documentation for end users.
- Works collaboratively, as part of an Agile software development and learning technology operations team.
- Designs, develops, tests, maintains, and supports enterprise learning technology solutions in support of faculty teaching and learning goals.
- Participates in team practices including refinement, estimation, and planning.
- Conducts demos of features and fixes for faculty and other campus stakeholders
- Contribute to documenting our processes, designs, and guidelines.
- Support continuous improvement activities.
Core Duties:
- Programs software applications and services.
- Conducts testing and debugging to ensure application meets specifications.
- Prepares programming documentation for supported programs.
Supports software development lifecycle, and applies and follows appropriate programming/development methodologies and best practices. - Integrates applications with UBC Campus Wide Login systems using Shibboleth as well as Learning Management Systems using LTI and APIs.
- Maintains appropriate professional designations and up-to-date knowledge of current information technology techniques and tools.
- Participates in project planning and implementation.
- Builds and maintains good working relationships and collaborates with others to achieve client objectives.
- Performs other related duties as required.
Core Competency:
- Collaboration - Takes initiative to actively participate in team interactions. Without waiting to be asked, constructively expresses own point of view or concerns, even when it may be unpopular. Ensures that the limited time available for collaboration adds significant customer value and business results.
- Communication for Results - Converses with, and writes to, peers in ways that support transactional and administrative activities. Seeks and shares information and opinions. Explains the immediate context of the situation, asks questions with follow-ups, and solicits advice prior to taking action.
- Problem Solving - Investigates defined issues with uncertain cause. Solicits input in gathering data that help identify and differentiate the symptoms and root causes of defined problems. Suggests alternative approaches that meet the needs of the organization, the situation, and those involved. Resolves problems and escalates issues with suggestions for further investigation and options for consideration as required.
- Accountability - Checks assumptions about mutual expectations and clarifies standards of overall performance. Checks the scope of responsibilities of self and others. Monitors day-to-day performance and takes corrective action when needed to ensure desired performance is achieved.
- Business Process Knowledge - Defines routine, integrated processes. Documents processes using basic formal process charting techniques. Applies process definitions and flows to work performed. Identifies process bottlenecks and contributes suggestions for process improvement.
- Information Systems Knowledge - Possesses a basic understanding of the strategy, structures, processes, and procedures of the enterprise in its relationship with the business and its activities. Troubleshoots in response to requests for technical support. Identifies problems and needs. Escalates problems to appropriate technical experts.
Consequence of Error/Judgement
Contributes to decisions regarding the design and development of learning technology solutions for the university. Errors in judgment that impact the security and privacy of data may have a significant impact in achieving the strategic goals and vision of the university.
Supervision Received
Works with moderate latitude. Work is reviewed in terms of achievement of desired results. Receives guidance from senior developers, team leads, and solutions architects.
Supervision Given
Works in collaboration with a variety of roles that may include a combination of academic faculty and instructors, instructional support staff, course designers, learning technologists, researchers, and other technical staff.
Minimum Qualifications
Undergraduate degree in a relevant discipline. Minimum of three years of related experience, or the equivalent combination of education and experience.
-
Willingness to respect diverse perspectives, including perspectives in conflict with one’s own
-
Demonstrates a commitment to enhancing one’s own awareness, knowledge, and skills related to equity, diversity, and inclusion
Preferred Qualifications
PREFERRED SKILLS
- Experience with full-stack development
- Experience with Python, JavaScript, PHP, and/or Perl
- Experience with scripting languages and version control (Git)
- Effective problem-solving skills
- Excellent written and verbal communication skills
Preference will be given to candidates with:
- Experience in a mixed software development and software maintenance role
- Experience in building integrations with SAML, LTI, and APIs
- Experience in building, deploying, and managing containerized applications using Docker and Kubernetes
- Experience in building, deploying, and managing solutions using cloud-managed services (e.g. AWS, Azure, GCP)
- Experience with CI/CD tools (e.g. GitHub Actions, AWS CodePipeline)
- Experience with relational databases, including data cleaning, integrating datasets from multiple sources, and analyzing complex data structures
- Demonstrated ability to explain complex concepts in layman’s language