Position: Senior Node.js Developer
Category: Node.js
Experience: 3 years | English: upper

-  Drafted requirements and outlined steps for successful MVP release
- Implemented automatic semantic versioning and image tagging (based on semver) using Concourse CI
- Refined the pipelines leveraging parallel steps run, reducing the pipeline run time by 1/3
- Implemented the feature pipelines mechanism that allows build Docker images with custom tags and deploy a custom AWS infrastructure with such images to test that changes work correctly on the AWS env yet not impairing the dev/pre-prod/prod environments that used by other teams/users
- Migrated services' Docker images to the latest alpine, reducing the size of images by 6x times
- Redesigned Docker images (enforced "one image - one task" practice and sidecar patterns based on tiny alpine)
- Reduced images' vulnerabilities from 1.5k+ to 0 (checked by Twistlock)
- Refactored our production Docker files using multi-stage builds reducing the size and removing redundant stuff, and Node.js best practices (added 'tini' package to introduce graceful shutdown etc.)
- Migrated services from Node.js 6.x to Node.js 14.x (newest LTS) and updated services' dependencies accordingly
- Worked with AWS infrastructure (implemented Service Discovery, created DynamoDB tables, S3 buckets, ECR repositories)
- Described and supported the AWS infrastructure using Terraform (IaC approach)
- Enforced using Vault/AWS Secret Manager for storing sensitive information (keys etc.)
- Optimized infrastructure removing redundant or barely used features (namely, our DevOps and I have reworked the logic of public services deployment: those services now use a single shared load balancer instead of using LBs dedicated to each service)
- Worked on multi-region deployment implementation (3 AWS regions: us-east-1, ap-southeast-1, eu-west-1)
- Identified blocking of the Node.js event loop in the services, and worked on respective optimizations (both, partitioning and offloading)
- Refactor legacy services to use ES6+
- Enforced the usage of Nest.js with the fastify as an internal engine for the new services
- Constantly working on identifying and resolving technical debts
- Playing a Key Developer role on the project, helping the team lead with his responsibilities
- Mentored colleagues (e.g. Junior DevOps, Software Engineers)
- Managed to finish a C++ course from Yandex :)
Senior Software Engineer (Backend) 
- Developed microservices for data visualization project (REST APIs)
- Unit testing (Jest, Mocha/Chai)
- Docker (multi-stage builds, private registries, docker-compose, production images)
- NGINX (configuration)
- AWS (Lambdas, ECS (Fargate), ECR, CloudWatch, Cloudfront/S3, RDS (AuroraDB), DynamoDB)
- IaC (Terraform)
- CI/CD (Concourse CI)
- Code quality (ESLint, SonarQube, Twistlock)
- Secrets Managers (AWS Secrets Manager, HashiCorp Vault)
- Tech Stack (Backend): JavaScript (ES6+), TypeScript (v3), Haxe (v4.0.0), Node.js (v14), Nest.js

Software Engineer (Backend)
- Developed microservices for travel industry company (both REST APIs and GraphQL APIs)
- Unit testing (Jest)
- Docker (production images)
- AWS (IAM, ECS etc.)
- IaC (Terraform)
- CI/CD (Jenkins pipelines)
- Code quality (TSLint, ESLint)
- Tech stack (Backend): JavaScript (ES6+), TypeScript (v2), Node.js (v8), MySQL, MongoDB

Full-stack Web Developer
- Developed custom web pages for special projects
- Created an invoice generator using puppeteer
- Created a simple smart contract for a special project using Solidity programming language
- Tech stack (Backend): JavaScript (ES6+), PHP (WordPress support), Node.js (v8), Express, MySQL
- It would be nice to work in a small passionate team
- Working with new technologies, preferably with Docker and Cloud Providers (AWS or GCP)
- I'd like to work on the product, though even interesting outsource projects would be fine
- I'd prefer to work with modern Node.js versions (12+) and frameworks (fastify/Nest.js)