Nikolay Grinko
Fullstack Developer с ~1.5 годами коммерческого опыта. Специализируюсь в создании веб-сайтов и веб-приложений на NodeJS и React. Стремлюсь писать чистый, удобный в обслуживании код и обеспечивать положительный пользовательский опыт. Люблю решать сложные задачи и постоянно осваивать новые технологии
Skills
- JavaScript (ES11+), TypeScript, Go
- Linux, Nginx, NodeJS, ExpressJS, NestJS, Gorilla/mux, FiberREST API, Swagger, Postman, WebSockets, gRPC
- SQL, PostgreSQL, MongoDB, Redis, S3, Strapi, KafkaSequalize, TypeORM, Prisma, Mongoose/Typegoose, Joi, ZodGorm, Sqlx
- Web Security, JWT, OAuth, 2FA, PassportJS, RBAC, ABACOOP, Clean Architecture, Design Patterns, System Design, Microservices, API Gateway
- Git, Github, Gitlab, Docker, Docker Compose, Github Actions, Kubernetes
- React, NextJS, Redux/RTK, MobX, Zustang, React Router, React Hook Form, React QueryHTML5, CSS3, Gulp, Webpack, Esbuild, Vite, Axios
- BEM, SASS, CSS Modules, Styled Components, TailwindCSS, FigmaBootstrap, MaterialUI, ChakraUI, ShadcnUI
Work Experience
- Jul 2024 — May 2025 (10 months)Fullstack Developer•Fingli Group
Аутсорсинговая компания, специализирующаяся на разработке и сопровождении веб-проектов. Работал в распределенной команде из 3 разработчиков (включая меня)
Проект: Разработка и поддержка сайтов для сети крупных торговых центров (5+ сайтов)
Цель: Повышение лояльности клиентов, автоматизация услуг (парковка, лояльность), улучшение взаимодействия с арендаторами
- Разработал и поддерживал новые страницы и UI-компоненты (React/NextJS)
- Спроектировал и внедрил модуль программы лояльности: реализовал функционал загрузки и валидации чеков, начисление и списание бонусов, получение купонов по которым в последствии проводились розыгрыши призов в ТРЦ
- Доработал Личный кабинет арендаторов: реализовал функционал множественного согласования/отклонения заявок, улучшив удобство использования для сотрудников ТРЦ и арендаторов
- Интегрировал сервис почтовых рассылок Dashamail для уведомлений пользователей о ключевых событиях (регистрация, оплата, начисление бонусов/купонов) и накопления базы контактов для email-рассылки
- Переработал ключевые формы (заявки на аренду/рекламу, обратная связь и т.д.): реализовал сложную валидацию полей на стороне клиента и сервера, оптимизировал UX подачи данных и обработки ошибок
- Разработал набор бизнес-отчетов по ключевым метрикам (посещаемость, активность в программе лояльности, парковка): создал логику агрегации данных и сохранение в Excel
- Настроил систему мониторинга доступности сайтов и ключевых зависимых сервисов, сократив время реакции на инциденты.
- Для управления задачами использовалась методология Kanban
Стек: JavaScript, TypeScript, Next.js, React, Node.js, Express.js, PostgreSQL, Prisma, MongoDB, Mongoose, Strapi, Git, Github/Gitlab
- Mar 2022 — Sep 2022 (6 months)Fullstack Developer•Фриланс
Разработал 5+ проектов под ключ. Полный цикл разработки: от анализа требований и проектирования решений до разработки, запуска и поддержки
- Взаимодействовал с заказчиками, анализировал требования и проектировал решения
- Создавал дизайн макеты в Figma
- Верстал адаптивные сайты используя HTML, CSS (SASS), JS, Bootstrap
- Автоматизировал сборку проектов через Gulp
- Программировал бэкенд на NodeJS
- Типизировал код с помощью TypeScript
- Разрабатывал REST API с использованием ExpressJS, NestJS
- Использовал современный ECMAScript (async/await, classes, ...)
- Использовал шаблонизаторы EJS, Nunjucks
- Работал с базами данных PostgreSQL, MongoDB
- Проектировал структуру БД и составлял запросы на SQL
- Использовал ORM Sequalize, Prisma, Mongoose
- Настраивал сервера на Linux. Настраивал веб-сервер Nginx
- Использовал Git и Github для контроля версий
- Развертывал сайты по SSH, Rsync, Git
- Настраивал доменные записи
- Устанавливал SSL-сертификаты с помощью Certbot
- Настраивал почтовый сервер с помощью Mailcow
- Реализовал телеграм чат-бота на NodeJS, Grammy для записи на мероприятия
Стек:
- Frontend: HTML5, CSS3 (SASS), JavaScript (ES6+), TypeScript, Bootstrap, Figma
- Backend: Node.js, Express.js, NestJS, REST API
- Databases: SQL, PostgreSQL, MongoDB, ORM (Prisma, Sequelize, Mongoose)
- DevOps: Linux, Nginx, Git/GitHub, SSH, Certbot, Mailcow
- Template Engines: EJS, Nunjucks
Projects
- Разрабатывал REST API с использованием ExpressJS, NestJS, Gorilla/mux, Fiber
- Работал с базами данных PostgreSQL, MongoDB
- Использовал ORM Sequalize, TypeORM, Prisma, Mongoose
- Типизировал код с помощью TypeScript
- Валидировал данные с помощью библиотек class-validator, Joi, Zod
- Использовал Swagger для генерации документации API и клиентского кода
- Кешировал данные в Redis для ускорения доступа к данным
- Использовал Websocket и SocketIO для двухстороннего обмена данными между клиентом и сервером
- Использовал Docker и Docker Compose для контейнеризации приложений, изоляции окружения, управления контейнерами и развертывания приложений
- Использовал Sessions, JWT, Bcrypt, 2FA, PassportJS, OAuth, RBAC, ABAC для управления доступом к приложению и обеспечения безопасности данных
- Использовал React для создании интерактивных SPA приложений
- Работал с Redux, Mobx, Zustand для хранения состояния приложения
- Использовал NextJS для создания SSR приложений
- Использовал SASS, TailwindCSS, CharkaUI, ShadcnUI, CSS Modules, Styled Components для стилизации компонентов и создания UI приложения
- Выполнял HTTP-запросы с помощью библиотеки Axios, настраивал заголовки и перехватчики запросов для обновления JWT токенов
- Использовал библиотеку ReactQuery для кеширования ответов в браузере и реализации бесконечного скролла
Education
- 2019-2023Санкт-Петербургский колледж телекоммуникаций им. Э. Т. КренкеляПрикладная информатика
Books
- Чарльц Петцольд. Код. Тайный язык информатики
- Адитья Бхаргава. Грокаем алгоритмы
- Роберт Мартин. Чистый код: создание, анализ и рефакторинг
- Роберт Мартин. Чистая архитектура. Искусство разработки программного обеспечения
- Эрик Фримен, Элизабет Робсон. Паттерны проектирования
- Алекс Сюй. System Design
- Мартин Клеппман. Высоконагруженные приложения. Программирование, масштабирование, поддержка
About
- Fullstack Developer с ~1.5 годами коммерческого опыта. Специализируюсь в создании веб-сайтов и веб-приложений на NodeJS и React. Стремлюсь писать чистый, удобный в обслуживании код и обеспечивать положительный пользовательский опыт. Люблю решать сложные задачи и постоянно осваивать новые технологии
- В свободное время читаю техническую литературу. Активно изучаю принципы, паттерны и архитектурные подходы для создания поддерживаемых, надежных, масштабируемых приложений
- На данный момент заинтересован развиваться как Fullstack/Backend Developer, также есть желание попробовать себя в разработке на Golang