Position: Node.js Engineer with TypeScript experience (Contractor)
Company: Waverley Software
Category: Node.js
Experience required: 5y
English level: intermediate

About our client:
Our client is a Spain-based company, which is moving forward in the technological area and create a real impact in specific industries.
You’ll work with a team in Ukraine and Spain to help us transfer existing components of the robot infrastructure to the new versions.

Responsibilities:
-You'll be part of a team that it's doing a migration from node 6 to node 14. 
-You'll need to be able to update dependencies and code, while ensuring that the code behaves in  a similar way. 
-Your knowledge on TypeScript and JavaScript and common npm packages will help us make the difference, and replace obsolete tools and code with more modern and robust alternatives.

Requirements:
-Strong technical skill and relevant experience with Typescript/Javascript and NodeJS development.
-Experience with NoSQL document-based databases like MongoDB and designing suitable data models.
-Experience with object-oriented methodologies in designing software solutions.
-Strong test-driven discipline and experience with code analysis frameworks such as Mocha, Istanbul and ESLint.
-User authentication and authorization between multiple systems, servers and environments.
-Have experience with Agile development methodologies and practices.
-Ability to work with build tools such as yarn, npm and lerna.
-Proficient understanding of code versioning tools such as Git.
-Experience with agile project management methodologies.

 Helpful experience
-Full-stack development.
-Knowledge of using web applications development frameworks and tools like Hapi.js, React, Express.
-Understanding of semantic HTML, CSS and CSS preprocessors.
-Some front-end development skills in HTML, CSS, and JavaScript.
-Hands on experience with Continuous Integration tools.
-Knowledge of Amazon AWS services or similar cloud provider (Azure, GCE).
-Understanding fundamental design principles behind a scalable application.
-Experience with containerized applications and tools such as docker and docker-compose.
-Experience with Nginx, HAProxy or another API Gateway.
-Knowledge of WebOps deployment and management of servers.