Job Title: Software Developer - Full Stack - Intermediate
Location: Toronto, ON
Work Model: Onsite
Must Have
- Demonstrated experience with React, RestAPI, Github, SharePoint, Microsoft Ecosystem, Power BI, SQL, Azure and Azure DevOps.
- Demonstrated experience with development tools such as NPM / NVM, TypeScript, Yeoman, PnP SPFx, webpack, and gulp.
- Demonstrated experience of web development using HTML, CSS, and JavaScript.
- 10+ years of demonstrated experience in developing N-tier enterprise applications.
- 10+ years of demonstrated experience developing using Java and .NET frameworks, C#, Version 4.6 and above.
- 7+ years of demonstrated experience developing SharePoint web parts, developing APIs that manage SharePoint data such as list items, documents, permissions, integrating third-party apps with SharePoint apps, and connecting SharePoint apps to external databases.
- 7+ years of experience working with Microsoft Azure Cloud Services.
- Demonstrated experience in software development best practices for SharePoint, including code deployment and reviews.
- Demonstrated experience developing applications using Angular 2 and above.
- Demonstrated experience working with Java and .NET Framework, MVC, Web Services and Web API.
- Demonstrated experience troubleshooting and resolving SharePoint issues.
- Demonstrated experience in development and troubleshooting on Microsoft Azure App Services.
- Strong database and SQL skills, preferably MS SQL, Cosmos DB and/or Maria DB.
- Demonstrated experience using Agile methodologies.
Nice to Have
- Entra ID experience.
- Previous OPS or public sector experience.
Responsibilities
- Design, implement, and continuously expand data pipelines by performing extraction, transformation, and loading activities.
- Translate technical systems specifications into working, tested applications.
- Develop detailed programming specifications.
- Write and/or generate code.
- Compile data-driven programs.
- Maintain and conduct unit tests.
- Resolve and troubleshoot technical problems that arise during the use and operation of software packages.
- Provide technical assistance in implementation, conversion and migrations.
General Skills
- Experience in programming and analysis.
- Experience with 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 using object-oriented 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 using information retrieval packages with query languages.
- Experience with one or more communications protocols.
- Experience eliciting and documenting information from diverse business area stakeholders and subject matter experts.
- Experience with application architecture, front-end and back-end integration, and API development.
- Excellent analytical, problem-solving and decision-making skills.
- Strong verbal and written communication skills.
- Strong interpersonal and negotiation skills.
- Team player with a track record for meeting deadlines.
Full Stack Skills
- Proficient with both front-end and back-end development, including associated areas such as database design, database management and DevOps.
- Knowledge and experience with design and implementation of overall web architecture.
- Experience with implementation of approved user interface, design and deployment of database.
- Knowledge and experience ensuring the entire stack is designed and built for speed and scalability.
- Knowledge and experience with the design and construction of REST API services.
- Knowledge and experience integrating front-end UI with constructed APIs.
- Knowledge and experience in design and implementation of continuous integration and deployment.
Desirable Skills
- Knowledge and experience with programming Internet-ready applications.
- Knowledge and experience in rapid application development 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 and debugging.
- Ability to provide post-implementation support and resolve post-implementation technical issues.
- Experience conducting design walkthrough sessions with project teams.
- Knowledge and understanding of the Accessibility for Ontarians with Disabilities Act and related regulations and standards.
- Ability to provide user and system documentation as required.
- High level of knowledge around Angular framework and JavaScript.
- High level knowledge of front-end interfaces.
- Strong knowledge of RESTful APIs and good understanding of Swagger files.
- Demonstrated ability to create self-contained, reusable and testable modules and components that build on the elements and modules of core AngularJS.
- Experience creating, designing and implementing layouts for new and existing web pages.
- Excellent knowledge of front-end web programming languages such as HTML, CSS, JavaScript and AngularJS, with ability to render server-side and client-side content.
- Experience designing user interactions on websites, developing servers and databases for website functionality, and coding for mobile platforms.
- Fundamental knowledge of UX/UI.
- Experience ensuring front-end code is able to query APIs.
- Experience with Java WebLogic and Java programming for web applications, including Tomcat, WebLogic, EJB and Servlet.
- Strong database skills and SQL skills, including Oracle and SQL Server.
- Experience and knowledge of REST and SOAP web services.
- Experience and knowledge of Azure DevOps, JIRA and Agile/Scrum.
Evaluation Criteria
Programming / Development Skills - 40%
- 10+ years of demonstrated experience in developing N-tier enterprise applications.
- 10+ years of demonstrated experience developing using Java and .NET frameworks, C#, Version 4.6 and above.
- 7+ years of demonstrated experience developing SharePoint web parts.
- 7+ years of demonstrated experience developing APIs that manage SharePoint data such as list items, documents and permissions.
- 7+ years of demonstrated experience integrating third-party apps with SharePoint apps.
- 7+ years of demonstrated experience connecting SharePoint apps to external databases.
- 7+ years of experience working with Microsoft Azure Cloud Services.
- Demonstrated experience in software development best practices for SharePoint, including code deployment and reviews.
Technical Skills - 40%
- Demonstrated experience developing applications using Angular 2 and above.
- Demonstrated experience in web development using HTML, CSS and JavaScript.
- Demonstrated experience working with Java and .NET Framework, MVC, Web Services and Web API.
- Demonstrated experience with React, RestAPI, Github, SharePoint, Microsoft Ecosystem, Power BI and SQL.
- Demonstrated experience with development tools such as NPM / NVM, TypeScript, Yeoman, PnP SPFx, webpack and gulp.
- Demonstrated experience troubleshooting and resolving SharePoint issues.
- Demonstrated experience in development and troubleshooting on Microsoft Azure App Services.
Other Skills - 20%
- Demonstrated experience writing SQL and Stored Procedures, preferably in MS SQL and Cosmos DB / Maria DB.
- Demonstrated user-experience design to ensure a strong user-centered experience and iterate in accordance with user-testing.
- Thorough knowledge of SharePoint Online and its features.
- Demonstrated experience using Agile methodologies.