Position: [Reference Data] Senior Java Developer
Company: Luxoft
Experience required: 3y
English level: intermediate

Project Description
This project is key client's internal system for gathering/cleaning/transformation/enrichment financial data from external vendors to client internal canonical form.

The project's purpose is to transform financial data received from external sources (Bloomberg, Reuters, Moody's, etc) to customer's internal consistent canonical form. The problem this project address is that data regarding the same financial entity (security) comes in from different sources in different formats with different attributes and different levels of trust in a particular source. In business terms, one Customer's Product consists of collection on incoming pieces of data (instruments) and a set of data transformation/cleaning/enrichment rules must be applied in order to get a consistent product.

The project involves:
- Java 8/11
- Groovy
- Oracle DWH
- MongoDB
- Spring Boot
- Jira / Git / Maven / Grails / Jenkins / TeamCity
- jUnit/Cucumber
- Windows / Linux

Responsibilities
- Work in a distributed worldwide team
- Development of the new features along with bug fixing and supporting existing software
- Participate in peer design and code reviews
- Participate in architecture design planning
- Proactively collaborate with teammates and communicate with remote team members

Skills
Must have
- Strong Java: Core, JDBC, Collections, I/O
- Strong database development: SQL, transactions, isolation level, query optimization
- Strong understanding of data structures and algorithms (e.g. big O notation, red-black tree, hash table, sorting algorithms)
- Good spring-core, spring-beans, spring-jdbc
- Linux shell experience
- Good communication skills
- Java multithreading

Nice to have
- MongoDB experience
- Groovy
- Oracle PL/SQL

Languages
English: B2 Upper-Intermediate