Position: Senior Node.js Developer
Company: Exadel
Experience required: 3y
English level: intermediate

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. 
About the Project:
Task Management – flight support and execution of tasks related to each step of the flight according to the prebuilt, but flexible workflow
Zendesk.com – any related tasks
ERP Service – relatively complicated logic of Membership Sales, Ancillary Charges, Seat Sales, Charter Sales, and integration with SAP (cloud accounting system)
Charter Sales – simple logic of Charter Sales

Current Project Stage: 
Development
 
Requirements:
At least 3+ years of experience with Node.js 
Taking ownership of developing projects
Capable of delivering on multiple competing priorities with little supervision
Solid understanding of algorithms and data structures
Understanding of mobile application architecture specifics
Experience with building high performance system requiring advanced algorithm solutions
Strong knowledge of Relational Databases (such as PostgreSQL)
Experience with building APIs and micro-services using REST, GraphQL
Preferably experience with test-driven development and automated testing frameworks
Preferably experience with event-driven architecture, CQRS, event sourcing
Preferably experience with distributed messaging system
 
Nice to have:
Experience with 3rd party integrations, like Salesforce, ZenDesk, SAP, etc.
Technologies We Like:
Node.js
PostgreSQL
Amazon AWS (S3, Athena, Lambda, EC2, etc.)

English level:
Intermediate+

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