Senior Programmer Analyst

Updated: 8 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 E


Job Title
Senior Programmer Analyst


Department
OCIO | Program Delivery


Compensation Range
$9,572.08 - $14,932.75 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 20, 2024

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

Job End Date

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 Senior Programmer Analyst with expertise in Appian to join our team.

The Senior Programmer Analyst leads the analysis, design and review of existing or proposed system features and requirements and devises computer programs, systems and related procedures.

The incumbent all aspects of the planning, implementation and operation of an enterprise-scale data integration solution for the University of British Columbia that transforms the processes and systems by which 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 Senior 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 development teams and management to create software solutions
  • leads the complete software development process from conception to deployment
  • Oversees the maintenance and upgrade of the software following deployment
  • Manage the end-to-end life cycle for the production of software and applications
  • Provides technical guidance on the analysis, writing, building, and deployment of software 
  • Oversee automated testing and provide feedback to management during the development process 
  • Modify and test changes to previously developed programs
  • Develop visually appealing solutions including architecture, designer mock-ups and wireframes into front-end code
  • Design user interactions for solutions
  • Develop functional databases, applications, and servers to support solutions on the back end
  • Ensure cross-platform optimization for mobile if required
  • Develop and design BPM solutions, RESTful services and APIs
  • Stay abreast of developments in web applications, 4GL BPME, rule engines and programming languages
  • Strategize organizational direction on emerging technology platforms and communicate the effectiveness to executive stakeholders
  • Stay current and provide insight on cutting edge software approaches, architectures, and vendors
  • Manage and write technical documentation.
  • Ensure that non-functional requirements such as security, performance, maintainability, scalability, usability, and reliability are being considered when architecting solutions.
  • Keep job knowledge up-to-date by studying new development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal and professional networks; participating in professional organizations.
  • Facilitates and conducts design and code reviews for other Programmer Analysts to ensure efficiency and adherence to development standards.
  • Coaches and trains other Programmer Analysts in the areas of automations and integrations.
  • Build and maintain working relationships and collaborates with others to achieve client objectives.

Core Duties:

  • Provides technical leadership in the analysis and review of existing or proposed system features and integration, security, scalability and performance requirements with users, business analysts, architects and team members.
  • Leads the evaluation and selection process for application packages, and advises on options, risk, cost vs. benefits, and impacts on business processes and goals.
  • Develops system test plans, oversees testing of new or modified applications and ensures applications meet specifications.
  • Develops integration plans and ensures for the incorporation of plans into integration testing process.
  • Ensures documentation of functions and changes to new or modified modules, tests activities/results, error handling and backup/recovery procedures.
  • Designs, develops and programs specialized custom software, prepares functional specifications, and builds prototypes.
  • Provides expert advice on complex system design issues and contributes to ongoing planning and development of systems enhancements.
  • Packages in house developed applications for production or integrates vendor supplied applications.
  • May manage small to medium sized projects.
  • Provides technical expertise, training, and consultation to other staff.
  • Provides ongoing maintenance and operational support for applications.
  • 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.
  • Performs other related duties as required.


Consequence of Error/Judgement
 

  • Effective coding is essential for the delivery of UBC IT services to the departments and faculties. Decisions and actions taken by the Senior Programmer Analyst will have a direct impact on how efficiently and effectively UBC Applications will perform and function.
  • The incumbent takes an active, participatory role in ensuring the reliability and availability of UBC mission critical 24x7x365 systems including application monitoring, tier 2 support, problem analysis and resolution, and ensuring services meet or exceed customer service levels at all times. 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 reliable operations of these system will damage the reputation of the University.


Supervision Received
 

The Senior Programmer Analyst works within the program delivery team that consists of Business Analysts, Developers, functional experts, and other project specialists, and reports directly to the Senior Manager, while working closely with senior leadership and staff in other administrative and academic units.
Supervision Given

Provides guidance, coaching and technical leadership to less experienced Programmer Analysts. Conducts peer reviews of the designs and implementations of colleagues. Provides feedback to Managers on other Programmer Analysts' performance and makes recommendations for facilitating improvements.

Directs and coordinates the work of other Programmer Analysts, Integration Analysts, Business Analysts, QA Analysts, users and other staff assigned to projects.

Provides input/recommendations into the hiring and evaluation of staff.


Minimum Qualifications
Undergraduate degree in a relevant discipline. Minimum of eight years of related experience including at least two years of managerial 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.

Ability to keep current with developments and trends in information technology.

Technical qualifications include:

  • 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 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 business process management solutions.
  • 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.
  • Experience in designing, developing and implementing business process management solutions like Appian.
  • -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 Advanced - A:  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.

Communicating for Results Advanced - A:  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 Advanced - A:  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 Advanced - A:   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 Advanced - A:  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 Advanced - A:  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