Our Team welcomes a skilled Software Engineer to contribute together to the future of telecommunications!
Customer is one of the leading network service providers and top-ranking telecom infrastructure companies in the world founded in the 19th century :-)
The solution that we are developing helps customer's employees and clients all over the world to manage network rollout field activities in real-time.
We are building from scratch a user interface for the workflow management system that is a backbone of the business with almost 100,000 employees. The system is used to manage thousands of projects related to mobile network rollouts from Japan to Mexico. Our work influences lives of literally billions of people.
Overall, this is a huge project with huge 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 the interface but also a cashing/search solution that allows users to search quickly 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. Front-end is written using Google's Polymer Project with Redux for state management. ESLint with Google's rules. Jest for unit tests. GitLab for code reviews. We are gradually rewriting the existing codebase to leverage functional approach, using Ramda.js as our main helper library. Micro service architecture, hosted in Cloud.
Some of the tasks in near future: implementation of faster cache update cycle via Apache Kafka, switching to ELK stack for logging, switching to HTTP/2 in the UI.
What we expect from you:
Our processes are not perfect, application is complex, team is distributed and multinational. We need someone who will add strength and solid expertise. Someone who will turn problems into goals, complaints into suggestions for improvements, roll up their sleeves and enhance our project environment together.
As a part of the team, you will do the following:
- Design separate components, modules, classes, database tables, etc.
- 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
- Spot current deficiencies in the development process, adopted procedures and engineering practices, environment configurations, etc., and suggest improvements
What is needed to join our team?
We are looking for a person with good JS knowledge, interested in the functional approach. Experience with Redux and MongoDB is a plus, but we don't expect the candidate to know every technology mentioned below.
- Excellent JS skills
- Knowledge of any JS framework - e.g. React, Angular, or Vue (React would be preferrable)
Will be a plus:
- Polymer 2/3
- Functional programming skills (we'll teach if needed)