Senior Developer

University of British ColumbiaVancouver, BC
CA$9,859 - CA$15,381

About The Position

UBC has embarked on a multi-year journey to transform its academic and administrative support processes and system environments for the entire UBC community. In November 2020, UBC successfully went live with its new HR and Finance implementation of Workday. The Integrated Renewal Program (IRP) is now focused on the journey to renew the Student information ecosystem, anchored by the implementation of Workday Student. The Integrated Renewal Program—Student (IRP Student) vision is to transform the way UBC supports learning and research, and how UBC works, to create a cohesive, integrated, and enriched experience for students, staff, and faculty. This implementation will result in superior support for UBC students, a better user experience, a new set of tools, a new way of working, and improved reporting for informed decision-making. IRP Student will leverage the industry-leading cloud enterprise solution Workday to replace our current core Student administration systems with a new integrated, user friendly, mobile-enabled platform. For more information on the IRP Student, please visit www.integrated-renewal.ubc.ca The Senior Developer leads the analysis, design and review of existing or proposed system features and requirements and devises computer programs, systems and related procedures. 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 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 Solution Delivery Center (SDC) is a unit within the Integrated Renewal Program – Student responsible for developing technical solutions at UBC to enable the University, faculty, staff, students and partners to have business solutions developed with appropriate toolsets. The SDC is responsible for the selection, acquisition or development, deployment, and operation of the suite of applications related to enterprise integrations. The SDC works closely with core UBC IT and IT Enabled project teams to ensure that all releases to production of solutions and supporting toolsets are of the required quality. Services are delivered through the use of Information Technology best practices and customer focused processes to enable stakeholders to achieve UBC objectives. The Senior Developer will report to a Technical Project Manager within the SDC.

Requirements

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

Nice To Haves

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

Responsibilities

  • Work with development teams and management to create software solutions
  • Manage the complete software development process from conception to deployment
  • Maintain and upgrade the software following deployment
  • Manage the end-to-end life cycle for the production of software and applications
  • Oversee and guide 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 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.
  • 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.
  • 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.

Benefits

  • 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.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service