UBC logo

UBC

Programmer Analyst II

🇨🇦 Hybrid - Vancouver, British Columbia 🕑 Full-Time 💰 CA$8,554 - CA$13,341 per Month 💻 Cybersecurity 🗓️ November 11th, 2026
SQL Python PostgreSQL

Edtech.com's Summary

UBC is hiring a Programmer Analyst II. The role designs, builds, and maintains custom and third-party security software for the university's Cybersecurity team, serving both internal needs and campus-wide use. The analyst works within the Solutions Security and Architecture team, reports to its Senior Manager, and collaborates with UBC Information Technology, administrative and academic offices, and faculties.

Highlights
  • Develop, integrate, and maintain security solutions, APIs, and microservices that protect applications and systems across UBC, balancing functional, security, privacy, availability, and scalability requirements.
  • Advise architects, developers, and analysts on software design, and keep technical specifications current as designs change.
  • Maintain a prioritized product backlog, write issues and user stories that both technical and non-technical stakeholders can follow, and group work into releases with the Cybersecurity Architects.
  • Run the release schedule and coordinate development, testing, risk management, and deployment, then lead retrospectives to improve the release process.
  • Evaluate vendor-supplied applications and recommend whether to customize or build, and manage small to medium projects and their budgets.
  • Test new or customized application modules against specifications, and document functions, changes, error handling, and backup and recovery procedures.
  • Guide and coach less experienced Programmer Analysts, and lead project work in a lead role when assigned.
  • Requires an undergraduate degree in a relevant discipline and at least five years of related experience, or an equivalent combination of education and experience.
  • Preferred experience includes secure development practices (SSDLC), CI/CD, authentication and encryption, SQL, and APIs, plus building and securing applications and microservices in an enterprise multi-cloud environment.
  • A strong working knowledge of OWASP frameworks is preferred, with Python, PHP, SAML, OIDC, PostgreSQL, and containerization listed as assets, along with certifications such as CSSLP or GWEB.
  • Pay of $8,554.25 to $13,340.92 CAD per month for an ongoing, full-time position.
  • Eligible for remote work, with on-campus attendance required weekly.

Programmer Analyst II Full Description

Programmer Analyst II
Job Category: M&P - AAPS
Job Profile: AAPS Salaried - Information Systems and Technology, Level D
Job Family Group: Staff - Non Union
Department: OCIO | Solutions Security & Architecture
Compensation Range: $8,554.25 - $13,340.92 CAD Monthly
Job End Date: Ongoing
This position is subject to the satisfactory completion of required background checks.
This position is expected to be filled by promotion/reassignment and is included here to inform you of its vacancy at the University.
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 Summary
The Programmer Analyst II designs computer application solutions for existing complex or campus-wide computer systems.
The Programmer Analyst II is a key contributor to the planning, developing, integrating, and maintaining third-party and custom solutions to meet the business, security, and privacy needs of the UBC Cybersecurity team. These solutions are designed for both internal use and campus-wide distribution to address the business, security, and privacy requirements of the UBC Cybersecurity team.
While this position is eligible for remote work, on-campus attendance is required on a weekly basis.

Organizational Status
Reports to the Senior Manager, Solutions Security and Architecture. Works independently and jointly within the Solutions Security and Architecture team to deliver software projects and enhancements on behalf of the UBC Cybersecurity team. Collaborates with management and staff from all areas of the Chief Information Security Officer portfolio, UBC Information Technology, other administrative and academic offices, and faculties to coordinate requirements gathering and deliverables. Work may also be directed and reviewed by a Cybersecurity Architect or Senior Manager within the greater Cybersecurity team.

Work Performed
Specific Duties
  • Securely develops, integrates, and maintains security solutions, APIs, and micro services used for the protection of applications and systems across all UBC properties and networks, considering functional, security, privacy, availability, and scalability requirements.
  • In collaboration with architects, developers, analysts and stakeholders, provides expert advice and makes recommendations on the various design elements associated with software development.
  • Ensures designs are incorporated into technical specifications as required, that these specifications are updated as changes occur, and communicates to stakeholders.
  • Provides input into the application architecture and technical architecture of Cybersecurity solutions.
  • Makes decisions regarding the application of computing devices or programs to meet set requirements, and determines solutions to defined problems.
  • Develops technical documentation including issues and user stories, ensuring that all relevant details are captured accurately and that they are understandable to both technical and non-technical stakeholders.
  • Maintains a prioritized product backlog and ensures that priorities are communicated and understood by all members of the team.
  • Works with Cybersecurity Architects to group work into releases by determining which user stories and issues will be included in each release based on factors such as priority, dependencies, and team capacity.
  • Develops and maintains a release schedule that provides visibility into when releases are planned. Coordinates with other teams to manage dependencies and ensure that releases are delivered on time.
  • Coordinates the activities required to deliver a release, including development work, testing, risk management, and deployment.
  • Leads retrospectives and uses feedback to drive continuous improvement in the release management process.
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 operation and efficacy of UBC cybersecurity systems. Unreliable systems, integrations, and code errors that disrupt the operations of these system, or failure to meet requirements for security, performance and availability, could lead to extended cybersecurity incident response times, cybersecurity systems downtime, gaps in UBC cybersecurity controls, or potentially even a compromise and/or data breach for UBC systems and services protected by the Cybersecurity team. Besides damaging the reputation of UBC Information Technology and UBC, a breach could also adversely impact the University community, including students, faculty, researchers and staff, and could significantly affect funding and revenue.
Supervision Received
Works under the general direction of the Senior Manager, Solutions Security and Architecture. The Cybersecurity Developer works with considerable latitude in regards to methods and procedures and accepts strategic direction from Cybersecurity Architects. May report to a Project Manager for specific project based activities and tasks, and may work under the direction of a Cybersecurity Architect for specific project tasks. Work is reviewed in terms of achievement of broad objectives and goals.
Supervision Given
May provide guidance, coaching and technical leadership to less experienced Programmer Analysts, as well as provide feedback on their performance. In a project lead role, the Programmer Analyst II may direct and supervise work of other staff assigned to projects.

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
  • An undergraduate degree in Computer Science is preferred.
  • Preference will be given to candidates with demonstrated ongoing career development through active and self-motivated professional development, including secure development industry certifications such as CSSLP or GWEB.
  • Demonstrated experience in some or all of the following areas: is required: requirements gathering, issue and demand management, release planning, data modeling, SSDLC, ORM concepts and frameworks, version control, CI/CD, secrets storage, encryption, authentication, SQL, object storage, message queuing, APIs, and JSON.
  • Preference will be given to those with experience securing, designing, developing, integrating, and maintaining applications, APIs, and micro services in an enterprise multi-cloud environment.
  • A strong working knowledge of OWASP security frameworks, models and standards is preferred.
  • Experience with Python, PHP, SAST, DAST, SCA, SAML, OIDC, PostgreSQL, MariaDB, TDD, HTTP, TCP/IP, x509 certificates, network/systems inventories and architecture, DNS, containerization, virtualization, LDAP, or WordPress is an asset.
  • This role demands experience with incident, demand, and change management in a large, complex environment. The Incumbent should be willing to raise security concerns regardless of ownership or potential impact.
  • The incumbent must be able to adapt to changing priorities, manage multiple tasks and meet deadlines.
  • Initiative-taking is valued but should be balanced with judgement about seeking input, advice from others.
  • The ability to work independently, as part of a team, cross-functionally, collaboratively with staff at all organizational levels is crucial.

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