← back to jobs
> job detail
U
👽Other

Programmer Analyst II

Ubc · UBC Vancouver Campus - Vancouver, BC, Canada
// classified as
Other (Adjacent or hard to classify.)
posted
2d ago
location
UBC Vancouver Campus - Vancouver, BC, Canada
languages
python
tools
aws, docker, kubernetes
> stack
pythonawsdockerkubernetespostgresql
> 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

 

 

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