Senior Java Developer
Montreal, Québec, Canada
March 7th 2019
The Firm-wide model control system is the cornerstone of the Firm’s model risk management, used by front-office, control and oversight functions. With increased regulatory attention to model risk management, the system was largely re-written last year, using the latest technologies. This is a high-profile system, with visibility at the highest levels of the Firm. While a lot of work has been completed, a number of related systems still need to be redesigned and connected. We are also planning to continue extending the core system.
We are looking for an experienced, hands-on senior Java developer to work in a team of 8-10 people. Members of our team have access to the business unit and have direct input into software design. Therefore the candidate needs to be a self-starter, smart, and a highly motivated team player with clear communication skills.
In addition, the candidate must value producing quality software and have a solid grounding in computer science fundamentals.
As one of the leaders, the new hire would be expected to oversee and mentor a group of more junior developers, to develop a partner relationship with the business, to provide significant input into the architectural direction of the project as well as write code.
We would prefer someone who can assume responsibility for a number of subcomponents as well as lead, oversee and mentor other developers working in these areas. The right candidate should enjoy working in a highly collaborative environment that values teamwork and offers a lot of flexibility as long as productivity and quality is there.
Very strong analytical and problem solving abilities.
Very strong knowledge of software design principles: MVC, data structures, graph data, algorithms, design patterns, multithreading, caching, recursion.
Strong knowledge of core Java: class loading, garbage collection, Java collections API, Reflections API, Java 8 Streams and Functional Programming.
Strong knowledge of Object Relation Mapping technologies: JPA/Hibernate.
Strong knowledge of common Java frameworks (Spring, JSR-303, Logback, Junit, Apache Commons).
Strong Knowledge of Relational Databases and SQL.
Strong knowledge of BDD (behavior-driven development) with jBehave.
Experience with TDD (test driven development).
Strong knowledge of GIT source code management.
Knowledge of Gradle, Jenkins automated build processes.
Strong knowledge of Representation state transfer (RESTful Web services).
Strong knowledge of enterprise Java: JAX-RS, JTA, Jetty/Tomcat- Knowledge of HTTP, XML, JSON.
Knowledge of Unix/Linux.
Knowledge of Liquibase database schema management.
Job ID: A2294