Обо мне

Люблю технологии

Опыт работы
Январь 2016 — по настоящее время
lead frontend developer
Москва
Обязанности и достижения

Ведущий разработчик.
Разработка проекта https://storia.me/
SPA на react, redux + server-side rendering.

Передо мной стояли задачи увеличения темпов разработки и повышения качества разарботки.

До моего прихода:
Разработка велась в одной ветке. Использовалась ручная сборка. Не было тестов. Не было единого код стайла (стили в строчку длинной 160+ символов). Использовались browserty + gulp + google closure compiler для сборки. Приложение написано с использовением react + самописная flux-библиотека. Зависисмоти не обновлялись.

За полгода с момента моего участия проект значительно изменился:
Появился единый кодстайл. Мы начали писать unit тесты, разрабатывать UI компоненты в песочнице storybook.

Разработку перевел на git flow. Каждый PR проходит проверку на собираемость, тесты, код ревью. Проверки запускаются автоматически на CI. При мерже PR задачи в JIRA перетаскиваются по flow автоматически. И запускается автоматическое оповещение в slack.

Большая часть самописных решений, на которые команда тратила значительное время, были заменены на open source решения или готовые сервисы. Автоматизировал рутинные действия. Например, вместо поддержки собственного сервиса переводов с админкой внедрил использование crowdin для поддержки i18n. Реализовал continious localization: при обновлении основоной ветки разработки на CI запускается специальная джоба с синхронизаией файлов переводов и оповещением переводчиков в slack и по email.

Кроме того, обновил зависисмости проекта и поддерживаю их актуальность. Отказался от части библиотек. Перевели сборку с browserify и gulp на webpack. Как бонус получили почти бесплатные бандлинг и server side rendering. В проекте используется es2015+, css modules + postcss.

В итоге, порог входа в проект снизился благодаря отказа от самописных решений, ведению документации, тестов, стайлгайда и вики. Я получил опыт переписывания проекта и внедрения тестироваиня.

Февраль 2015 — Февраль 2016
MadApps
lead developer
Москва
Обязанности и достижения

Занимался разработкой мобильных приложений и игр.
Кроме того, координировал работу дизайнеров и иллюстраторов.

Приложения на ionic (WebView + angularjs).
Позднее react-native.
Мобильные игры на unity3d.

Примеры работ:

Кросс-платформенное приложение (iOS + Android). Покерный калькулятор для расчета процента победы против оппонента с определенным спектром рук.
Прилоежине на ionic (WebView + angularjs). Библиотеку расчета комбинаций писал сам по TDD. Так было проще определиться с требованиями и реализацией. Приходилось делать оптимизации для рендера UI и расчетов с большим числом итераций, чтобы избежать "заморозки" UI во время вычислений. Разработка и дизайн мои.

iOS (6.0 or later):
https://itunes.apple.com/app/id996607699
Android (4.0 or later):
https://play.google.com/store/apps/details?id=com.maddevel.takeevfree

Кросс-платформенная игра (iOS + Android). Track track: музыкальный раннер, в котором персонаж двигается с меняющейся под музыку скоростью, в зависимости от выбранного трека (можно играть под свою музыку). Большая часть на писана на C#. В рамках разработки написал такке небольшие библиотеки osHooks для работы с нативной частью iOS (Objective-C, C++) и Android (java). Разарботка моя, дизай разработан под моим контролем. Также вел переговоры с муыкантом, чтобы получить права на использование дефолтного трека в игре.

iOS (6.0 or later):
https://itunes.apple.com/app/apple-store/id1013973152
Android (4.0.3 or later):
https://play.google.com/store/apps/details?id=com.maddevel.tracktrack2

Сентябрь 2014 — Февраль 2015
Helicopter (http://hc-agency.com/)
front-end developer
Москва
Обязанности и достижения

Digital отдел рекламного агентства Helicopter [http://hc-agency.com/]

Занимался разработкой промо сайтов.
Много работал с версткой, анимациями на svg, canvas, webgl, покадровыми анимациями.

Примеры:

Сайт агентства с анимацией на webgl + svg mask + fallback на svg:
http://hc-agency.com/

Промо страница с покадровой анимацией (png + svg mask), canvas графика и анимация + css анимация и мини-игра:
http://ministerstvo-gazirovki.com/

Графика и анимации кросс-браузерные (ie9+) с фоллбеками.
Сделал сайт агентства + админ панель к нему.
Работал в hadrware проектах (kinect, arduino).

Февраль 2014 — Август 2014
Hot Dot
js-разработчик
Москва
Обязанности и достижения

Студия Hot Dot [http://hotdot.pro/]

Занимался разработкой промо сайтов, в том числе игр в вебе.
Получил большой опыт работы с графикой в вебе.
Работал с технологиями SVG, canvas 2d, webGL (threejs, sanpsvg, d3, raphaeljs и пр.) при работе с графикой и анимациями на промо страницах, а также при разработке игр.
Работал с Web Audio API при разработке игр. Использовал веб камеру десктопа и гироскоп мобильного для удаленного управления в играх. Транспорт через web sockets (socket.io). Сервер на nodejs (express + несколько небольших npm библиотек). Кроме того, работал с криптовалютами на сервере с nodejs + deamon кошелька криптовалюты (dogecoin) c библиотекой для доступа из ноды.

Примеры можно увидеть здесь: http://hotdot.pro/portfolio/

Игра https://htdt.github.io/digital_trip/ получила награды
- Awwwards
[http://www.awwwards.com/sites/digital-trip]
- FWA
[https://thefwa.com/cases/digital-trip]
- Chrome Experiments
[https://www.chromeexperiments.com/experiment/digital-trip]

Июнь 2013 — Февраль 2014
Фриланс
js-разработчик
Москва
Высшее образование
Сентябрь 2008 — Июнь 2013
НИ ВШУ
Государственное и муниципальное управление
Москва
Специализация и достижения

Управление Урбанизированными Комплексами

Рекомендательные письма
web • знакомый

Дима крут. Не зашорен шаблонами, всегда имеет свой свежий взгляд. При этом задача закрывается быстро и с первого раза. Он фанат своего дела, подходит с огромным энтузиазмом к работе. Именно такие люди двигают индустрию вперед, создают новое. Наши подходы полностью совпадают, очень приятно работать вместе.

Письмо написано 28 июля 2014 в 19:35