Java Backend Developer
Job Description
Level 4
Job Description:
We are a leading global financial services firm providing a wide range of investment banking, securities, investment management and wealth management services. The Firm’s employees serve clients worldwide including corporations, governments and individuals from more than 1,200 offices in 43 countries.
It’s sizeable investment in technology results in quantitative systems, cutting-edge modelling and simulation software, comprehensive risk and security systems, and robust client-relationship capabilities, plus the worldwide infrastructure that forms the backbone of these systems and tools.
The Firm-wide Model Control System is the cornerstone of the Firm’s model risk management, used by front-office, control and oversight functions. This is a high-profile system, with visibility at the highest levels of the Firm.
The team follows agile principles, and has a strong product owner team which allows for close collaboration with the business users. The system is being heavily invested in with new feature development, as well as incorporating devops practices and performance improvements.
The team follows agile principles, and has a strong product owner team which allows for close collaboration with the BU. The system is being heavily invested in with new feature development, as well as incorporating devops practices and performance improvements. We are looking for an experienced, hands-on Java developer to work in a team with over 20 people, of which 14 are java server side developers. Members on the team have direct access to the business unit, and must be able to juggle multiple priorities at a given time.
The candidate needs to be a self-starter, smart, and a highly motivated team player with effective communication skills. In addition, the candidate must value producing quality software and have a solid grounding in computer science fundamentals.
We would need someone who can assume responsibility for projects within the system. Their goal will be to clarify business requirements, and ensure consistent, clean code is implemented with timely delivery. The right candidate should enjoy working in a highly collaborative environment that values team work and offers a lot of flexibility as long as productivity and quality is there.
The required skills are:
– Very strong analytical and problem solving abilities
– 7-15 years of experience in Java backend development
– 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 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
– Strong knowledge of BDD (behavior-driven development) with JBehave/Cucumber
– Strong Knowledge of Relational Databases and SQL (DB 2)
– Good Knowledge of Non-Relational Databases and No-SQL (Mongo DB)
Nice to have:
– Experience with TDD (test driven development)
– Good Knowledge of BPM and BPMN tooling
– Knowledge of Snowflake DB
– Knowledge of HTTP, XML, JSON
– Knowledge of react js
– Knowledge of Unix/Linux
– Knowledge of Liquibase database schema management