Responsibilities Required to translate technical systems specifications into working, tested applications. This includes:
Developing detailed programming specifications
Writing and/or generating code
Compiling data-driven programs, maintaining, and conducting unit tests
Analyzing, designing, developing, coding, and implementing programs in one or more programming languages for Web and Rich Internet Applications
Supporting applications with an understanding of system integration, test planning, scripting, and troubleshooting
Designing and developing REST API platform (e.g., with using Apigee/APIM)
Converting web services from SOAP to REST or vice-versa
Resolving and troubleshooting technical problems which arise during the use and operation of software packages, including technical assistance in implementation, conversion, and migrations.
General Skills:
Experience in programming and analysis; specialized software package support at the specified experience level
Ability to collaborate with IT Professionals throughout the Software Development Life Cycle
Experience in structured methodologies for the development, design, implementation, and maintenance of applications
Experience in design, code, test, debug, and document applications
Experience in the use of object and/or third generation language development tools
Experience in one or more programming languages
Experience in application design, latest design patterns, deployment, and troubleshooting
Experience with relational and hierarchical database technologies
Experience in the use of information retrieval packages using query languages
Experience with one or more communications protocols
Experience eliciting and documenting information from diverse business area stakeholders and subject matter experts
Excellent analytical, problem-solving, and decision-making skills; verbal and written communication skills; interpersonal and negotiation skills
A team player with a track record for meeting deadlines
API Skills:
Experience with Web Technologies (DHTML, AJAX, etc.)
Experience with Security frameworks (e.g., JWT, OATH2)
Experience in API layer like security, custom analytics, throttling, caching, logging, monetization, request and response modifications etc. using Apigee
Experience in creating REST API documentation using Swagger and YAML or similar tools desirable
Experience with Integration frameworks (e.g., Mule, Camel) desirable
Desirable Skills:
Knowledge and experience with programming Internet-ready applications
Knowledge and experience in rapid application development (RAD) methodologies
Knowledge and understanding of Information Management principles, concepts, policies, and practices
Experience with middleware and gateways
Experience reviewing, analyzing, and modifying product installation scripts including encoding, testing, debugging
Ability to provide post-implementation support and resolve any post-implementation technical issues
Experience conducting design walkthrough sessions with project team
Knowledge and understanding of Accessibility for Ontarians with Disability Act (AODA) and related regulations and standards
Ability to provide user and system documentation as required
Experience (30%):
Experience in programming and analysis; specialized software package support at the specified experience level
Ability to collaborate with IT Professionals throughout the Software Development Life Cycle
Experience in structured methodologies such as Agile Scrum for the development, design, implementation, and maintenance of applications
At least 3 years of Entity Framework or Entity Framework Core or other .NET supported ORM technologies like Dapper
At least 3 years of Sql Server or similar relational database management systems (RDBMS)
At least 3 years of source control e.g. Git
At least 2 years of REST API development
At least 3 years of developing secure .NET applications. E.g. token or claims based authorization, authentication/authorization technologies such as OAuth, Windows Auth, Basic Auth, etc.
Basic understanding of the .NET framework. I.e. Common Language Runtime (CLR), Intermediate Language (IL), memory management (especially related to proper use of handles), etc.
At least 2 years of the OpenAPI specification (Swagger)
At least 2 years of .NET cloud development
At least 2 years of integrating software monitoring and analytics/logging platforms
Working experience of asynchronous programming and event-based patterns.
Working knowledge of robust design patterns that enforce software modularity, reusability, testability, and extensibility.
Working experience of unit tests
Working experience of documenting and versioning software
Working knowledge of docker containers and server platforms such as IIS
A solid understanding of OOP principles
Experience with react and node.js
At least 3 years of Open API Specification and Swagger
Experience in design, code, test, debug and document applications
Experience in application design, latest design patterns, deployment, and troubleshooting
Experience with one or more communications protocols
Experience eliciting and documenting information from diverse business area stakeholders and subject matter experts
Excellent analytical, problem-solving, and decision-making skills; verbal and written communication skills; interpersonal and negotiation skills
Technical Skills (30%):
Required to translate technical systems specifications into working, tested applications.
Technical skills and hands-on experience to reflect the technologies noted in experience above (Java, Azure, etc)
This includes:
Developing detailed programming specifications
Writing and/or generating code
Compiling data-driven programs, maintaining, and conducting unit tests
Resolving and troubleshooting technical problems which arise during the use and operation of software packages, including technical assistance in implementation, conversion, and deployment
Communication Skills (10%):
Strong communication skills to prepare documentation, including but not limited to: solution documentation, user manuals, reports, reviews, assessments
Ability to present ideas and suggestions clearly and effectively and in a user-friendly manner; maintain a high level of customer service to both internal and external clients
Ability to communicate designs and development in a clear and understandable manner