Position: Node.js Engineer
Company: GlobalLogic
Experience required: 2y
English level: intermediate

**Description:**

We are looking for an experienced engineer to join a team of professionals to contribute to the project, as well as take an active role in architecture discussions and overall product design.

As a successful candidate, you will become a part of a collaborative, innovative and passionate team dedicated to entertaining the planet. Every member of our team is provided the opportunity to profoundly impact the broad world of entertainment.

In short this role is meant to be a catalyst for a structural shift in the landscape of both the code and engineering organization. The existing code base will require day-to-day maintenance and feature development. You will be expected to help in this effort. You will work closely with your mentor to fix bugs and implement features.

Our engineers want to gain energy from you and share their energy with you. We want healthy, and challenging discussions. We expect you to guide us with your wealth of knowledge and experience, but also want to remind you that we also have a wealth of knowledge and experience and when conflicts of experience arise you will be able to handle it professionally and productively.

**Requirements:**

- 2+ years of back-end applications and services development

- JavaScript proficiency and strong Node.js development experience

- Cloud-native design experience, preferably AWS stack

- Practical application of software design principles, patterns and standards

- Good English, both verbal communication and technical writing

- Working experience within different architectural styles (MVC, event-driven, pipes and filters)

- Good hands-on with core Node.js modules - Events, HTTP, Net, Stream

- RDBMS experience (PostreSQL, MySQL, etc)

- GoLang or readiness to develop in this direction is a big plus

**Responsibilities:**

- Designing and implementing components of a distributed system

- Implementing APIs with multiple different channels and protocols

- Optimizing system's reliability, availability and performance

- Covering codebase with tests, creating specifications and documentation

- Regular meetings and discussions with customer's side of the team