The University of British Columbia

Programmer Analyst II

Information Technology
5 - 7 years of experience
Job Overview by Ladders

Qualifications

  • Undergraduate degree in a relevant discipline; Computer Science preferred.
  • Minimum five years of related experience or equivalent education and experience combination.
  • Strong knowledge of various programming languages including Python and JavaScript/Node.js.
  • Experience with library systems, digital repositories, and interoperability standards/structures.
  • Demonstrated commitment to equity, diversity, and inclusion.

Responsibilities

  • Designs and builds solutions for complex library systems requirements.
  • Works collaboratively with library's TDUX unit for alignment with business needs.
  • Develops APIs and integrations between library systems and enterprise platforms.
  • Participates in design and code reviews to ensure development standards are met.
  • Provides ongoing maintenance and operational support for software applications.

Benefits

  • Access to continuous professional development opportunities.
  • Opportunities to collaborate with diverse university departments.
  • Engagement in innovative projects involving strategic library systems.
  • Supportive work environment prioritizing equity and inclusion.
  • Potential for guidance and mentorship responsibilities within the team.
Full Job Description
Staff - Non Union

Job Category
M&P - AAPS

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

Job Title
Programmer Analyst II

Department
UBC IT | Library Applications

Compensation Range
$8,554.25 - $13,340.92 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 4, 2026

Note:Applications will be accepted until 11:59 PM on the Posting End Date.

Job End Date

Ongoing

 

Job Description Summary

The Programmer Analyst II designs and builds computer application solutions for existing complex or campus-wide computer systems requirements.

The Programmer Analyst II will play an important role in all aspects of the development of strategic library systems.  These solutions include digital library platforms, discovery and access systems, authentication and identity services, and integrations with enterprise and third-party systems.


The Programmer Analyst II will be required to collaborate with the library’s Technology, Design and User Experience (TDUX) unit on discovery, solutioning, and general alignment with library business requirements.

Organizational Status

Reports to the Manager, Library Applications, UBC IT. The position will work with senior technical staff, Programmer Analysts, Business Architects/Analysts, Project Managers and project teams to ensure the highest quality of the software promoted into our UBC production environments.

Interacts directly with other university technology professionals and with faculty, students and Library staff. Work may also be directed and reviewed by  an architect, senior technical staff member, or Project Manager for a specific project.

The position takes an active, participatory role in ensuring the reliability and high availability of UBC mission critical 7x24 systems including application monitoring, tier 2 support, problem analysis and resolution, and ensuring services meet or exceed customer service levels at all times.

Work Performed

Specific Duties:

  • Works with architects and , senior technical staff, to provide input into both the application and technical architecture as they relate to library systems
  • Using a variety of vendor-supplied, in-house and other systems development tools, develops, implements, and provides support for automated library applications, such as:
    • Digital library systems
    • Integrated library system
    • Federated Search engines
    • Content management systems
    • Metadata repository systems
    • Semantic web applications
  • Participates in design and code reviews for other Programmer Analysts to ensure efficiency and adherence to development standards.
  • Develops and maintains APIs, integrations, and data exchange processes between library systems and enterprise platforms.
  • Contributes to cloud-based and containerized application environments where appropriate.
  • Participates in continuous integration and deployment practices, including version control, automated testing, and release management.
  • Contributes to the evaluation and adoption of emerging technologies to support library and research needs.
  • Works with other developers, UX Architects/Designers and DBAs on the various design elements associated with software development. Ensures that designs developed by the incumbent are incorporated into technical specifications as required, and that these specifications are updated as changes occur.
  • Builds and maintains good working relationships and collaborates with others to achieve client objectives
  • Provides input into decisions within established guidelines regarding the application of computing devices or programs to meet set requirements or makes decisions regarding solutions to defined problems.

Core Duties:

  • Designs, develops and programs custom software, defines detailed application specifications, standards, and diagrams and develops coding logic flowcharts.
  • Develops overall systems design, researches and evaluates vendor supplied applications, provides customize or develop recommendations, and implements accordingly.
  • Analyzes and reviews existing or proposed system features and integration, security, scalability and performance requirements with clients, business analysts, and team members.
  • Manages small to medium sized projects and related budgets.
  • Packages in house developed applications for production or integrates vendor supplied applications.
  • Provides technical expertise, training, and consultation to other staff.
  • Develops or modifies software application design and specific modules.
  • Conducts testing of new or customized application modules to ensure application meets specifications.
  • Documents functions and changes to new or modified modules, tests activities/results, error handling and backup/recovery procedures.
  • Provides ongoing maintenance and operational support for applications.
  • Supports software development lifecycle and applies and follows appropriate programming/development methodologies and best practices.
  • Maintains appropriate professional designations and up-to-date knowledge of current information technology techniques and tools.
  • Performs other related duties as required.

Consequence of Error/Judgement

Errors in judgment, poor planning, or failure to act decisively could have a detrimental effect on these systems. Unreliable systems and code errors that disrupt the operations of these system, or failure to meet contractual obligations for performance and availability will damage the reputation of UBC Library and UBC IT. This could adversely impact funding and revenue and the university community, including the large majority of students, faculty and staff.

Supervision Received

Works with considerable latitude and with regard to methods and procedures. Work is reviewed in terms of achievement of broad objectives and goals.

Reports to the Manager of Library Applications. The incumbent may report to the Project Manager for specific project based activities and tasks, and may work under the direction of an architect or senior technical staff member  for specific project tasks.

Supervision Given

May provide guidance, coaching and technical leadership to, and provide feedback on performance of less experienced Programmer Analysts.

In a project leader role, the Programmer Analyst II may direct and supervises work of other Programmer Analysts, Business Analysts, QAs, users and other staff assigned to projects.

May provide input/recommendations into the hiring and evaluation of staff.

Minimum Qualifications

Undergraduate degree in a relevant discipline. In-depth knowledge of applications and the business requirements supporting them. Minimum of five 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

Undergraduate degree in Computer Science preferred.

Demonstrated ongoing career development through active and self-motivated professional development. Specific knowledge of library systems and platforms (e.g., Library Services Platforms such as Alma or FOLIO, discovery systems, and digital repository platforms), and familiarity with interoperability standards and protocols (e.g., OAI-PMH, RESTful APIs, and metadata exchange formats) is an asset.


General and institutional technical knowledge, including:

  • Programming languages such as Python, JavaScript/Node.js, or similar
  • Web application frameworks and content management systems
  • RESTful APIs and web services
  • Relational databases (e.g., PostgreSQL, MySQL)
  • Version control systems (e.g., Git)
  • Authentication and identity management approaches (e.g., single sign-on, federated identity)
  • Industry-standard authentication protocols (e.g., SAML, OAuth2, OpenID Connect) and integration with institutional identity providers and directory services (e.g., LDAP, Active Directory)
  • Containerization and deployment technologies (e.g., Docker, Kubernetes) are an asset
  • Familiarity with cloud-based environments (AWS) and distributed systems is an asset.

Collaboration - Actively solicits ideas and opinions from others to efficiently and effectively accomplish specific objectives targeted at defined business outcomes. Openly encourages other team members to voice their ideas and concerns. Shows respect for differences and diversity, and disagrees without personalizing issues. Utilizes strengths of team members to achieve optimal performance.

Communication for Results - Conducts discussions with and writes memoranda to all levels of colleagues and peer groups in ways that support troubleshooting and problem solving. Seeks and shares relevant information, opinions, and judgments. Handles conflict empathetically. Explains the context of interrelated situations, asks probing questions, and solicits multiple sources of advice prior to taking action when appropriate.

Problem Solving - Applies problem-solving methodologies and tools to diagnose and solve operational and interpersonal problems. Determines the potential causes of the problem and devises testing methodologies for validation. Shows empathy and objectivity toward individuals involved in the issue. Analyzes multiple alternatives, risks, and benefits for a range of potential solutions. Recommends resource requirements and collaborates with impacted stakeholders.

Accountability - Sets objectives that meet organizational needs. Provides recommendations to individuals and teams on ways to improve performance and meet defined objectives. Monitors and provides feedback on individual and team performance against defined standards.

Business Process Knowledge - Maps full business processes and designs operational process flow. Facilitates group input and drafts proposals for process improvements. Identifies resource implications. Implements process improvement recommendations within the context of overall business processes.

Information Systems Knowledge - Resolves escalated problems of technical support. Identifies root causes. Sets up and integrates new and enhanced information systems. Identifies customer needs and determines the appropriate approach to apply and ensure resolution. Solicits the input of appropriate technical experts and managers as required.

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 II jobs: