Position: Senior Java Developer
Company: Luxoft
Category: Java
Experience required: 5y
English level: intermediate

Project Description
We are building a team to run technology, innovation and support for a world-class investment management institution. The scope of the applications and business areas covers applications and infrastructure support, trading, risk management and reporting, market data processing, market surveillance and intelligence, books keeping, reporting and more.

We are establishing a star team capable of facing the challenges of modern highly paced environments, lots of data, demand for top-class performance, availability and reliability. We utilize a wide stack of technologies and keep innovating and adopting new architectures and ways to retain leadership in the marketplace.

We are looking for bright people with engineering talent and highly proficient in their technological area, ready to continue learning and challenging the status quo as they work, willing to learn from mistakes and continue excelling.

This position is a software engineer to support primary equities portfolio management platform.
The role will engineer new business activity enhancements and initiatives related to trade execution, compliance, position keeping, and portfolio profit and loss.
The platform is a high volume, transaction processing engine based on Java / Linux and the Coherence in-memory database.
The role is responsible for developing software enhancements and delivering projects supporting core trade processing and portfolio management system.
Responsible for delivering system upgrades and features supporting resiliency and capacity improvements, new trading capabilities, position management automation, and integration with internal and external trade execution platforms.
Delivery releases with minimal defects, automated testing strategies, and within project timelines using Agile practices.
Assist production operations with escalated troubleshooting needs to resolve production system incidents.

1. 2-3 sentences about the project in simple words (not copy-paste from the description in English)
Portfolio of highly loaded java applications that one team is working on.
2. major technologies used on the project (not by job description, but on the project; no more than 3)?
Spring boot, Oracle Coherence, Kafka
3. Percentage of development/support? Automation\manual testing for QA.
Development 80-90%, speed and self-sufficiency are especially appreciated.
4. What special things can we do to interest the candidate?
- Completely remote work
- A very strong team
- Good compensation
- Complex engineering tasks
- Diverse systems
5. How long has the project been in existence (client/Ukraine)?
August 2020
6. Team composition in Ukraine?
Team is distributed.
Client: US, South America, India
Lux: Ukraine, Poland, Russia.
7. What is the work schedule? Format of work (full remote, work from the office, partial remote)?
Full Remout, but if you need an office space - we arrange.
Schedule free, but the first 1-2 months with a shift in the evening hours.
8. Client location?
United States
9. Are there any overtime hours? How often? Are they paid?
Paid x1.5 - only if desired and necessary.

Responsibilities
• Understand and translate business requirements into technical design specifications
• Identify technology solutions for enhancements or new initiatives
• Develop technical and software solutions using test-driven and agile software development
methodologies
• Participate in identifying new technologies and methodologies to continuously improve software
systems.
• Implementing unit and integration test cases with industry standard test automation frameworks.
• Implement DevOps practices within the team and projects.

Skills - Understanding of portfolio accounting, fixed income products, equity trading, and compliance regulations.

Skills
Must have

• Extensive hands-on experience with Java programming, messaging systems (e.g. ActiveMQ, Solace, JMS) and streaming in Kafka
• 8+ years of professional programming and architecture experience with distributed systems, service architectures, and high throughput transaction processing systems
• Experience with in-memory data management software (Coherence, Redis, Hazelcast, Ignite)
• Expert experience with relational database technologies and SQL
• Expert practitioner of object-oriented techniques including inheritance, polymorphism, etc.
• Understanding of the challenges of working with distributed and multi-threaded systems along with experience monitoring those systems and troubleshooting problems
• Experience utilizing and enhancing Jenkins, Ansible, Maven and other DevOps tools
• Experience utilizing common industry unit testing frameworks
• Exceptional verbal and written communication skills
• Commitment to the highest ethical standards while working with sensitive data
• Bachelor's degree in Computer Science, other technical field, or equivalent work experience

Nice to have

• Experience developing trade execution, trade processing, and position management platforms.

Languages
English: B2 Upper Intermediate