Position: Software Engineer Intermediate/Senior (Node.js)
Company: Dev.Pro
Category: Node.js
Experience required: 2y
English level: intermediate

What is there for you
Your work will be the integration of several third-party delivery services to the platform so that customers’ orders are forwarded from a mobile app to a designated point of sale in the designated restaurant and a delivery person can grab it and deliver it to the customer. Also, you will improve the existing code using best development practices (CI/CD, improving Git flow, etc.). The project operates using Kanban. The development team is international and consists of colleagues from Ukraine and the Unites States.

Technologies
The project consists of many microservices which are all written on NodeJS v.6 (the upgrade to v.12 is planned for Q4 2020). Components communicate with delivery integrators using HTTPS and communication with in-store devices such as point of sale is enabled via RabbitMQ. MongoDB is used.

What you will do?
• Develop high-quality, object-oriented code using JavaScript and popular frameworks
• Build web services to be consumed by internal and external customers
• Develop unit and system tests for the code developed yourself and by others
• Produce technical specifications and code documentation
• Design and develop the SQL data structures needed to support new development efforts
• Perform application performance analysis and tuning
• Conduct and participate in training sessions
• Identify and recommend process improvements
• Estimate level of effort and forecast completion targets

Required skills:
• 3+ years of overall experience with JS  
• 2+ years of experience with Node.js 
• JavaScript Design Patterns
• Experience with REST API
• Experience with RabbitMQ
• Experience with MongoDB
• At least Intermediate English

Desired skills:
• Experience with AWS technologies and tools (ECS, SQS, SNS, CloudFront, S3, Lamba, Kinesis etc)
• Technical Design Experience