Location: Toronto, Ontario
Duration: approx. 9 months
Knowledge & Skills
- Must be able to work with a team on constructing solutions that fully integrate and collaborate with existing IT systems to solve complex business solutions
- Have a holistic view of enterprise solutions, taking into consideration operational costs, security, performance engineering, application development, and systems management
- Must be capable of playing different roles within the team, from high-skilled developer and technical mentor
- Must have a sound understanding of API, Enterprise Integration Patterns, technology architecture and infrastructure but also very good communication skills, with the ability to adapt them to different audiences
- Java, Angular 2, Spring, Microservices, Cloud, Docker, Kubernetes
- Experience using backend technologies such as Java, Spring MVC, Oracle, PostgreSQL, MySQL, NoSql and Linux
- Strong background in data structures and algorithms and computer science fundamentals
- Ability to build the solution construct in Cloud environment and assist with any migration elements
- Excellent skills in NodeJS, AngularJS (Angular 2 preferred)
- Experience and understanding of CI/CD, automated testing using open source modern frameworks like Selenium, Jenkins etc.
- Strong Web development experience
- Strong Object Oriented experience and knowledge
- Strong understanding of networking, security and infrastructure
- Knowledge of Websphere and Oracle Portal in order to transition to new technology stack
- Assist to identify and define client requirements for the purpose of constructing a suitable solution to meet the business needs; construct proposals for small to medium size projects or draft components of large proposals, demonstrating the added value to be gained from approval and implementation of the proposed project.
- Analyze user needs using structured systems analysis techniques, working closely with client representatives to build system specifications indicating clearly what the system is required to do; evaluate alternative system solutions available and recommend proposed approach.
- Construct, build and test the system, customizing it as required to meet user requirements, including translating system design into program design specifications and developing program specifications to resolve programming problems. Define, analyze and resolve technical issues and develop program specifications.
- Construct programs for installation and install system, including completion of related documentation; provide installation support (on-site/on-call as required). Conduct post implementation reviews and provide technical support and problem resolution as required.
- Function as a team representative on multi-branch projects.
- Perform other related duties as assigned or required.