CICD Programmer Analyst II

University of British Columbia



Staff – Non Union

Job Category
M&P – AAPS

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

Job Title
CICD Programmer Analyst II

Department
OCIO | Integration Enablement Center

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
March 30, 2024

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

Job End Date

Job Description

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
This role will be hired in the UBC-IT/IEC and will focus on the ongoing sustainment and continuous improvement of APIs and related systems.

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

This position is a specialized position that includes the set-up, maintenance and ongoing development of continuous build/ integration infrastructure; creating and maintaining fully automated CI build processes for multiple Mulesoft and AWS environments; writing build and deployment scripts.

The incumbent plays an important role in 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 UBC IT, and the broader IT community. The incumbent, working in concert with the Senior Programmer Analysts, will develop data integration solutions, including aspects of the UBC Application Programming Interface (API), as necessary, to satisfy the ongoing data integration 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 CICD Programmer Analyst II reports to the Senior Manager, Integration Enablement Centre (IEC), and takes direction and guidance from the IEC DevOps Manager.

The IEC is responsible for the selection, acquisition or development, deployment and operation of the suite of applications related to enterprise data integration. The IEC works closely with core UBC IT teams (e.g., NMC and Systems), and with ERP program and sustainment teams to ensure that all releases to production of integration applications are of the highest quality.

In particular, the incumbent will work with other Analysts to ensure the highest quality of solution delivery.

Additionally, the incumbent will interact directly with third party vendors, other University technology professionals and with faculty, staff and students.

Work Performed

Specific Duties

o   Contributes to the UBC API strategy and promotes adoption throughout the organization.

o   Works with Senior Programmer Analysts to investigate, analyze, estimate, design, develop, test, document, and implement UBC APIs and API-centric integrations.

o   Develops robust, highly disciplined and maintainable data integration applications; builds APIs, System Adapters, Message Flows and Compositions.

o   Serves as a data integration consultant for integration partners and proposes solutions for integrations requirements. Provides advice to and consults with stakeholders on complex system design issues and provides technical opinions on the viability or suitability of techniques and methodology to meet integration objectives and goals.

o   Develops proofs-of-concept and prototypes to illustrate potential solutions to technical and functional problems.

o   Implements customized tools and applications and prepares functional specifications and builds proof-of-concept test environments. Develops technical specifications for system development, testing and conversion processes, within established UBC IT’s technical architecture.

o   Prepares training plans, training materials, and trains staff as required during system implementation. May provide configuration and implementation training for subsequent releases of third party applications.

o   Contributes to designing detailed integration strategies, approaches, and plans under the guidance of Senior Programmer Analysts.- Contributes and adheres to standards, structures, and techniques for data integrations.

o   Creates technical design documents to communicate solutions.

o   Facilitates and conducts design and code reviews for other Programmer Analysts to ensure efficiency and adherence to development standards.

o   Contributes to the development of integration specifications.

o   Builds and maintains working relationships and collaborates with others to achieve objectives.
 

Core Duties:

o   Utilizes CI/CD tools integration/ operations/ change management, and maintenance.

o   Support full automation of CI/ Testing.

o   Supports the development of policies, standards, guidelines, governance and related guidance for both CI/CD operations and for work of developers.

o   Help on-board/ train and support developers from source control, through build automation, merge resolution, CI, test automation, deployment based on tools usage and policies, standards.

o   Enable DevOps by moving code from Dev/Test to Staging and Production. Troubleshoot issues along the CI/CD pipeline. Designs, develops and programs custom software, defines detailed application specifications, standards, and diagrams and develops coding logic flowcharts.

o   Develops overall systems design, researches and evaluates vendor supplied applications, provides customize or develop recommendations, and implements accordingly.

o   Analyzes and reviews existing or proposed system features and integration, security, scalability and performance requirements with clients, business analysts, and team members

o   Packages in house developed applications for production or integrates vendor supplied applications.

o   Develops or modifies software application design and specific modules.

o   Conducts testing of new or customized application modules to ensure application meets specifications.

o   Documents functions and changes to new or modified modules, tests activities/results, error handling and backup/recovery procedures.

o   Provides ongoing maintenance and operational support for applications.

o   Supports software development lifecycle and applies and follows appropriate programming/development methodologies and best practices.

o   Maintains appropriate professional designations and up-to-date knowledge of current information technology techniques and tools.

o   Performs other related duties as required.

Consequence of Error/Judgement

Information Technology plays a key role in enabling the University to achieve its goals of becoming one of the world’s leading post-secondary institutions. The incumbent plays a significant role in the implementation of enterprise-wide systems and processes. Should these projects not be completed successfully or the results not support the activities of the University, this could compromise the University’s ability to achieve its strategic goals and vision. Inability of systems and processes to support the University’s needs could seriously compromise daily business activities.

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

Supervised by the IEC DevOps Manager, whom along with the incumbent, report to the Senior Manager, IEC.
Works autonomously in accordance with general instructions as to methods and procedures. Work is reviewed by the DevOps Manager in terms of achievement of desired results.

Reports to the Associate Director, Program Delivery for daily project-based activities and tasks, and may work under the direction of a Senior Programmer Analyst for specific project tasks. Results are reviewed by the Associate Director, Program Delivery for achievement of overall project and long-term career objectives.

 

Supervision Given

May provide guidance, coaching and technical leadership to less experienced Programmer Analysts.

The Programmer Analyst II may direct and coordinate the work of other Programmer Analysts, Business Analysts, QA Analysts, users and 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

o   Strong skillset and experience establishing CI/CD pipelines using Mulesoft and AWS DevOps.

o   Strong skillset on integrating and operating Static and Dynamic Code Scans for security testing, OpenSource Code Scan with pipelines

o   Strong skillset on integrating Automated Function and Performance tests with in AWS DevOps pipelines

o   Background on automated packaging and deployment of infrastructure and applications via AWS DevOps pipelines

o   Skills and experience in AWS along with scripting and development

o   Ability to provision, monitor, optimize and scale AWS/Mulesoft infrastructure using API’s

o   Knowledge and/or experience on designing, developing, deploying, and CI/CD in a DevOps environment

o   Experience with Docker containers and Kubernetes and other types of Microservices and Container technologies highly preferred

o   Experience with application load balancing solutions for scaling and HA is a plus

o   Linux and Windows administration experience is a plus

o   Well versed in internet architectures, including web, application, and database components

o   Understanding of firewalls, NAT and packet filtering (specifically lptables)

o   General Networking skills expected

o   Interest and ability to learn other technologies and tools as needed

o   On-hands experience with various AWS and open-source based platforms is a plus (such as IIS, MsSQL, Apache, Tomcat, MySQL, Postgres, Mongo, Redis, Cassandra, etc.)

o   Demonstrated knowledge of and experience working with Enterprise Application Development tools (Java, 4GL, business process engines, etc.) implementing Enterprise Application Development Patterns.

o   Demonstrated knowledge of and experience working with Enterprise Application Integration tools (ETLs, ESBs, etc.) implementing Enterprise Integration Patterns.

o   General knowledge and/or experience of standard industry methodologies for large COTS implementation programs.

o   Very good oral and technical written communication skills.

o   Very good working knowledge of programming/scripting/markup languages such as Java, Groovy, Python, Perl, HTML, XML, JSON, etc.

o   Strong working knowledge of SOAP/REST concepts and technologies: XSD, XSLT, XPATH, WSDL, SOAP APIs, WS-\*, JSON Schema, RAML/Swagger, RESTful

Competency Proficiency:

Core Competencies:
 

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.
 

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

Role Based Competencies

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.

View or Apply
To help us track our recruitment effort, please indicate in your cover/motivation letter where (vacanciesincanada.ca) you saw this job posting.