Deliverables:
- Work with Business Analysts / UX & UI Designer / Product Manager / Cloud Architect, base on storyboard, user stories, UI/UX artefacts, solution architecture, security requirements, data models, develop application design and technical specification document, deliver quality software products (including Minimal Viable Products and Cloud-Native Web Application products, AODA compliance) as required.
- Create object-oriented models in UML as design artefacts using tools such as Power Designer.
- Support Quality Assurance & Defect Management, including Unit Test, Test Automation, Penetration / Vulnerability Test, Load Test, AODA Test, system / user test, migration test, etc.
- Construct / enhance / renew web applications using Cloud-Native / PaaS & Java EE application models (e.g. Microservice Architecture, API-based model, Responsive Web Design, Serverless Architecture, etc), and industry-leading Open Source frameworks like Angular, React / Redux, JSON, Node.js, Spring Framework / Spring Boot / Spring MVC, Lombok Annotations, in addition to Java 1.8+, JDK 11+, EJB, JSP, Servlets, JDBC, JPA, XML (DOM, SAX, XSLT), DHTML/HTML, Web Service, WebLogic (14+) / WebSphere / JBoss / TomCat / WildFly, relational, hierarchical and NoSQL databases
- Provide critical application support (incident investigation, troubleshooting, interim / long-term fixes, maintenance / incremental changes, etc) for complex production Java enterprise Applications
- Provide Method of Procedure (implementation package) document for production releases where required, and operational procedure document for production support staff as required.
- Co-ordinate system development activities and provide technical consultative support to other staff members.
- Provide knowledge transfer to ministry staff at all stages of this assignment.
- Provide post implementation support.
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 process
- Experience in Agile/Scrum methodology for the development, design, implementation and maintenance of applications
- Experience in design, code, test and debugging applications
- Experience in one or more programming languages
- Experience with relational database technologies
- Experience in the use of information retrieval using query languages (e.g. SQL)
- Excellent analytical, problem-solving and decision-making skills; verbal and written communication skills; interpersonal and negotiation skills
Full Stack Skills:
- Proficient with both front-end and back-end development, including any associated areas such as database design/management and DevOps
- Design and implementation of the overall solution architecture
- Implementation of approved user interfaces, design and deployment of databases
- Ensuring the entire stack is designed and built for speed and scalability
- Design and construction of REST API services
- Integrating Front-End UIs with the constructed API's
- Supporting the implementationupkeep of Continuous Integration and Continuous Deployment (CICD) pipelines
Desirable Skills:
- Knowledge and understanding of the Accessibility for Ontarians with Disability Act (AODA) and related regulations and standards
- Ability to provide system documentation as required
Requirements
Experience and Skill Set Requirements:
Must Haves:
- React and NextJS
- Java Enterprise
- Cloud Native
- JSON, Spring Framework, Spring Boot
- Oracle, SQL
Skill Set Requirements:
Microsoft/Azure Development and Quality Assurance Experience:
- Must have:
- Entity Framework or other Object-Relational Mapping data access tools
- REST APIs
- REAT and NEXTJS
- JavaScript and TypeScript
- SQL experience
- Node.js
- Knowledgeable in Web Content Accessibility Guidelines (WCAG) for web application development
- Experience with common React libraries such as Hook Form, React Query, Zustand etc.
- Nice to have:
- Azure SQL
- Responsive Web front-end, Web APIs, and web services design, development, and testing
- Unit testing and test automation support (e.g. NUnit, XUnit, MSTest, Karma or Jasmine)
- Microservices and container-based platform development, delivery, and testing
- JSON
- Rest API, SpringBoot.
- Azure Cloud Development including PaaS and SQL services, or other cloud hosting technologies.
- Regression testing (manual and automated), including familiarity with web-based QA automation software such as Playwright, and supporting the use of such tools via coding techniques
- GIT, Azure DevOps (VSTS/TFS)
- CI/CD pipeline setup and management
Agile Delivery Team Experience:
- Experience participating in Scrum Agile development
- Experience contributing as a Developer or Tester (QA) in a balanced team which is comprised of roles including Developers, Testers, product Management, and Design
- Experience participating and contributing to task planning, daily stand ups, iteration demos, and review meetings
- Providing input to development estimates and designs
- Experience working with a team using concurrent development practices including Git-based source control, feature branches, and DevOps CI/CD pipelines
Business Analysis:
- Experience translating business requirements into software code/implementations
Soft Skills:
- Excellent analytical, problem-solving, and decision-making skills
- Oral and written communication skills; interpersonal and negotiation skills
- Highly developed interpersonal skills