Position: Senior Full-Stack Node.JS Developer
Company: Adaptiq
Experience required: 5y
English level: upper

We provide scalable and flexible solutions to our clients around the globe, achieving unrivaled speed to market. We invest in product innovation and personalization. Our platforms are modular and support big data, our main goal is to deliver high-quality software for competitive markets. We have started a new implementation of an existing product in order to apply modern architecture, software development and process paradigms, frameworks and tools, thus sustaining the long-term growth of our business. We create and use services and APIs in our architecture to make different functionalities less dependent on each other to create, change and scale. Our teams are multi-disciplinary and with few dependencies between them. We use Agile practices, processes and tools.

We have implemented **Micro Frontends** and **Micro Services** as architecture patterns, **React** with **Mobx** and **CSS modules** for seamless, fast and easily configurable UI, as well as **Nest** and **Fastify** for scalable and low overhead application backends. We use **MongoDB, PostgreSQL and Aerospike** for our data stores. We use **TypeScript** for the safety and manageability of our code. We rely on **Jest and Enzyme with Mocha and Chai** to help us validate what we create, a quick and automated way. Our applications run in **Docker containers** orchestrated by **Kubernetes**, and we use **Jenkins for CI/CD**.

We have become global with offices in Sofia, Plovdiv, Kyiv and Taipei.

If you like this story and you are looking to make a real difference in the tech world, then we want you to come to our office for a chat, some coffee and to become part of our family.

**What will be your part in this awesome story?**

- Deliver readable, testable and reusable code by following best practices, using unit tests and creating and maintaining appropriate documentation
- Participate in the analysis of the product requirements by meeting and discussing them with developers, product owners and other stakeholders
- Participate in the planning of the delivery pipeline by estimating the time required for delivery, analyzing dependencies between different software elements and improving visibility for other team members and teams
- Take an active role in root cause analysis and troubleshooting of misbehaving applications by analyzing run-time functional and performance metrics and fixing bugs
- Participate in the repurposing of existing software components on changes of product features or architecture by improving and refactoring

**What do you need in order to be part of CoreTech’s story:**

- 4+ years of experience developing web-based commercial software products
- Excellent knowledge of Node.JS, npm, TypeScript and JavaScript
- Experience with SOA / microservices and developing performant & scalable applications
- Understanding of web development paradigms (RESTful APIs, pub/sub, security)
- Very good written and spoken English, used day-to-day in a professional environment

**Necessary soft skills:**

- Mature, self-organized and responsible person
- Able and willing to help other team members with their tasks where needed

**Desirable experience, skills and knowledge:**

- Understanding of OOP and SOLID principles
- Understanding of and experience with relational and non-relational databases
- Experience with webpack, yarn, PostgreSQL, MongoDB, SPA
- Understanding of Progressive Web Apps and Accelerated Mobile Pages
- Experience with Git or another DVCS
- Familiarity with Jenkins, Jira, Confluence, Bitbucket
- Experience with some of the following: CSS-preprocessors (LESS, SASS), Docker and Kubernetes, Kafka, WebSockets, MQTT, gRPC, MessagePack, protobuf