Position: Lead Java Developer (j-s)
Company: Exadel
Experience required: 5y
Category: Java
English level: upper
Published: 2020-11-01T00:00:00+02:00

**About the Customer**:
The company of the Customer is headquartered in Fort Lauderdale, Florida. Using proprietary mobile algorithms, the Customer’s app connects fliers to more than 3,000 aircraft and existing routes across three continents – the United States, Europe, and the Middle East. Plus, app users have the ability to create flights virtually anywhere on the globe and share them with other members or book all the seats to make it private.
Beyond the extraordinary flight services, members of the Customer’s community - leaders in business, sports, entertainment, and culture included - enjoy luxury lifestyle benefits and exclusive, invitation-only events from the clouds to the ground. 
At present we’re enhancing the Customer’s app. You will have a chance to learn the most modern technologies, prove your proficiency during challenging project engagements.

**Requirements**:
At least 5+ years of experience with Java
Taking ownership of developing projects
Capable of delivering on multiple competing priorities with little supervision
Solid understanding of algorithms and data structures
Experience with building high performance system requiring advanced algorithm solutions
Strong knowledge of Relational Databases (such as Oracle and PostgreSQL), SQL and ORM technologies (JPA2, Hibernate)
Experience with test-driven development and automated testing frameworks
Experience with building APIs and micro-services using REST, GraphQL
Experience with event-driven architecture, CQRS, event sourcing
Experience with distributed messaging systems

**Nice to have**: 
Experience with 3rd party integrations, like Salesforce, ZenDesk, SAP, ADP

**Responsibilities**:
Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage and work processes; investigating problem areas; following the software development lifecycle
Demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code
Update job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment
Provide recommendations for continuous improvement
Work alongside other engineers on the team to elevate technology and consistently apply best practices
Collaborate with team to brainstorm and create new products
Be a persistent, creative problem solver

**English level**:
Intermediate/Upper-Intermediate