Computer Programmer III

  • Vancouver
  • City Of Vancouver
Main Purpose and FunctionThe Computer Programmer III performs advanced programming work which requires a very wide knowledge of subject matter, systems analysis, platforms and programming techniques. It is distinguished from the Computer Programmer Analyst class by the greater complexity of the programming and analysis work performed and by the ability to adapt and alter software vendors’ applications to meet local complex requirements. An employee in this class may act in a work or project leader or supervisory capacity with other programmers or as a member of a programmer-analyst team, e.g. showing leadership in the development of standards for the Branch which are consistent with IT standards. The Computer Programmer III works closely with the analyst staff and other members of the Team to achieve the overall objectives of the Branch, IT and the City. He/she makes his/her knowledge and experience of computer techniques available for the solution of programming and procedural problems. The employee in this position may have access to confidential information relating to a variety of proposals for changes in methods and procedures of operation which may affect wage or salary rates, workloads, working conditions, promotional opportunities, or changes in employment. A Computer Programmer III exercises considerable independence of judgement in all technical aspects of work. Specific Duties/Responsibilities Is a provider and leader of technical application support for a wide range of platforms including desktop, network, client server, mobile, web, cloud and externally hosted environments involving various office productivity tools, programming languages, operating systems, database products and other technologies. Some of these computer applications are internally developed and others are purchased 3rd party applications. Works with business clients, Applications Development Branch staff or project members in the development of user requirements and solutions Develops and enhances applications which provide solutions to business problems Proposes and documents technical standards, guidelines, and architecture for a range of application platforms supported by the Branch, to ensure consistency and continuity with the City’s technology base Manages small projects relevant to Branch applications Provides technical assistance for others and coordinates the development and integration of programs including debugging and testing. Determines how to best meet user requirements whether through programming, configuration, or other means Keeps up to date with developments in programming techniques, languages and software Assists in the training and development of other members of the Branch and in the orientation of systems analysts. Keeps current on related technologies Other duties/responsibilities as assigned Minimum Position Requirements Diploma in Computer Systems Technologies or a Bachelor degree in Computer Science/ MIS or Commerce/with a minor in Computer Science or an equivalent combination of training and experience is preferred. Must have at least 5 years proven experience in software development in a project environment for a range of environments, platforms and tools, including: application design / development / deployment, user interface design, data integration, data extraction, data analysis, reporting, and database design Combination of strong technical, analysis and business skills is required Ability to collect, analyze and evaluate information required for programming purposes Minimum 2 years of experience in modern application integrations that make use of Logic Apps and other Azure-based event-driven technologies Thorough knowledge of programming technologies: .NET Core, Python, React, JavaScript Thorough experience developing in .NET (4.7+) environment, Web API, RESTful API, MVC, Web Services Thorough experience developing in low-code development platforms (OutSystems, ServiceNow, Power Platform) Thorough experience working with SQL Server, Oracle PL/SQL, ADO.NET, Entity Framework, and database reporting and integration frameworks (e.g. SSRS, SSIS) Experience in deployment techniques, CI/CD continuous integration / delivery, deployment automation, GIT, DacPac Experience in writing Unit Tests, Functional tests, and test automation (e.g. Selenium) Experience with API Management and Integration Platforms (API design, gateways, analytics) Thorough knowledge of the application development lifecycle including approaches and practices, tools for design, requirements gathering, documentation and testing Knowledge of business practices and processes Excellent leadership skills and ability to develop and mentor others Excellent analytical and problem solving skills Excellent oral, written and presentation skills with ability to communicate to all levels of the organization Ability to develop, document, review and revise work and strategic plans Ability to manage projects, multiple priorities and respond to requests in a timely manner Ability to establish and maintain effective working relationships both internally and externally Ability to handle business critical and sensitive information Demonstrated ability to work under pressure Where operationally appropriate and subject to change, the City of Vancouver has a Flexible Work Program. This program allows staff to work remotely 1 – 4 days a week from locations that are a daily commutable distance from their work at a City worksite. At this time this position is eligible to be part of the Flexible Work Program. Business Unit/Department: IT, Digital Strategy & 311 (1070)