August 2017 Programmer Analyst Gateway Progression Plan Scope: Programmer Analysts (PAs) are part of the IT Services Applications team and provide ERP and enterprise software support, along with software development solutions for custom applications and system integrations. The Programmer Analyst Gateway Progression Plan will allow qualified internal IT personnel to develop the skills required for an entry level Programmer Analyst position, and provide a professional career path for personnel already holding a Programmer Analyst position. The Gateway Progression Plan will comprise of detailed levels of progression, identifying the qualifications (education, certification, and experience), skills, knowledge, and competencies required to advance through each level until the final level of progression is achieved. Minimum requirements for consideration into the plan will also be detailed. The selected trainee may be hired at any of the levels within the progression plan based on his/her qualifications, skills, knowledge, and competencies. An equivalency of education and experience will be considered. One year of undergraduate education will be considered equivalent to one year of demonstrated, progressive, and relevant experience. Experience will not be counted twice. Advancement through each level of progression will be determined in part by the successful completion of the required certifications, and a management review of the trainee s skills, knowledge, and competencies. Each successive level indicates the additional qualifications required beyond the previous level. Once a level is achieved, it is assumed that you have met the requirements for all previous levels. The Gateway Progression Plan and a Memorandum of Understanding between the University and CUPE Local 3799 is currently under review and once completed a finalized copy of each document will be provided to the trainee. 1 P age
Minimum Recruitment - Level I: While UNBC is prepared to develop internal candidates at the basic entry level, we strive to recruit at a higher level externally. Engineering, or related discipline.) ( Equivalent combination of education and experience.) Ability to read and understand SQL queries Systems analysis and design Excellent customer service skills Enterprise systems user account management Programming skills in at least one language Demonstrated understanding of the MVC framework Core Competencies Communication Continuous Learning Flexibility Leadership and Motivation Organizational Awareness Planning and Coordination Problem Solving and Judgment Results Orientation Service Orientation Teamwork and Collaboration Values and Ethics Role Specific Competencies Accountability / Dependability Attention to Detail Business Acumen Information Seeking Innovation Professional / Technical Expertise Relationship Building Research and Analysis PA trainees at this level will be placed in pay grade 7 and begin working towards meeting the qualifications, areas of knowledge, and skills of the next level. To advance to Level II, the trainee must be in good standing, meet the minimum qualifications, and pass objective performance evaluations of Level II areas of knowledge, skills, and competencies. 2 P age
Level II: 1+ years of progressive relevant experience in an enterprise Equivalent combination of education and experience.) ( Successful completion of an approved SQL course.) Working knowledge of GIT distributed source control. Moderate proficiency with SQL and database programming in a relational database such as Oracle, MS Sqlserver, Postgres or MySQL. Competencies: See Level I PA trainees at this level will begin working towards meeting the qualifications, areas of knowledge, and skills of the next level. To advance to Level III, the trainee must be in good standing, meet the minimum qualifications and pass objective performance evaluations of Level III areas of knowledge, skills, and competencies. 3 P age
Level III: 2+ years of progressive relevant experience in an enterprise Equivalent combination of education and experience.) ( Successful completion of an approved database programming course.) A working understanding of other programming languages used at UNBC. Ability to provide peer review of code from other Programmer Analysts. Basic understanding of web development methodologies. Competencies: See Level 1 PA trainees at this level will begin working towards meeting the qualifications, areas of knowledge, and skills of the next level. To advance to Level IV, the trainee must be in good standing, meet the minimum qualifications and pass objective performance evaluations of Level IV areas of knowledge, skills, and competencies. 4 P age
Level IV: 3+ years of progressive relevant experience in an enterprise Equivalent combination of education and experience.) ( Successful completion of one of the following: ZCE OCP First two courses of MCSD web applications or SharePoint) Develop and consume REST web services. Excellent software development skills in at least one of UNBC s current programming languages of choice. (i.e. C#, Java, PHP, or others as needed) Competently use GIT according to UNBC standards. Basic working understanding of Docker: o Understand what Docker is and how Docker can modernize the software supply-chain o Conceptualize a mental model for Docker workflow o Understand the foundations of Docker security and apply secrets management o Understand the foundations of containerization on a single Docker node o Ability to Dockerize an application by writing Dockerfiles o Build a basic Docker image using a Dockerfile. o Run a simple web application container from a Docker image. o Debug a running container using Docker tools, such as Docker logs & Docker exec. Intermediate SQL skills (equivalent to Oracle SQL Fundamentals II course). Competencies: See Level 1 PA trainees at this level will begin working towards meeting the qualifications, areas of knowledge, and skills of the next level. To advance to Level V, the trainee must be in good standing, meet the minimum qualifications and pass objective performance evaluations of Level V areas of knowledge, skills, and competencies. 5 P age
Level V: 4+ years of progressive relevant experience in an enterprise Equivalent combination of education and experience. ) ( One certification credit from the certification pool. (addendum 1) Minimum one year experience working in UNBC IT.) ( A Good working knowledge of at least two of the following web technologies: CSS, JQuery, HTML5, or JavaScript. Advanced PL/SQL or T-SQL programming skills ) ( Basic working knowledge of F5 (at the level of the F5 101- Application Fundamentals exam) Extended working knowledge of Docker: o Create and manage images o Apply a basic continuous integration model for Docker o Understand the usage of volumes o Apply concepts of the Docker networking model o Write stack-based compose files o Understand how Swarm works o Deploy a swarm application and scale it out o Apply common Swarm operations o Create, manage, and update Docker secrets Ability to mentor Training Level and Entry Level Programmer Analysts. Ability to liaise with vendors and peers within other local and provincial organizations. Ability to implement monitoring on software systems to aid in the prevention of downtime and help with diagnostics. Supervise contractor work during software implementations. Project management (1 to 3 people, less than 4 months, 1 stakeholder group). ) Competencies: See Level 1 PA trainees at this level will begin working towards meeting the qualifications, areas of knowledge, and skills of the next level. To advance to Level VI, the trainee must be in good standing, meet the minimum qualifications and pass objective performance evaluations of Level VI areas of knowledge, skills, and competencies. 6 P age
Level VI: 5+ years of progressive relevant experience in an enterprise Equivalent combination of education and experience. ) ( Minimum two years experience in UNBC IT. Two certification credits from the certification pool. (addendum 1) one of the following: MCSD Certification OCE Certification ) Analyze new technology and industry trends, and develop a required direction for UNBC s application services. Intermediate working knowledge of F5 (at the level of the F5 201- TMOS Administration exam). Advanced working knowledge of Docker o Control the Docker daemon o Configure security and TLS o Run applications on multiple containers across multiple host machines o Enable Docker Content Trust o Set up a registry and understand the Docker Trusted Registry o Use Docker Machine, Swarm, and Compose o Manage DTR by creating public and private repositories o Apply Content Trust and image signing with Notary o Perform basic monitoring, logging, and health checks to the cluster Ability to provide mentorship to lower level Programmer Analysts. Ability to sit on and contribute to BCNET committees or working groups. Ability to help write technical RFPs. Ability to draft project charters and establish project plans. Ability to manage procurement lifecycles of software systems. Project management (up to 5 people, up to 8 months, more than 1 stakeholder group). Competencies: See Level 1 PA trainees at this level will begin working towards meeting the qualifications, areas of knowledge, and skills of the next level. To advance to Level VII, the trainee must be in good standing, meet the minimum qualifications and pass objective performance evaluations of Level VII areas of knowledge, skills, and competencies. 7 P age
Level VII: 6+ years of progressive relevant experience in an enterprise Equivalent combination of education and experience.) ( Three certification credits from the certification pool. (addendum 1) Extended working knowledge of F5 ( equivalent to one of the F5 300 level exams). Minimum four years experience in UNBC IT. One of the following certifications: PMP, PMI-PBA, CBAP, or PMI-ACP.) Analyze new technology and industry trends, and develop a required direction for UNBC s application services. Develop standard operating processes for application development, automated builds, and continuous integration. Ability to provide mentorship to lower level Programmer Analysts. Develop skill competency tests for lower level Programmer Analysts. Assist the Manager in the assessment of KSA s of lower level Programmer Analysts for advancement through the progression plan. Ability to lead and contribute to BCNET committees or working groups. Ability to lead the writing of technical RFPs. Ability to draft and manage annual systems budgets. Project management (more than 5 people, longer than 4 months, 3 or more stakeholder groups). Competencies: See Level 1 Trainees at this level will have reached the end of the progression plan. 8 P age
Terms and Conditions: Upon successful completion of each certification or equivalent, the University will reimburse the trainee for any course fees, exam fees, and pre-approved travel expenses. In return, the trainee agrees to a Return of Service Commitment (outlined below). In the event the trainee does not pass the certification exam on the first attempt, the trainee will be responsible for the costs and fees of subsequent exams for the same certification level and the trainee will remain at their current level until he/she passes the required qualifications to advance. Following selection and acceptance into the Gateway Progression Plan, trainees agree to a Return of Service Commitment, as outlined below: Upon successful completion of each certification, the trainee will commit to a minimum of 12 months of continuous employment at UNBC. If the trainee leaves the University prior to completing the 12 months of service, the trainee will be required to re-pay 100% of the costs of the exam and associated course fees and travel expenses, on a pro-rated basis; In the case of a trainee writing the next certification exam within 12 months of completing the most recent certification, the trainee will have the remaining time of his/her return of service extended by an additional 12 months; Definitions: Successful completion of an approved course or approved certification is determined as passing the associated exam of the course taken or challenged. Approved courses / certifications are those listed in the addendum or approved for inclusion in the addendum by management. Education / Experience equivalency Each year of a relevant undergraduate degree equates to one year of relevant experience. Ie. If an undergraduate degree and 2-years of experience is required, then a candidate without any post-secondary education would require 6 years of demonstrated, progressive, and relevant experience to qualify for consideration for the position. 9 P age
Addendum 1 Certification Topic Matrix for Programmer Analyst Only relevant for Level VII Database DevOps MiddleWare Management MySQL (Oracle) Linux (Linux Professional Institute) SharePoint PMP PL/SQL (Oracle) Apache (part of LPI) TomCat EE PMI-PBA T-SQL (Microsoft) IIS (Microsoft) Weblogic CBAP Postgres (EnterpriseDB) Microsoft Certified Solutions Developer PMI-ACP Oracle Certified Drupal Associate Oracle Certified Professional Zend Certified Engineer (PHP) GIT Continuous Integration (Jenkins, Selenium, etc.) Docker F5 NOTE: To ensure competent skill levels as a Programmer Analyst, course selection cannot consist of all courses from a single category listed above. Programmer Analysts need to build their skills across the categories, selecting courses and exams that cover the breadth of knowledge required. A minimum of 1 course from each section is required. Certifications such as the Microsoft Certified Solutions Developer and Oracle Certified Professional in Database Application Development cover off database, DevOps and middleware requirements. 10 P age