Programmer Analyst II

University of British ColumbiaVancouver, BC
CA$8,554 - CA$13,341

About The Position

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.

Requirements

  • 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

Nice To Haves

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

Responsibilities

  • 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.
  • 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.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service