Staff - Non Union
Job Category
M&P - AAPS
Job Profile
AAPS Salaried - Information Systems and Technology, Level C
Job Title
Application Programmer Analyst
Department
DAE Information Systems
Compensation Range
$5,906.25 - $8,508.42 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
October 26, 2023
Note : Applications will be accepted until 11 : 59 PM on the day prior to the Posting End Date above.
Job End Date
Job Description Summary
The Application Programmer Analyst, creates, implements, launches and maintains integrated or standalone computer application solutions for existing complex or DAE wide computer systems requirements.
The Application Programmer Analyst plays an important role in all aspects of the software development cycles of strategic Development and Alumni Engagement (DAE) systems, from design to implementation.
These systems include solutions for Donor and Alumni Constituent Relationship Management, Call Centre Management, Payment and Funds Management, Event Management, Help Desk Ticketing, Digital Asset and Document Management, Source Control, Continuous Integration and Release Management, Authentication and Application Access, Web Infrastructure and Interface Systems, Endpoint Management for Application Data Integration.
Organizational Status
Reports to the Director, Information Systems, DAE, IS.
The position works under the direct supervision of the Software / Web Architects and Managers, works with Senior Programmer Analysts, Business Architects / Analysts and Project Teams and consults with end users within DAE to understand their business needs, information architecture and technical requirements, then develops and launches to ensure the highest quality of the computer systems and solutions are promoted into DAE s production environments.
The position interacts directly with other University technology professionals and with faculty, students and Library staff.
Work may also be directed and reviewed by a Senior Programmer Analyst or Project Manager for a specific project.
The position takes an active, participatory role in ensuring the reliability and availability of DAE critical systems including designing information technology solutions, deployment management to live systems, application monitoring, problem analysis and resolution, and ensuring services meet or exceed customer service levels at all times.
Work Performed
- Under Software / Web Architects and Managers supervision; works with the Data Architects and Senior Programmer Analysts to provide input into both the Application and Technical architecture as they relate to the DAE Information System
- Using a variety of vendor-supplied, in-house and other systems development tools, develops, implements, and provides support for DAE applications and their automation and integration
- Participates in design and code reviews for other Programmer Analysts to ensure efficiency and adherence to development standards
- Works with other developers, UX Architects / Designers and Data Engineers and Architects on the various design elements associated with software development
- Ensures that designs developed by the incumbent are incorporated into Technical Specifications as required, and that these specifications are updated as changes occur
- Builds and maintains good working relationships and collaborates with others to achieve business endusers objectives
- Provides input into decisions within established guidelines regarding the application of computing devices or programs to meet set requirements or makes decisions regarding solutions to defined problems.
Core Duties :
- Designs and implements computer application solutions, integrates systems, defines detailed application specifications including program language, testing procedures, standards, and diagrams and develops coding logic flowcharts
- Develops overall systems design, researches and evaluates vendor supplied applications, provides recommendations, or implements software customization accordingly
- Analyzes and reviews existing or proposed system features and integration, security, scalability and performance requirements with clients, business analysts, and team members
- Provides recommendations on purchase of hardware, software and network equipment requirements and evaluates vendor solutions and installs and manages servers and networks
- Packages in house developed applications or customizes and integrates vendor supplied applications, builds and deploys to production systems
- Provides technical expertise, training, and consultation to other staff
- Develops or modifies software application design and specific modules
- Conducts testing of new or existing customized application modules to ensure application meets business functionality requirement and technical 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 these systems. Unreliable systems and code errors that disrupt the operations of these system, or failure to meet contractual obligations for performance and availability will damage the reputation of UBC and DAE-IT.
This could adversely impact funding and revenue and University community, including the large majority of students, faculty and staff.
Given that the incumbent will work with very sensitive data, including payment card information and donor personal information, the Application Programmer Analyst is expected to follow all UBC Information Security Standards, and to exercise judgment, diplomacy and tact in all interactions.
Standards of customer service are essential. Errors in reports or data pulls could have serious negative implications. Poor judgment or inferior standards of customer service could negatively impact potential fundraising opportunities, the ability for our fundraisers to engage donors, and could damage the university s reputation or increase the university's risk profile.
Supervision Received
Works with considerable latitude and with regard to methods and procedures. Work is reviewed in terms of achievement of broad objectives and goals.
Reports to Director, Information Systems, DAE, IS, DAE Services Information Systems. The incumbent may report to the Project Manager for specific project-based activities and tasks, and may work under the direction of a Senior Programmer Analyst for specific project tasks.
Supervision Given May provide guidance, coaching and technical leadership to, and provide feedback on performance of less experienced Technical / Programmer Analysts.
The Application Programmer Analyst may direct and supervises work of other Programmer Analysts, Business Analysts, QAs, users and other staff as required in implementation of solutions.
May provide input / recommendations into the hiring and evaluation of staff.
Supervision Given
Provides day-to-day direction and guidance to DAE Application Developers and creates coding practices and frameworks for off-the-shelf product customization, in-house applications and endpoints development that will be used by all DAE IT staff.
May supervise, plan, direct and evaluate work of other application developers, technical analysts, programmers, testers or any other contract and / or vendor staff performing technical or functional duties during a project.
Preferred Qualifications
Undergraduate degree in a relevant discipline.Undergraduate degree in Computer Science preferred. Demonstrated ongoing career development through active and self-motivated professional developmentMinimum of three years experience or the equivalent combination of education and experience.
In-depth knowledge of design and development and management of software applications, converting project and business requirements into information technology solutions, supporting them.
- Solid understanding of designing and implementing secured web services for applications, security models for authorization and access integration is required
- Strong knowledge and practical experience using many of the following; core object-oriented analysis and design concepts, design techniques and patterns, configuration management concepts and tool.
- Developing database-driven, object-oriented, .NET applications (VB or C#) or Java required
- Experience and knowledge of extending existing applications functionality by leveraging its SDKs and APIs is required
- Experience with application lifecycle and release pipeline management required particularly working with Team Foundation Server (TFS) or other team-based application development and source control tools
- Three or more years working with complex SQL databases in an enterprise environment required
- Understanding of design and architecture of relational databases and knowledge of working with Relational Database Management System (RDBMS) tools an asset
- Knowledge of Customer Relationship Management (CRM), Payment Gateway, Content, Digital Assets, Event, Help Desk, Source Control, Continuous Integration and Deployment Management Systems is an asset
- Experience with CRM technology such as Blackbaud CRM, Raiser s Edge NXT, Salesforce, etc. is an asset
- Knowledge of authentication methods and systems (LDAP, Shibboleth, Active Directory) current operating systems (Linux, Windows)
- A good understanding of SOA, Integrations, and Cloud Software
- Hands-on experience in designing and developing high data volume web services using API Protocols and Data Formats (REST, JSON, SOAP, GraphQL, and XML)
- Experience with application routines migration or consolidation in which one or more legacy systems are replaced or the business activity that usually entails working with new technologies.
In example; consolidating CRM customization and routines upon financial management and human capital management systems replacement
- Experience in service transformation, routing, enrichment orchestration with API Products like Mulesoft or similar platform in designing API facades, designing and implementing API Proxie
- Experience and knowledge of Web programming (e.g., Ruby, Perl, PHP, Javascript), XML / XSL and other Internet / Web standards
- Candidates with the knowledge of network and systems administration and firewalls is strongly preferred
- Experience dealing with compliance requirements (such as PCI-DSS, SOX or other compliance requirements) is an asset
- Knowledge of data access and privacy with a focus on the BC Freedom of Information and Protection of Privacy Act, Canadian Anti-Spam Legislation security and confidentiality agreements is an asset
- 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 cause analysis. Sets up and integrates new and enhanced information systems
- Identifies end users needs and determines the appropriate approach to apply and ensure resolution. Solicits the input of appropriate technical experts and managers as required
- Equity and diversity are essential to academic excellence
- An open and diverse community fosters the inclusion of voices that have been underrepresented or discouraged