UBC IT Library Services is hiring a Programmer-Analyst I

Full time

Created: January 9, 2018
Vancouver, BC
0 other recent jobs


For more information and to apply, go to https://www.hr.ubc.ca/careers-postings/staff.php and search for job ID 28398


Job Summary

The Programmer Analyst I programs software application modules and codes, tests, debugs, documents, and maintains those modules.The incumbent also consults with users regarding business processes to align initiatives with information technology solutions.

Acts as subject matter expert to provide technical leadership in delivery and support of UBC Library systems and applications. Performs analysis to enable the design and implementation of enterprise applications, and creates documentation and training as required.

This position is responsible for providing ongoing operational and troubleshooting support for a variety of automated systems (both vendor-supplied and locally developed) that support major applications used throughout the UBC Library.

Organizational Status

Reports to the Manager, Library Systems, UBC IT. Generally works under the daily direction of a Programmer Analyst II and/or Senior Programmer Analyst.

Interacts directly with other University technology professionals and with faculty, students and Library staff. The position will work with Senior Programmer Analysts, Project Managers, Business Analysts and Quality Assurance staff in ensuring the highest quality of the software promoted into our UBC production environments.

Work Performed

Specific Duties:

- Provides technical expertise and advises on design of complex systems and assists others to resolve technical problems.
- Provides mentoring and on the job training to new or less experienced staff and leads training sessions on various topics to educate the team and end-users.
- Using a variety of vendor-supplied, in-house and other systems development tools to develop, implement, and provide support for automated library applications such as: Digital Library systems, Integrated Library system, Gateway (interfaces for remote systems access), Federated Search Engines.
- Takes the lead on programming discrete but complex modules for use in production systems.
- For vendor-supplied systems: consults with users to clarify requirements, map users requirement with functionalities provided by the systems to fully leverage on the application system and available technology.
- Assists in working with vendor to configure application level parameters; and, if necessary or appropriate, undertakes some development and programming using available programming tools and interfaces.
- Uses PHP, Python, Perl, Java, Ruby on Rails, or Python; XSL/XML, MySQL, and other RDMS products; Web-related packages; and vendor-supplied and in-house development tools and other Web-based software to enhance and support Library enterprise systems.
- Documents code for internal distribution and creates user manuals and documentation for end users.
- Provides knowledge analyst activities to capture processes, and develops and designs training materials.
- Provides technical advice on system applications; advices programmers developing department specific modules.
- Advises through face-to-face interaction, phone and email/ticketing system.
- Extracts and formats statistical data for use by management in presentations and decision making.
- Develops custom management, as well as operational, reports from the departments' databases using various reporting tools.
- Creates and maintains documentation and procedures for the use of custom developed systems.
- Coordinates or performs database administration and management tasks for the Oracle databases used by the department as well as the university community. Optimize the database systems to ensure performance and reliability.

Core Duties:

- Programs small/discrete software application modules.
- Conducts testing and debugging of small modules to ensure application meets specifications.
- Prepares programming documentation for assigned programs.
- Supports software development lifecycle, and applies and follows appropriate programming/development methodologies and best practices as instructed.
- 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.

Supervision Received

Works independently and under the general direction of the Manager, Library Applications.

Takes direction from a Project Manager and/or more Senior Programmer Analysts for daily -project based activities and tasks. Work is reviewed by peers and Senior Programmer Analysts.

Works autonomously in accordance with general instructions as to methods and procedures. Results are reviewed for achievement of overall and long-term objectives.

Supervision Given


Consequence of Error/Judgement

The position is responsible for the design and integrity of Library's Integrated Library System. Poor design, support or errors in implementation could have significant operational and financial consequences as well as result in significant loss of productivity.


Undergraduate degree in a relevant discipline.  Degree in Computer Science/Engineering or equivalent field is preferred. Demonstrated ongoing career development through active and self-motivated professional development.  Minimum of three years experience or the equivalent combination of education and experience.  Experience developing and maintaining web applications is an asset. Experience with CMS (e.g. Wordpress/Drupal), scripting, data integration, and SQL. Familiarity with, or work experience in, libraries and/or automated library systems is desirable.

Ability to work at an advanced level with programming languages (e.g. PHP, Python, Perl, Javascript, Java, Ruby on Rails), JSON/XML, current operating systems (Unix including SOLARIS, LINUX, Windows), database management systems (MySQL, SQL Server), and APIs. Working knowledge of version control systems and Agile software development principles would be beneficial.

Ability to adapt to changing priorities, manage multiple tasks and meet deadlines. 

Collaboration - Participates willingly by supporting team decisions, assisting other team members, and doing his/her share of the work to meet goals and deadlines. Informs other team members about client-related decisions, group processes, individual actions, or influencing events. Shares all relevant and useful information.

Communication for Results - Speaks and writes to peers in ways that support transactional activities. Shares information and asks questions prior to taking action.

Problem Solving - Asks questions and looks for data that helps to identify and differentiate the symptoms and root causes of every day, defined problems. Suggests remedies that meet the needs of the situation and those directly affected. Resolves problems and escalates issues appropriately.

Accountability -  Asks questions and provides feedback in an effort to clarify mutual expectations. Seeks advice on tasks and responsibilities when needed.

Business Process Knowledge - Identifies and documents processes within area of responsibility. Seeks guidance on aspects of process that are out of immediate scope. Drafts procedures that comply with the process.

Information Systems Knowledge - Aware of the primary uses of technology by customers, learning the systems of the enterprise and the customers affected. Responds to day-to-day requests for technical support in areas of primary usage. Escalates questions and problems to relevant technical expert groups.

Equity and diversity are essential to academic excellence.  An open and diverse community fosters the inclusion of voices that have been underrepresented or discouraged.  We encourage applications from members of groups that have been marginalized on any grounds enumerated under the B.C. Human Rights Code, including sex, sexual orientation, gender identity or expression, racialization, disability, political belief, religion, marital or family status, age, and/or status as a First Nation, Metis, Inuit, or Indigenous person.

All qualified candidates are encouraged to apply; however Canadians and permanent residents will be given priority.

Last updated: Thursday, January 11, 2018 18:47 UTC

How to apply

Metadata Python JavaScript Ruby PHP Programmer-Analyst


Published: Thursday, January 11, 2018 18:47 UTC