Programmer Analyst

Updated: 17 days ago
Location: Vancouver UBC, BRITISH COLUMBIA
Job Type: FullTime

Staff - Non Union


Job Category
M&P - AAPS


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


Job Title
Programmer Analyst


Department
OCIO | Program Delivery


Compensation Range
$8,063.17 - $12,575.08 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
April 11, 2024

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

Job End Date

This position involves a two-year secondment to the Integrated Renewal Program (IRP). The successful candidate will actively contribute to the project's objectives, bringing their expertise to drive successful project outcomes. Upon the closure of the project, per Article 5.4.3 of the AAPs agreement, subject to the discontinuation of the original position under Article 9, the employee shall be returned at the end of the secondment period to their original position. 

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 Office of the Chief Information Officer (OCIO) | Program Delivery group is seeking a Programmer Analyst with expertise in Appian to join our team.

The Programmer Analyst designs computer application solutions for existing complex or campus wide computer systems. The incumbent will work collaboratively with the Senior Programmer Analysts.

The incumbent plays an important role in all aspects of the planning, implementation and operation of an enterprise-scale business process management solution for the University of British Columbia that transforms the processes and systems by which business processes are managed and how the data is exchanged between major and minor systems at the university.

Working closely with analysts, technical leads, managers and developers from IRP – Student and UBC IT, from the Enterprise Resource Planning (ERP) program and sustainment teams, and from the broader IT community, the incumbent, working in concert with the Senior Programmer Analysts, will develop technical solutions, including aspects of the complete development stack including front end development, database, API’s, as necessary, to satisfy the ongoing solution needs of the University and of the University's major ERP programs.

This is a hands-on delivery role within a multi-disciplinary technical and business team.
Organizational Status

The Programmer Analyst works within the sustainment team that consists of Analysts, developers, functional experts, and other project specialists, and reports directly to the BPM Manager.


Work Performed

Specific Duties:

  • Work with team leads to create software solutions
  • Manage software development process from conception to deployment
  • Oversee analysis, writing, building, and deployment of software 
  • Build automated testing and provide feedback to management during the development process 
  • Troubleshoot and triage post production issues found in code.
  • Modify and test changes to previously developed programs
  • Develop visually appealing solutions including architecture, designer mock-ups and wireframes into front-end code
  • Develop functional databases, applications, and servers to support solutions on the back end
  • Develop and design RESTful services and APIs
  • Stay abreast of developments in web applications, 4GL BPME, rule engines and programming languages
  • Stay current and provide insight on cutting edge software approaches, architectures, and vendors
  • Write technical documentation
  • Ensure that non-functional requirements such as security, performance, maintainability, scalability, usability, and reliability are being considered when developing solutions.
  • Keep job knowledge up-to-date by studying new development tools, programming techniques, and computing equipment; highlight educational opportunities; reading professional publications; maintaining personal and professional networks; participating in professional organizations.

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

  • Effective coding within the SDC is essential for the delivery of UBC IT services to the departments and faculties. Decisions and actions taken by the Developer II will have a direct impact on how efficiently and effectively UBC Applications will perform and function.
  • Failure to meet coding obligations in the SDC portfolio could adversely impact the University community, including the large majority of students, faculty and staff, and could cost hundreds of thousands of dollars in lost productivity, funding and revenue. It will also damage the reputation of UBC and UBC IT.


Supervision Received
The Developer II, works under the general direction of the Associate Director, IRP Student – Technical Lead, but will report to a Technical Project Manager within the SDC.
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 Developer 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

  • A degree in Computer Science is preferred. Demonstrates ongoing career development through active and self-motivated professional development. Experience in designing, developing and implementing medium to large scale software applications and integrations primarily using Java or Java-based tools to implement SOAP-based web services or RESTful APIs an asset.
  • Technical Qualifications:
  • Demonstrated knowledge of and experience working with Enterprise Application Development tools Java, 4GL, business process engines, etc. implementing Enterprise Application Development Patterns.
  • Demonstrated knowledge of business process management solutions like Appian.
  • Demonstrated knowledge of and experience working with Enterprise Application Integration tools ETLs, ESBs, etc. implementing Enterprise Integration Patterns.
  • General knowledge and/or experience of standard industry methodologies for large COTS implementation programs.
  • Very good oral and technical written communication skills.
  • Very good working knowledge of programming/scripting/markup languages such as Java, Groovy, Python, Perl, HTML, XML, JSON, etc.
  • Strong working knowledge of SOAP/REST concepts and technologies: XSD, XSLT, XPATH, WSDL, SOAP APIs, WS-\*, JSON Schema, RAML/Swagger, RESTful APIs, and OAuth2, both using and implementing.
  • Strong working knowledge of enterprise application and integration patterns include message-oriented integrations that leverage technologies such as ActiveMQ, JMS and STOMP.
  • Good understanding and experience with front end and backend development methodologies.as well as data modeling, data mapping, data structures, and data integration including the following concepts and technologies: SOA, ETLs, ESBs, MOMs, EAI, enterprise integration patterns, SQL/DDL/DML.
  • Experience using standard 3GL and 4GL IDE’s for development.
  • Good understanding and practical experience with many of the following: Object Oriented Analysis and Design concepts, design techniques and patterns; UML concepts; ORM frameworks; web application frameworks; software development methodologies and tools e.g. build management, code repositories, version control, continuous integration and continuous deployment; test-driven design; behavior-driven design.
  • Good project management skills including a working knowledge of SDLC methodologies, preferably Agile methodologies e.g. Lean, XP or Scrum.
  • Strong analytical and problem-solving skills demonstrated through troubleshooting complex technical problems.
     

Top Skills

-Experience in designing, developing and implementing medium to large scale software applications and integrations, primarily using Java or Java-based tools to implement SOAP-based web services or RESTful API's.

-Good understanding and experience with front end and backend development methodologies.as well as data modeling, data mapping, data structures, and data integration including the following concepts and technologies: SOA, ETLs, ESBs, MOMs, EAI, enterprise integration patterns, SQL/DDL/DML.

-Strong working knowledge of enterprise application and integration patterns include message-oriented integrations that leverage technologies such as ActiveMQ, JMS and STOMP.

Core Competencies

Collaboration - Consistently fosters collaboration and respect among team members by addressing elements of the group process that impedes, or could impede, the group from reaching its goal. Engages the right people within and beyond organizational boundaries, by matching individual capabilities and skills to the team's goals. Works with a wide range of teams and readily shares lessons learned and credit for team accomplishments.
 

Communication for Results - Converses with, writes reports for, and creates/delivers presentations to all levels of colleagues and peer groups in ways that support problem solving and planning. Seeks a consensus with business partners. Debates opinions, tests understanding, and clarifies judgments. Brings conflict into the open empathetically. Explains the context of multiple interrelated situations, asks searching, probing questions, and solicits expert advice prior to taking action and making recommendations.

Problem Solving - Diagnoses problems using formal problem-solving tools and techniques from multiple angles and probes underlying issues to generate multiple potential solutions. Proactively anticipates and prevents problems. Devises, facilitates buy-in, makes recommendations, and guides implementation of corrective and/or preventive actions for complex issues that cross organizational boundaries and are unclear in nature. Identifies potential consequences and risk levels. Seeks support and buy-in for problem definition, methods of resolution, and accountability.

Role Based Competencies

Accountability - Sets enhanced objectives for self and others. Monitors performance trends and identifies opportunities to improve standards. Provides regular feedback and suggests alternative approaches necessary to ensure that organizational objectives and superior standards are achieved. Delegates responsibility and reallocates resources as needed to ensure that priorities are met for initiatives within area of responsibility.

  • Business Process Knowledge - Describes and documents critical cross-functional business process flows. Applies business process reengineering techniques and methods in analyzing process flow and accountability charts. Recommends and advocates substantive process enhancements and assesses both internal and external implications.
     
  • Information Systems Knowledge - Identifies means of integrating technical support requirements with enterprise processes and strategies. Identifies technological opportunities to meet client needs. Creates information system solutions to meet the needs of business stakeholders. Partners with appropriate technical consultants, experts, and managers to resolves complex problems across all IT solutions.



Similar Positions