Обо мне

Основное:

• Отличное знание и пониманияJavaScript и его современных стандартов (ECMAScript 2015-2019+). Предпочитаю использовать async/await, promise, generators, pipeline operator и т.д. 
Для автоформатирования кода использую Prettier в связке с ESlint который анализирует код на правильность написание.

• Предпочитаю разрабатывать с использование TypeScript, имеется так же опыт работы с Flow.

• Занимаюсь разработкой удобных и производительных интерфейсов на React/Redux (2+ года).
Разрабатывал так же на Vue/Vuex (Классный инструмент для быстрой разработки/прототипирования малых-средних проектов с хорошей производительности из коробки, есть свой нюансы, но они есть везде)

• Небольшой списочек библиотек с которыми знаком и использую при необходимости:

Классические: lodash, ramda, immutable, axios, jquery, lerna, husky, lint-staged ...

React: react, react-router, react-redux, redux, redux-actions, thunk, redux-saga, redux-form, formik, classnames, bem-react/classname ...

• Работал с тестовыми инструментами такими как Jest, Enzyme для React проектов.

• Разрабатывал немного на Node.js в свободное время, работал с микро-фреймворками (express.js, koa.js).

• Работал с шаблонизаторами: Pug (Jade), Twig, ну и конечно же JSX;

• Отличное знание HTML5 & CSS3, CSS Animation, Transition, Transform, умение делать верстку такими методами как Table, Float, Blocks, Flexbox и Grid. Слежу за порядком в HTML/CSS. Использую авто-форматирование + сортировку стилей по логическим блокам;

• Работал с такими препроцессорами как: SCSS, Stylus, PostCSS, Less;

• Для организации CSS использовал такие подходы как: BEM, CSS-Modules,  Styled-Components (emotion2). 

• В разработке использую Webpack, но так же пользовался Gulp и Rollup.

• Интересуюсь разными парадигмами программирования, позволяет видеть плюсы и минусы тех или иных подходов и принимать более обдуманные решения.

• Имеется небольшой опыт работы с такими языками как Go, С, С#;

Дополнительное:

• Общий опыт программирования ~4 года;

• В качестве рабочей машинки предпочитаю MacOS / Unix системы;

Ссылки:

• GitHub - https://github.com/NLIDie
• HeadHunter - https://hh.ru/resume/f8f2bc3eff0658a0380039ed1f3155626a6641

Профессиональные навыки
Участие в профессиональных сообществах
Опыт работы
Сервис для отправки push-уведомлений
Senior Frontend Engineer
Март 2019 — По настоящее время (8 месяцев)

- Участвовал в качестве спикера с небольшими темами на общих внутренних митингах фронтов: "решения определенных проблем в разработке / новых инструментов для упрощение и ускорения разработки / архитектурных решений"

- Участие от отдела фронтов в коммуникации с дизайнерами, выдвижение разраличных предложений и растановка приотритетов на дальнейщий план развития продукта.

- Участие и дальнейшие развитие архитектурных решений на новых и пути расширения/поддержки старых продуктов.

- По классике код ревью, проведение встреч, помощь с возникшими сложностями другим разработчикам.

- Презентовал и после положительного отклика от других разработчиков внедрил инструмент ускоряющий разработку и развитие продукта для Redux, уменьшил сильную боль которая возникала на других проектах. Все остались довольны данным инструментом.

- Предложенные Архитектурные решения были хорошо восприняты и внедрены на последнем продукте и показывают себя очень хорошо и экономят время на понимании и развитий продукта. 

Стек технологий используемый на продуктах:

  • Для разработки веб-приложений используется React, новые проекты пишутся c использованием hooks.
  • К React в качестве общего хранилища используется Redux + React-Redux в чистом его виде, на новых продуктах стали использовать Redux + Easy-Peasy.
  • Для браузерного роутинга используется React-Router
  • Для типизации Flow / Typescript, на новых продуктах ушли в сторону Typescript и написаны декларации для остальных в которых остался flow. 
  • Для тестирования используется Jest и Enzyme, тесты пишем в основном только для общей ui библиотеки и остальных общих компонентах.
  • На Backend микросервисная архитектура, Api Gateway разрабатывается для каждого продукта отдельно все пишется на Golang, поддержкой и разработкой Api Gateway стали frontend разработчики это принесло положительные плоды.

Крупнейшая российская поисковая система и портал. Яндекс есть также в Казахстане, Беларуси и Турции.
Frontend Enginner
Сентябрь 2018 — Март 2019 (7 месяцев)

Работал в отделе Яндекс.Вертикали над auto.ru и яндекс.недвижимость, на должности Разработчик Интерфейсов.
 
• Технологии используемые на проектах:
– Полный стэк БЭМ-а  (переписывался на React)
– React
– Redux (redux-thunk)
– Nodejs
– Самодельный Rounting на клиенте основан https://github.com/nodules/susanin
– Самодельный SSR основанный на внутренних библиотеках.

• Во время мини хакатона внедрил в один из модулей яндекс.недвижимость storybook с кастомной конфигурацией на wepback4, было сделать это не так просто из за запутанной структуры проекта и модулей в целом. Так как на проекте нету быстрой перезагрузки и сборка модулей на проекте занимает достаточное время, внедрение storybook позволил ускорить разработку компонентов на проекте, за счет изолированной разработки и это давала более чистые и пере используемые компоненты + документация для компонентов.

Один из лидеров российской индустрии медиа и развлечений
Frontend Enginner
Март 2018 — Сентябрь 2018 (7 месяцев)

Работал в отделе 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

Digital production
Frontend Engineer
Август 2017 — Март 2018 (8 месяцев)

• Занимался разработкой фронтенд составляющей в команде (из 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 остальным разработчикам.

Flexcore
Москва
Frontend Engineer / Unity Game Engineer
Март 2017 — Август 2017 (6 месяцев)

• Верстка и разработка нового фронтенд функционала для сайтов и новых страниц для собственной CMS системы Flexcore;

• Правка и рефакторинг кода;

• В проектах использовался (HTML&SCSS + JS/ES5 + jQuery).

• В последствии взяли проект на создание игры по Android устройства. Так как я работал с движком Unity, я выдвинул свою кандидатуру как разработчика. В одиночку занимался разработкой игры (Платформер из 2 уровней + уровень с боссом).

• Полный пайплайн (кроме создания 2d графики, этим занимался дизайнер) разработки игры под Android на движке Unity:
- Оптимизация графики и производительности игры;
- Анимация 2d персонажей на костях (использовал Anim2D);
- Проектирование и сборка уровней;
- Проектирование и разработка логики игры и UI;

Высшее образование
Ивановский государственный энергетический университет
Иваново
Факультет: Заочно-вечернего обучения
Сентябрь 2015—По настоящее время (4 года и 1 месяц)

Программная инженерия (Разработчик программно-информационных систем)