Position: Lead Java Software Engineer
Company: EPAM Systems
Category: Java
Experience required: 5y
English level: intermediate

PROJECT DESCRIPTION
Our client is one of the world’s largest providers of financial information and risk management solutions. The company empowers its’ clients to make smarter and more sustainable investments, drives market transparency and helps preventing financial crime. Serving more than 40,000 institutions in over 190 countries, it provides information, insights, and technology that enable innovation and performance in global markets. By advancing its customers, the company encourages progress for the worldwide financial community.

For this project, the ideal candidate should have the ability to deliver high-quality work on time in a high-energy environment while collaborating and brainstorming with other developers in a dynamic team environment.

RESPONSIBILITIES
•	Develop a strategy the team will use to reach its goal 
•	Provide the team with a vision of the project objectives, architecture
•	Lead by example (can take any task from the backlog)
•	Writing of production code, team technical mentoring
•	Cooperation with UX, BA, SA, QAA, Dev, DevOps team members
•	Decomposition of requirements into technical tasks and further estimation with the team on a regular basis to ensure 1-2 sprints ready-for-development backlog availability for development team
•	Communication and collaboration with the customer team representatives
•	Facilitate problem solving and collaboration
•	Provide technical supervision of the team and team decisions
•	Close collaboration with project architects
•	Develop a solution (the team covers its development end-to-end starting with the requirements collection, ending with Production deployment and post-deployment support and remediation) 
•	Implement a set of postponed extensions and NFRs

REQUIREMENTS
Obligatory:
•	5+ years of software development experience in Java 
•	Proficiency in Core Java, Spring
•	Experience in designing and implementing RESTful web services
•	Knowledge of TDD, BDD practices
•	Good understanding of design principles (SOLID, design patterns) 
•	Experience in software release process with automated CI/CD pipeline
•	Knowledge of Database programming: SQL and/or NoSQL databases
•	Good understanding of software development lifecycle, experience in Agile Scrum process
•	Participation in full system implementation life cycles: analyze, design, build, test, implement, support
•	Intermediate or higher English level, both verbal and written (B2)

Nice to have: 
•	Experience in Amazon Web Services (AWS)
•	Hadoop experience 
•	Experience of work with messaging queues (RabbitMQ, ActiveMQ)