Position: JavaScript / Node.js Intern (Telecom)
Company: Sigma Software
Category: JavaScript
Experience required: no_exp

•	Where: Ukraine only
•	When: October 25, 2021
•	Type of internship: individual
•	Duration of internship: 6 months
•	Schedule: complete working day
•	Scholarship: provided

We invite a quick learner with an itch for **JavaScript/Node.js**. If you are eager to work on a huge project with massive amounts of data and build your career in a fast-growing technology company, then join our team working on a telecommunication project. 

**Customer:** For more than 8 years we have been working with this customer. It is a big account, and our project is the youngest part of it. It started in 2019. Be sure, we are continuously working on new features and the project is to be ongoing.

**Project:** Our project is one in a chain that makes network rollout worldwide possible. We build an integrations part of workflow management system that is the backbone of the business with almost 100,000 employees. This system is used to manage thousands of projects related to mobile network rollouts from Japan to Mexico.
Overall, this is a huge project with massive amounts of data, with more than 150 servers as the infrastructure, and some servers are 96 core/1TB RAM monsters.
Our project is not just an interface but also a cashing/search solution that allows users to quickly search among huge amounts of data available in the system. For caching, we use MongoDB with Mongoose ORM. 

The backend of our caching solution is written in Node.js/Express;
ESLint with Google's rules; Jest for unit tests; GitLab for code reviews.

We are gradually rewriting the existing codebase to leverage the functional approach, using Ramda.js as our main helper library.
Some of the foreseeable future tasks: implementation of faster cache update cycle via Apache Kafka, switching to ELK stack for logging, switching to HTTP/2 in the UI. 

**About the team:** 4 Developers, 2 Test Engineers, and a PM. We are also working as one team with another sub-contract company, and there is a Scrum Master, Architect, and 3 Developers from customer’s  side.

**Requirements:**
•	Understanding of OOP and SOLID principles
•	Basic knowledge of algorithms and data structures
•	Good practical experience with one of the modern IDEs (WebStorm, VisualCode, e.g.)
•	Good practical experience in HTML5, CSS3
•	Good knowledge and practice in JavaScript basics and principles
•	Basic experience with Node.js
•	Basic experience with ReactJS or similar frameworks
•	At least Pre-Intermediate level of spoken and written English

**Will be a plus:**
•	Experience with task managers and bundlers (NPM, Gulp, Webpack, etc.)
•	Experience with Version Control Systems (Git). ASP.NET Web API

**Responsibilities:**
•	Follow training plan with a support from mentor
•	Code, debug, document, and maintain portions of software, unit and integration testing
•	Comply with the best engineering practices, the technical standards and the quality criteria set forth on the project
•	Report status and progress according to the project and company demand