Специалисты
Стек React.js (18), Redux, NgRx, Next.js, TypeScript, Angular, Tailwind CSS, PostgreSQL, MySQL, Git, Vercel, Github Actions, Gitlab, CI/CD, HTML, CSS, Python, Django, Scrum, Unit tests/e2e tests (Cypress), EChart, Figma, Agile, JavaScript, Yandex Map API, Gulp, Material Design, PHP, Jquery, vanilla JS, Ajax, DOM, UI, Rest Api.
Образование
Синергия
2013 г.
Специальность: Информатика в экономике, Информатик-экономист.
React Advanced
2024 г.
Coursera, Frontend Development
Первый и главный department store страны
Роль: Frontend developer Renta - Next.js + React.js (18) Full Stack - приложение для отслеживания бронирований жилья: В проекте используется TypeScript в strict моде; приложение работает на App Router, есть вложенные и динамические роуты. Реализован Client and Server Composition паттерн, есть понимание hydration принципов. Вся стилизация выполнена с помощью Tailwind CSS по принципу mobile first. Для работы с API, в приложении используется как обычный (app/api) подход, так и Server Actions + revalidationPath/Tag для форм и списков. Работа с базой осуществляется через Prisma ORM, настроена схема, работа через CLI, на сервере поднят PostgreSQL, запросы к базе оптимизированы. Настроено два окружения через env переменные (process) - dev и prod. В данном проекте реализован простенький CI / CD на Vercel, но есть опыт настройки деплоя на EC2 через GitHub Actions, и AWS Amplify. Валидация форм происходит через Formik; использованы новые хуки useFormStatus и useActionState. Оптимизация рендеринга компонентов через lazy, memo функционал; кеширование запросов стандартными средствами Next.js (request memoization & revalidation). Минимальное использование локального useState в компонентах. Глобальный стейт реализован через контекст, без Redux и Mobx. PowerTU - Next.js + React.js (18) + Python - приложение для визуализации данных. TypeScript + strict mode, App Router - статические, динамические роуты, Tailwind CSS. - Backend - Python + Django + SSL на EC2, база MySQL на другом EC2. Запросы на бек реализованы через SWR (mutate) с обработкой ошибок, кешированием и повторными попытками запроса через onErrorRetry и конфигурации fetch. Для отрисовки графиков используется EChart, компоненты из MUI. На Python реализованы запросы к ChatGPT для подсказок на основе загруженных данных. Посмотреть можно по адресу power-tu.vercel.app (ChatGPT иногда возвращает неверную структуру данных, но есть возможность перезапросить). На EC2 инстансах настроены автоперезагрузка и автостарт по крону (crontap). Time Tracker - React.js + Google Chrome API - Chrome-расширение для удобной работы с Jira - Позволяет отслеживать текущие всех членов задачи команды, не заходя в Jira. Удобный интерфейс для отметки времени затраченного на задачу, возможность списать сразу за несколько дней, индикация уже потраченного времени на задачу. Для разработки использованы React + MUI, запросы через стандартный fetch, авторизация через стандартный интерфейс. Основной проект: CRM для отдела логистики (в команде): Переписывал с нуля фронт на Angular используя Redux подход (NgRx) В команде еще с двумя фронт-разработчиками, я декомпозировал задачки; В разработке использовались Yandex Maps API, внутренний UIKit; Cтарались свести использование сторонних либ на минимум Стандартный Scrum, совместная работа над проектом - ревью МРов, плановые встречи (дейли, грум, ретро, планирование) Применение паттернов проектирования на фронте (компоновщик, адаптер, мост, прокси и др.). Для тестов (unit, e2e) выбран Cypress, покрытие более 50% кода Самостоятельно настроил CI/CD в GitLab с кешированием артефактов между шагами
React.js (18), Redux, NgRx, Next.js, TypeScript, Angular, Tailwind CSS, PostgreSQL, MySQL, Git, Vercel, Github Actions, Gitlab, CI/CD, HTML, CSS, Python, Django, Scrum, Unit tests/e2e tests (Cypress), EChart.
08/2019 – 09/2024 месяца
Топ 10 банков России
Роль: Frontend developer Разработал с нуля фронтовое приложение edu.tinkoff.ru на основе дизайн-макетов и верстки от подрядчиков; Использовал Redux подход в приложении, тем самым значительно улучшив пользовательский опыт; Реализовал разные интерфейсы для разных моделей доступа (ученик, преподаватель, администратор); Участвовал в полном цикле разработки по Agile, Scrum
Angular, NgRx, TypeScript, Figma, Scrum, Agile, Git.
08/2018 – 08/2019 месяцев
Недвижимость для Вас, Группа компаний
Роль: Frontend developer Написал админку на Angular с нуля без макетов для основного сайта компании; Оптимизировал существующий проект, значительно ускорив его работу, используя lazy loading и changeDetection стратегии; Интегрировал модули карты и отрисовки маршрута до объекта недвижимости для основного сайта; Добавил модуль с картой в мобильное приложение на React; Отвечал за сборку и компиляцию проекта в gulp.
Angular, JS, TS, Yandex Map API, React, Gulp.
05/2017 – 07/2018 месяцев
Финансовое агентство
Роль: Младший программист Разработал админку на Angular 2 + Material. Создание/доработка компонентов, пайпов, директив, реактивных форм, сервисов, в т.ч. сторонних. Углубил знания JS, в т.ч ES6 (контекст, замыкания, стрелочные функции, колбэки, обещания, деструктуризация, прототипы, spread и rest, итераторы, генераторы, модули, классы, event loop, карты) TypeScript на среднем уровне Совместная разработка над проектом (git)
Angular, JavaScript, Material Design, TypeScript, Git.
12/2016 – 05/2017 месяцев
Сопровождение сайта
Роль: Системный администратор Сопровождение сайта: верстка css / html / jquery+vanillajs (работа с DOM, события, ajax), модули на php+mysql с ООП, без фреймворков. Поддержка пользователей; Администрирование сети
PHP, HTML, CSS, Jquery, vanilla JS, Ajax, DOM.
01/2011 – 12/2016 месяцев
Разработка на php / mysql
Роль: Веб-разработчик Разработка на php / mysql / jquery+vanillajs Разработал системы голосования, Разработал панель администратора, Реализовывал различные калькуляторы Работа в CMS (wordpress, joomla), их доработка Верстка из макета.
PHP, HTML, CSS, Jquery, vanilla JS, Ajax, DOM.
02/2010 – 10/2010 месяцев
Транснавигация
Роль: Программист Программирование на VisualBasic 6.0 Процедуры на MSSQL 2007 Командировки в другие города для внедрения продукта.
VisualBasic 6.0
02/2008 – 02/2010 месяцев