Java Software Engineer - Montreal, Canada - Lorven Technologies Inc.
Description
Job Title: Java Developer
Location:Montreal, QC (Onsite)
Duration: Long term
The required skills are:
Very strong analytical and problem solving abilities
Experience in performance tuning, code profiling, code review, hands on experience using Best Patterns and Practices
Strong knowledge of Object Oriented Programming, Design Patterns, Structures and Algorithms
Very strong knowledge of software design principles: MVC, data structures, graph data, algorithms, design patterns, multithreading, caching, recursion
Backend Java
Strong knowledge of core Java: class loading, garbage collection, Java collections API, Reflections API, Java Streams and Functional Programming
Strong knowledge of Object Relation Mapping technologies: JPA/Hibernate- Strong knowledge of common Java frameworks (JSR-303, Logback, Junit, Apache Commons)
Strong knowledge of Spring frameworks, Spring JPA Data & Spring Boot
Strong Knowledge of Relational Databases, SQL, and NoSQL concept
Strong knowledge of JUnit/Mockito/PowerMock & BDD (behavior-driven development) with Cucumber/Jbehave
Frontend ReactJS/Redux
Strong knowledge of ReactJS & Redux.
Strong knowledge of Web Development: JavaScript, HTML, HTML5, , CSS and CSS3.
Experience with frontend Unit/Integration Test frameworks: Cypress, Selenium and etc..
Good to have:
Strong mindset of DevOps, Test Automation, Automated Continuous Integration and Delivery process
Strong knowledge relational database: DB2 and Sybase
Knowledge of MongoDB & MongoAtlas
Strong knowledge of GIT source code management
Knowledge of Gradle6 or Above, Jenkins Pipeline automated build processes, & Artifactory library repository
Strong knowledge of Representation state transfer (RESTful Web services)
Knowledge of Liquibase database schema management
Knowledge of Docker, Kubernetes & Openshift