otmjkaotmjka

Дмитрий Трифонов

Full-stack Javascript React.js Node.js · Бэкенд · Фронтенд · Старший (Senior)
Не ищу работу
Возраст: 35 лет
Опыт работы: 9 лет и 9 месяцев
Регистрация: 30.08.2013
Последний визит: сегодня
Местоположение: Россия, Миасс
Профессиональные навыки: JavaScript · Node.js · Python · ReactJS · Git · CSS · Английский язык
Войдите, чтобы посмотреть контакты пользователя

Обо мне

Профессионально занимаюсь разработкой более 8ми лет. Участвовал в создании игр, разрабатывал корпоративные приложения, сайты,  одностраничные приложения.  

Результат в приоритете. Эффективно использую время при выполнении задач. Прозрачность: планирую, пишу что делаю, как делаю, что буду делать. Аргументированно отношусь к нововведениям. 

Продвинутые письменные/вербальные коммуникации. Если не понятно, - консультируюсь. Автономен, когда необходимо. Обмен опытом. Ревью кода.  В меру отстаиваю свою позицию. 

Использую: 

Javascript(ES5, ES6), React.js, Redux, Верстка/Стили/Анимации, Webpack, Node.js, Express.js,  Sequelize, Async, RabbitMQ, PostgreSQL, Unit testing, Git, Gulp, Python, Docker

Github

Почта

Участие в профессиональных сообществах

Опыт работы

  • Оптовая продажа лекарственных средств и медикаментов
    Москва · От 10 до 100 сотрудников
    Руководитель разработки
    Март 2019 — Декабрь 2019 (10 месяцев)
  • Разработка программного обеспечения для видео-стримминга
    Москва · От 10 до 100 сотрудников
    Javascript программист
    Октябрь 2017 — Декабрь 2018 (1 год и 3 месяца)

    Erlyvideo - компания делающая медия сервер Flussonic.

    Компания привлекла своим тестовым заданием. Нужно было сделать PR в репозиторий видео плеера clappr, который фиксит проблему в отображении времени при проигрывании видео-архива. Вот это PR.

    Необходимо было поддерживать все видео плееры компании. Переделать устаревшую кодовую базу. Консультировать в клиент разработке.

    В перспективе, создать общий стайлгайд по javascript. Ввести обязательным типизация и тестирование. Библиотеку компонентов. Webpack сборка для компонентов/приложений/библиотек.  Весь javascript опенсорс выложить на github. 

    Результаты:

    • Библиотека для проигрывания MSE в HTML5 видео теге. GitHub: mse-player. Позволяет проигрывать лайв видео потоки с минимальной задержкой.
    • Embed плеер
      • Выделил  в react компонент, с возможность импорта в react приложение через import/script tag. Сделал сборку через Webpack.
      • Возможность размещения нескольких плееров на странице
      • Статегию кастомизации контролов/тем плеера.
      • Перевел с es5 синтаксиса на es6. Функционал по модулям. Уменьшил вложенность/связанность кода, DRY, KISS. 
      • Flow типизацию
      • Стили из CSS "простынки", перенес в модули компонентов и заменил CSS на STYLUS
      • Расширил функциональные возможности Embed плеера. Поправил неточности в использовании видео тега.
    • Сделал возможным уходить от моно-репозитория.
      • Сборка через Webpack.
      • Поддержка приватных репозиториев
      • Gulp таски для перемещения зависимостей в места где приложения смогут их использовать.
    • Плеер на основе Clappr
      • Внедрил новый способ проигрывания через библиотеку mse-player.
      • Стандартизировал сервис конфига, чтобы использовать единым способом во всех плеерах.
      • Плагины: watermark, video-poster, volume, recovery-video-playback 
    • Webpack сборки-стартеры для приложения, компонента, библиотеки
  • Procraft
    Москва
    Full stack developer
    Август 2016 — Май 2017 (10 месяцев)

    Procraft - сервис, помогающий исполнителям офлайн услуг найти заказчиков, через CRM, личный сайт, поисковую оптимизацию.

    Команда очень сильная/опытная. Эти ребята создали megaplan. Одни из первых начали использовать GraphQL, Relay в России.

    На проекте занимался созданием/обработкой заказа и личным сайтом мастера.

  • Гибрид медиа и социальных сетей, управляемый искусственным интеллектом совместно с пользователями
    Вильнюс · От 10 до 100 сотрудников
    Frontend
    Апрель 2016 — Август 2016 (5 месяцев)

    Plag** - амбициозный стартап социальной сети. Идея была в том, чтобы у любого создателя контента была возможность оказаться в информационном топе, в не зависимости от его влияния/финансовых возможностей, а в зависимости от качества контента.

    Я был нанят для усиления клиентской разработки веб версии.

    Необходимо было расширять существующий функционал. И нужно было решить проблему тормозов главного компонента навигации. Расскажу про нее подробней:

    Пользователю показывался контент, он решал, его “распространить” или “утопить”. Решение происходило поркруткой мыши в ту или иную сторону. Происходила анимация слистывания. В какой-то момент, компоненты стали очень громоздкие и  "слистывание" приводило ни к дискретной смене карточки, а к нескольким сменам за раз. Тут была еще одна интересная проблема, у ПК пользователей, прокрутка мыши приводит к дискретным событиям. На mac os устройствах, при скролировании приходит десятки событий, этим обеспечивается их несравненное ощущения от прокрутки страниц, как будто резиновое(rubber-band/elastic).

    Выше описанная проблема решалась следующим образом:

    • Рефакторинг основных компонентов. Из "простынок" на много экранов, выделил/инкапсулированы в модули понятные, функциональные блоки. Сделано это было для, того чтобы получить понимание, что на самом деле происходит и что может приводить к некорректному поведению при слистывании карточек. Действия компонента сделались предсказуемыми и логичными.

    Следующие изменения были невозможны без предыдущего пункта.

    • Оптимизировал работу с redux. Убрал redux там где он не нужен был. Мемоизаци ч/з reselect. Прописывание у компонентов SCU.
    • Заменил css анимацию на javascript анимацию. Начали использовать react-motion. Позднее коллега прикрепил velocityJS.
    • Реализован дискретный скролинг для OS X устройств. Слистывание ч/з скролинг стало одинаково себя вести для win/osx.
  • Аутсорс-продакшн, разработка на субподряде
    Москва · От 100 до 1000 сотрудников
    frontend developer
    Декабрь 2015 — Апрель 2016 (5 месяцев)

    Делал клиентскую часть картографического сервиса - Gallop-Travel. Gallop-Travel - такой микс tripadvisor, onetwotrip, booking и подобных.

    Результаты:

    Вовремя уволился и не умер с голоду. 

  • Alfa-pay
    Харьков
    Front-End Developer
    Январь 2015 — Декабрь 2015 (1 год)
    • Создание клиентской части приложения для банкоматов/терминалов оплаты.
    • Создание админки для управления банкоматами.

    Результаты:

    Приложение внедрено в банкоматы Alfa-pay, довольные люди получают услуги с их помощью. А владельцы терминалов своевременно меняют контент с помощью админки и видят когда кассета начинает переполнятся деньгами!

  • Singularex
    Лас-Вегас
    Frontend Developer
    Апрель 2014 — Февраль 2015 (11 месяцев)

    Делал клиентскую часть приложения STORUM. B2C система помогающая продавцам находить покупателей и предполагающая, чем покупатели могут быть заинтересованы.

    - Были сделаны приложения для покупателей и администраторов магазинов, оптимизированные как под большие экраны так и под мобильные устройства.

    - Сайт компании singularex.com

    - Одностраничник pinpark.me

  • ВЕЗА
    Москва
    Инженер-программист
    Апрель 2008 — Декабрь 2011 (3 года и 9 месяцев)

    О Компании

    ВЕЗА - крупнейшая российская компания, занимающаяся промышленным вентиляционным оборудованием. Я работал в подразделении, которое занимается автоматизацией систем вентиляции.

    Цели

    Я был нанят воплотить в жизнь идею приложения, упрощающего работу с заказом/проектом на всех его этапах. 

    CRM, ведение скалада, отслеживание и управление заказами. 

    На каждом этапе прохождения заказал было целью уменьшить "издержки"(лишний труд сотрудников, ошибки, прогнозирование и реагирование).

    Результатом моей работы стало:

    Созданый комплекс приложений, который стандартизировал, систематизировал, автоматизировал действия каждой роли в цепочке, по которой проходил заказ. 

    В нашем филиале был внедрен(побороты детские болезни).

    После внедрен в московский филиал и в последствии во все имеющиеся.

  • Extreme developers
    Миасс
    Middle Delphi Developer
    Июль 2007 — Март 2008 (9 месяцев)

    Extreme developers игровая студия, специализировавшаяся на создании Шутеров от первого лица.

    Пришел к ребятам на должность скриптера логики игры. 

    Переучился в Delphi программиста интерфейсов. Участвовал в создании игры «Правда о девятой роте»


    Результаты

    Написание логики игры, работая в качестве lua-скриптера.

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