The University of British Columbia

Programmer Analyst I

Information Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Undergraduate degree in a relevant discipline.
  • Minimum of three years of related experience or equivalent education and experience.
  • Hands-on experience in cloud computing, data lake analytics, AI/ML, or data governance preferred.
  • Experience with AWS services and full-stack development.
  • Familiarity with programming languages like Python or TypeScript and version control methods.

Responsibilities

  • Program solutions for teaching and learning applications.
  • Manage projects to implement cloud-based learning technology solutions.
  • Build and maintain reusable platforms and shared services for UBC.
  • Integrate APIs for enhancing educational tools and systems.
  • Design agentic AI tools, workflows, and ensure responsible AI use.
  • Contribute to data pipelines and analytics infrastructure supporting AI/ML use cases.
  • Document code and create user manuals for internal and open-source distribution.

Benefits

  • Possibility of extending the three-year term position.
  • Collaborative work environment within an innovative tech team.
  • Opportunity to work with emerging AI technologies and tools.
  • Support in enhancing knowledge and skills in equity, diversity, and inclusion.
  • Engagement in continuous improvement activities and professional development.
Full Job Description
Staff - Non Union

Job Category
M&P - AAPS

Job Profile
AAPS Salaried - Information Systems and Technology, Level C

Job Title
Programmer Analyst I

Department
LTIC | Software Innovation

Compensation Range
$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.

Posting End Date
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.

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.
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. 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.

About The University of British Columbia

The University of British Columbia (UBC) is a public research university with campuses in Vancouver and Kelowna, British Columbia. Established in 1908, UBC is British Columbia's oldest university. The university is ranked among the top 20 public universities worldwide and among the top three in Canada. UBC is a research-intensive university and has an annual research budget of over $600 million. The university offers over 200 undergraduate and graduate degree programs in a wide range of academic fields. UBC has a diverse student population, with over 65,000 students from over 160 countries.
Learn more about The University of British Columbia
Size
17,000 employees
Industry

Similar Jobs

More Jobs at The University of British Columbia

More Information Technology Jobs

Find similar Programmer Analyst I jobs: