Staff - Non Union
M&P - AAPS
AAPS Salaried - Information Systems and Technology, Level C
Programmer Analyst I
LTIC | Software Innovation
$6,949.92 - $9,992.50 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.
August 9, 2026
Note: Applications will be accepted until 11:59 PM on the Posting End Date.
Job End Date
August 31, 2029
This is a term position of three (3) years, with a possibility of extension.
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. This role contributes to AI-powered and data-driven learning-technology solutions — including building platforms and shared services that other teams and developers build on, as well as retrieval-augmented generation (RAG) chatbots and conversational assistants, agentic AI tools and workflows, cloud-hosted services, and data pipelines and analytics — in support of UBC’s role in the responsible use of Artificial Intelligence in education. We are looking for a curious, self-directed developer who takes initiative, learns new tools quickly, and is comfortable working at the frontier of rapidly evolving AI technology.
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 Software Innovation Technical Lead at the UBC Learning Technology Innovation Centre. Works under the direction of Solutions Architects, 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 cloud environments.
-
Builds and maintains platforms and shared services — reusable infrastructure, developer tooling, and self-service capabilities — that enable teams across UBC to build and deploy learning technology solutions.
-
Builds and integrates APIs and services, including APIs that power retrieval-augmented generation (RAG), chatbots and conversational assistants, and Model Context Protocol (MCP) tools/servers, to extend UBC’s teaching and learning ecosystem.
-
Designs and builds agentic AI tools and workflows and adopts AI-assisted development tooling to accelerate delivery, applying the responsible use of Generative AI and Large Language Models.
-
Contributes to data pipelines and data-lake / analytics infrastructure — ingestion, ETL/ELT, and producing analytics-ready datasets that support reporting and AI/ML use cases.
-
Implements data-governance controls, including row-level security (RLS) and access controls, consistent with University privacy and security policy.
-
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.
-
Contributes to documenting our processes, designs, and guidelines.
-
Supports 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.
-
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. Self-directs and seeks out work that adds value rather than waiting for direction. 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
In addition to the Minimum Qualifications above, the successful candidate must demonstrate hands-on experience in at least one of the following focus areas:
-
Cloud computing — building, deploying, and managing solutions using cloud-managed services (e.g. AWS, Azure, GCP) and containerized applications (Docker, Kubernetes).
-
Data lake / data analytics infrastructure — building data pipelines (ETL/ELT), integrating datasets from multiple sources, and producing analytics-ready datasets; working with relational databases, including data cleaning and analyzing complex data structures.
-
AI / ML — applying Generative AI and Large Language Models, with specific interest in retrieval-augmented generation (RAG), chatbots / conversational assistants, agentic AI tools and workflows, building or consuming APIs for RAG, and the Model Context Protocol (MCP).
-
Data governance — implementing access controls and row-level security (RLS), and applying data privacy/security practices.
Preferred skills:
-
Experience with AWS and its managed services (e.g. Lambda, ECS/EKS, S3, RDS), including deploying and operating cloud-hosted solutions. AWS is the primary environment for our platforms and services.
-
Experience with full-stack development.
-
Experience with Python and/or TypeScript. We are otherwise fairly language-agnostic and like to see experience across other languages (e.g. Rust).
-
Experience with version control (Git) and CI/CD pipelines.
-
Fluency with modern development approaches, including the use of AI.
-
A curious, self-starting disposition — proactively explores new tools, builds prototypes and proofs of concept, and is comfortable with the ambiguity of emerging technology.
-
Effective problem-solving skills.
-
Excellent written and verbal communication skills.
Additional assets:
-
Hands-on experience across more than one of the four focus areas listed under Required Qualifications.
-
Experience in a mixed software development and software maintenance role.
-
Experience building integrations with SAML, LTI, and APIs.
-
Experience with CI/CD tools (e.g. GitHub Actions, AWS CodePipeline).
-
Demonstrated ability to explain complex concepts in layman’s language.