Position: Fullstack (React.js+Node.js) Developer, Educational Chatbot
Company: DataArt
Experience required: 3y
Category: Node.js
English level: intermediate
Published: 2020-08-01T00:00:00+03:00

The goal is to provide information and reference services to students of educational institutions. The chatbot is controlled by AI based on IBM Watson.

DataArt specialists help develop new functionality and maintain existing. The environment is deployed with Docker on AWS ECS. AWS CloudFormation is used to automate infrastructure management. Image building, code verification, and running of tests are performed in CircleCI.

The project uses Gitflow for pull requests, code reviews, unit tests (the functionality is partially covered), and manual testing.

The processes are arranged according to the Agile principle (Scrum) with 2-week sprints, retrospectives, planning, and calls with the team. The team is distributed and works remotely.

Key technologies:
- Drupal (Symfony)
- NodeJS: several Express servers are responsible for different levels of business logic. NextJS is used for server-side rendering of React applications
- React + Redux for the chatbot and two SPAs
- Lerna
- MySQL (in conjunction with Drupal), MongoDB (for statistics from NodeJS applications), Solr (for full-text search).

Note that we hire specialists not to the project, but to the company. If the project is over, or you become uncomfortable in it, you can discuss a transition to another project.

Must have
- 5+ years of frontend development experience using React.js
- 2+ years of experience in backend development
- Experience developing web-based software products using Node.JS
- Experience with several of the following: NPM, Webpack, yarn, TypeScript, JavaScript, SPA Mongo.DB
- Expert Git
- Experience on a high growth JavaScript codebase
- Skills working with reusable components
- Skills working with automated testing, performance
- Knowledge of JS architectural practices
- Understanding of OOP and SOLID principles
- Understanding of web development paradigms (RESTful APIs, pub/sub, security)
- Experience with development of performant and scalable applications
- Experience with Git or another DVCS
- Good Spoken English

Would be a plus
- Understanding of Progressive Web Apps and Accelerated Mobile Pages
- Familiarity with Jenkins, Jira, Confluence, Bitbucket
- Experience with some of the following: CSS-preprocessors (LESS, SASS), Docker, WebSockets, MQTT