Position: Java Lead Software Developer
Company: Luxoft
Experience required: 3y
English level: upper

Project Description:
We offer:
- Growth opportunities: local trainings, webinars on demand and workshops, compensated conferences and certifications, contribution to open source frameworks;
- Competitive compensation with yearly review based on professional growth and performance;
- Fun and life balance: team and corporate team buildings, hackathons;
- Local infrastructure: powerful workstations (no VDIs), sweets and cookies, modern office, communication space, sport and relax rooms, game zone, multiple restaurants and shops.

Summary of projects and systems: our client is the bank and high tech company, focusing on technology excellence. Despite it is the bank, the legacy code is limited. We are implementing Continuous Delivery direction, with Docker and K8s infrastructure, bi-weekly releases and maximum automation. Our projects are related to investment in shares, derivatives and other financial products. Our team is responsible for implementation of the platform for trading on stock and other markets etc.

Our organization: we are working as Scrum teams, 5-7 people in each team [all team members working with back and front end parts of the solutions], supported by local Business Analysts. Daily you will communicate with our client's stakeholders on Stand Ups, status and other meetings, following best practices of Agile processes. As communication tools we are using: video conferences (Zoom, Vidyo), Rocket.Chat and other tools.

If you are proactive, creative and ready for new challenges - welcome in our team, will improve quality of product, process together with team and client.

In Lead role you will be able to travel to Switzerland to the Client's office.

Responsibilities:
- Participation in meetings with client (Stand-Ups, Grooming, Planning, Demo, Retro and other ad-hoc)
- Requirements refinement, sprint planning and task estimations;
- Applications development (Back and Front End);
- Developing unit/integration tests, E2E, UI
- Lead team of 5-6 Java Developers + 1 QA
- Ensure good development testing coverage
- Participate in peer design and code reviews
- Evaluate and adopt new development tools, libraries and approaches to improve delivery quality

Mandatory Skills:
- Java core, Java 8 features;
- OOP/OOD knowledge, design patterns;
- TDD, BDD notion;
- Unit testing frameworks (JUnit, Mockito);
- Spring framework, IOC;
- RESTfull services;
- Servlets API;
- Java-based application servers (e.g. Tomcat);
- SQL knowledge, any RDBMS, Oracle is a plus;
- ORM, Hibernate in particular;
- HTML, CSS, JavaScript/React;

Nice-to-Have Skills:
- Experience in finance/banking;
- Experience with Docker;
- Maven and Distributed SCM (GIT);
- Unix administration experience;
- CI tools experience (Jenkins);
- Know UI testing frameworks (Selenium, Jest etc.);
- Any of these tools: ActiveJDBC, SpringData, QueryDSL;
- Redux;
- ES6/Typescript;
- SCSS;