Position: Full Stack JS Developer
Company: Symphony Solutions
Category: Node.js
Experience required: 5y
English level: upper

Do you want to solve exciting problems in the fast-paced sports betting and gaming industry? Would you like to work in an engaging environment while creating highly reliable and low latency systems? Does working with modern cloud architecture, SRE, and DevOps sound exciting? Then welcome to our project.
Working with us, you'll be at the heart of the technological revolution of one of the world's most trusted betting and gaming companies. We deal with projects ranging from mobile Casinos to online Sportsbooks and everything in between. The software you write will process 500 online bets per second, accommodate 20 million users, and process 160 terabytes a day. You can be sure there are many more challenges waiting for you.

Main technology:
Vanilla JS - most of the work happens on it
XState - JavaScript State Machines and Statecharts - very important requirement
React JS - about 10% of work
Node JS - about 10% of work

Requirements:
BS/MS degree (or equivalent) in Computer Science, Engineering, or a related subject.
Senior-level hands-on software development (JavaScript) experience that can work autonomously and reliably end to end.
Object-Oriented and functional analysis and design using common design patterns.
Experience in working with REST APIs and Node.js.
Experience with test-driven development.
Agile methodologies and concepts such as Scrum, Kanban.
Can break down features into stories and lead other developers through agile estimation events.
Exemplary communication and people skills in a technical or non-technical context.
Familiarity with JavaScript libraries like React, Redux, XState.

Nice to have skills:
- Experience in consuming Kafka and event-driven architectures.
- Experience of software development for high capacity, high traffic, high availability websites.
- Experience in DevOps activities, familiarity with Kubernetes, AWS, Gitlab, and Gitlab CI.
- Experience in working with ticketing systems (preferably the JIRA ticketing system).

Responsibilities:
- Build proofs-of-concept, driving R&D activities and ensuring they can be incorporated into the products to drive efficiencies and quality improvements.

Interview steps:
1) English +Cultural 20 min
2) Technical interview 1 hour 
3) Client interview 60-90 min:
The interviews on the client-side last for 1 hour and go by the following flow:
- Biographical questions about experience -15 min.
- Code review where the candidate needs to comment if the code is properly written (around 3 different code lines) - 15 min.
- Live coding session where the candidate needs to log in to the client system and write some code - 30 min.