Fullstack Developer

Nikolay Grinko

Fullstack Developer с ~1.5 годами коммерческого опыта. Специализируюсь в создании веб-сайтов и веб-приложений на NodeJS и React. Стремлюсь писать чистый, удобный в обслуживании код и обеспечивать положительный пользовательский опыт. Люблю решать сложные задачи и постоянно осваивать новые технологии

Skills

  • JavaScript (ES11+), TypeScript, Go
  • Linux, Nginx, NodeJS, ExpressJS, NestJS, Gorilla/mux, Fiber
    REST API, Swagger, Postman, WebSockets, gRPC
  • SQL, PostgreSQL, MongoDB, Redis, S3, Strapi, Kafka
    Sequalize, TypeORM, Prisma, Mongoose/Typegoose, Joi, Zod
    Gorm, Sqlx
  • Web Security, JWT, OAuth, 2FA, PassportJS, RBAC, ABAC
    OOP, 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 Query
    HTML5, CSS3, Gulp, Webpack, Esbuild, Vite, Axios
  • BEM, SASS, CSS Modules, Styled Components, TailwindCSS, Figma
    Bootstrap, MaterialUI, ChakraUI, ShadcnUI

Work Experience

  • Jul 2024 — May 2025 (10 months)
    Fullstack DeveloperFingli 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

Работал над более 10 учебными проектами, в рамках которых осваивал новые технологии и подходы к разработке. Лучшие из них оформил на отдельной странице
Проекты: Блог платформа, Конструктор чат-ботов, CLI менеджер задач, Сокращатель ссылок, Облачное хранилище, Мессенджер, Маркетплейс, ...
В данных проектах использовал следующие технологии и инструменты:
  • Разрабатывал 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

Contacts

Связаться со мной можно в Telegram
https://t.me/ngrink