Специализируюсь на Frontend разработке как с использованием фреймворков (React, Vue), так и без использования фреймворков. Так же наставничаю на обучающей платформе Hexlet.io по профессии "Фронтенд-программист".
Имею опыт работы как в команде, так и в одиночку. Разрабатывал проекты в одиночку (не стоит беспокоится о качестве кода, для этого я всегда настраиваю автоматизированные утилиты, пишу код в первую очередь для людей, а не для машин). Занимался поддержкой крупных проектов, работал в маленьких и больших, в достаточно больших командах 25+ фронтенд разработчиков в одном продукте.
Hard Skills:
- Языки программирования:
-- Vanilla JavaScript, работал со всеми версиями начиная с ES 5.1 (4.5 года) [Advanced level]
-- TypeScript (1.5 года) [Advanced level]
-- C# (~1 год) [Beginner level]
-- Golang (2-3 месяца) [Beginner level]
-- C (2-3 месяца) [Beginner level]
- Статическая типизация:
-- TypeScript (1.5 года) [Advanced level] - мой фаворит
-- Flow (0.5 года) [Beginner/Middle level]
- Frontend фреймворки:
-- React + Redux (3.5 года) [Advanced level]
-- React + Mobx (0.5 года) [Middle/Advanced level]
-- Vue + Vuex (0.5 года) [Beginner/Middle level]
- Backend Node.js фреймворки:
-- Express (3 месяца) [Beginner/Middle level]
-- Koa (1-2 месяца) [Begineer level]
- Тестирование:
-- Jest
-- Cypress
- Веб шаблонизаторы:
-- Pug (Jade)
-- Twig
-- Handlebars
- CSS Препроцессоры: SCSS, Stylus, PostCSS, Less;
- CSS Методологии:
-- BEM
-- CSS-Modules
-- Styled-Components (styled-components, emotion2)
- JS инструменты сборки/автоматизации:
-- Webpack [Middle/Advanced level]
-- Rollup [Middle/Advanced level]
-- Gulp [Middle/Advanced level]
- Основные JS библиотеки/инструменты с которыми работал:
-- Разное: lodash, ramda, immutable, immer, jquery, axios, lerna, moment и т.д ...
-- Организация кода и проверки: prettier, eslint, husky, lint-stage, style-lint, pug-lint и т.д ...
В коммерческой разработке с 2015 года, а программированием в целом занимаюсь с конца 2012 года.
Ссылки:
- GitHub - https://github.com/NLIDie
- Участвовал в качестве спикера с небольшими темами на общих внутренних митингах фронтов: "решения определенных проблем в разработке / новых инструментов для упрощение и ускорения разработки / архитектурных решений"
- Участие от отдела фронтов в коммуникации с дизайнерами, выдвижение разраличных предложений и растановка приотритетов на дальнейщий план развития продукта.
- Участие и дальнейшие развитие архитектурных решений на новых и пути расширения/поддержки старых продуктов.
- По классике код ревью, проведение встреч, помощь с возникшими сложностями другим разработчикам.
- Презентовал и после положительного отклика от других разработчиков внедрил инструмент ускоряющий разработку и развитие продукта для Redux, уменьшил сильную боль которая возникала на других проектах. Все остались довольны данным инструментом.
- Предложенные Архитектурные решения были хорошо восприняты и внедрены на последнем продукте и показывают себя очень хорошо и экономят время на понимании и развитий продукта.
Стек технологий используемый на продуктах:
Работал в отделе Яндекс.Вертикали над auto.ru и яндекс.недвижимость, на должности Разработчик Интерфейсов.
• Технологии используемые на проектах:
– Полный стэк БЭМ-а (переписывался на React)
– React
– Redux (redux-thunk)
– Nodejs
– Самодельный Rounting на клиенте основан https://github.com/nodules/susanin
– Самодельный SSR основанный на внутренних библиотеках.
• Во время мини хакатона внедрил в один из модулей яндекс.недвижимость storybook с кастомной конфигурацией на wepback4, было сделать это не так просто из за запутанной структуры проекта и модулей в целом. Так как на проекте нету быстрой перезагрузки и сборка модулей на проекте занимает достаточное время, внедрение storybook позволил ускорить разработку компонентов на проекте, за счет изолированной разработки и это давала более чистые и пере используемые компоненты + документация для компонентов.
Работал в отделе RDS на должности Инженер-Разработчик клиентских приложений. Работал над такими проектами как Афиша Еда и внешним продуктом (веб-приложение для работы с криптовалютами) для компании https://copper.co.
- Внедрил на Афиша Еда Vagrant (win10) для разворачивания окружения для удобной и быстрой установки среды. Backend был написан на C# (ASP.Net).
- Участвовал в разработке крипто-портала (веб-приложения на React/Redux) с нуля, команда состояла из 2 frontend разработчика и 1 backend (Nodejs). На проекте был в качестве Frontend разработчика, проводил code review и плотно взаимодействовал с менеджером и заказчиком.
Технологии используемые на проекте: react, redux, immutable.js, redux-thunk, axions, reselect, redux-actions
• Занимался разработкой фронтенд составляющей в команде (из 7 человек включая меня) работающей над модулем АВН и АСП (Автомобили в наличии и Автомобили с пробегом). Модуль предназначался к установки на CMS 1C-Bitrix, для Автомобильных дилеров таких марок как (Volkswagen, Infinity, Nissan)
• Проект состоял на тот момент из:
- Страница "Выбора марки": http://www.sigma-motors.ru/purchase/available-cars/
- Страница "Список автомобилей": http://www.sigma-motors.ru/purchase/available-cars/jetta/
- Страница "Детальная": http://www.sigma-motors.ru/purchase/available-cars/detail/A34289/
- Страница "Избранные": к сожалению нет ссылки
- Страница "Сравнение": к сожалению нет ссылки
P.S: Страницы взяты у одного из дилеров.
• За время работы сделал самостоятельно с использованием React страницу "Сравнение автомобилей" для ru версии сайта Volkswagen (импортерского).
• Рефакторил старые и делал новые компоненты (Pug&SCSS + JS/ES6)
• Участвовал в принятии архитектурных решений проекта и стека технологий.
• Занимался подготовкой старых-новых компонентов и страниц на шаблонизаторе Twig (раньше был Pug на фронтенде, но Backend разработчикам отдавался обычный HTML, так как не было возможности использовать node для SSR Pug), для упрощения и ускорения процесса интеграции шаблонов Backend разработчиками в CMS, при интеграции модуля для новой марки (Nissan).
• В процессе работы с Twig реализовал свою небольшую кастомную функцию (имитирующую функцию attributes из Pug). Которая облегчила разработку на Twig остальным разработчикам.
• Верстка и разработка нового фронтенд функционала для сайтов и новых страниц для собственной CMS системы Flexcore;
• Правка и рефакторинг кода;
• В проектах использовался (HTML&SCSS + JS/ES5 + jQuery).
• В последствии взяли проект на создание игры по Android устройства. Так как я работал с движком Unity, я выдвинул свою кандидатуру как разработчика. В одиночку занимался разработкой игры (Платформер из 2 уровней + уровень с боссом).
• Полный пайплайн (кроме создания 2d графики, этим занимался дизайнер) разработки игры под Android на движке Unity:
- Оптимизация графики и производительности игры;
- Анимация 2d персонажей на костях (использовал Anim2D);
- Проектирование и сборка уровней;
- Проектирование и разработка логики игры и UI;
Программная инженерия (Разработчик программно-информационных систем)