Васильев Дмитрий, javascript/node.js разработчик.

Навыки

Javascript V8, Node.js, MongoDB, CSS, BEM, HTML5, PHP, MySQL, PostgreSQL, Angular 2, D3, UNIX, git, CI, Bower, npm, deb, gulp, grunt, webpack, nginx, apache, unit-тестирование, нагрузочное тестирование, написание технической документации, системное администрирование, написание c++ биндингов к node.js.

Работа

В настоящее время работаю в Яндекс над погодными и спортивными проектами.

Сделал фронтовую часть карт осадков (canvas 2d) (видео), визуализацию слоя ветра (webgl) (видео), опираясь на статью "How I built a wind map with WebGL" и карты пыльцы. О ветре рассказывал на конференции fronttalks (стенограмма на Хабре).

Проектировал и разрабатывал для Яндекс.Погода новое гиперлокальное API под Meteum–прогнозы, с кучей данных, бизнес-логик и MatrixNet. Также сделал html/css прототип нового погодного iOS приложения. Участвую в разработке спецпроектов, таких как Паралимпиада в Сочи 2014, ЧМ по хоккею 2014, ЧМ по футболу 2014, а также занимаюсь разработкой внутренних API и сервисов. Портировал с c++ на node.js библиотеку шифрования ссылок. Пример кодированной ссылки на http://vaseker.ru (устареет со временем).

В процессе разработки API для новой Яндекс.Погода, написал c++ биндинг к node.js с динамической загрузкой so-библиотек.

Разработал страницу Погода на 30 дней: графики на D3 с анимациями, адаптивностью и подветкой.

Перезапустил сервис Работа над ошибками: BEM, анимации в 60fps, пререндер изображений для шаринга в соцсетях.

Разработал вкладку трассы колдунщика по поисковым запросам [трасса формула-1 сочи]: Запись в блоге, Видео. Использованы html5 video + svg анимации.

На внутреннем хакатоне собрал на webpack лендинг.

Приобретен опыт работы с D3.js и selenium/phantomjs.

Фриланс

В качестве фрилансера разработал несколько проектов, среди которых можно выделить следующие работы:

  • Survarium.pro – fullstack: разработка api, импортеров данных и фронтенда. Mongo, webpack, stylus, typescript, angular2, http2. Фан-сайт игры survarium, содержащий статистику по игрокам, кланам и матчам игры. Создан по собственной инициативе из-за интереса к игре. На отдельных хостах выполняется импорт данных из официального апи, а также парсинг форума в поисках сообщений разработчиков. На отдельных хостах развернуто api и статик-сервер фронта. В качестве эксперимента фронт написан с использованием фреймворка AngularJS 2, со сборкой в webpack и асинхронными модулями в чанках. В отсутствии официального модуля локализации, реализован простой i18n сервис. Также были написаны таблицы с серверной пагинацией и сортировкой. Предыдущая версия фронта Survarium.pro (v1) была написана с использованием jQuery, DataTables.net, Highcharts.js и сборкой в webpack. Также на основе V1 были сделаны виджеты игроков для использования на сторонних сайтах. Для импорта данных из официального API, был написан клиент, обеспечивающий авторизацию и интервальность запросов (для соответствия ограничениям api по rps). Для оперативного уведомления пользователей о новостях в мире игры, был написан telegram-бот, делающий broadcast в telegram-канал. Организация проекта: Survarium.pro on GitHub
  • Netbuyer.ru – fullstack: разработка api и фронтенда (WIP). OAuth, mongo. На фронте Catberry framework – фреймворк для разработки изоморфных(универсальных) приложений с Flux архитектурой и прогрессивным рендерингом. В процессе разработки проекта внес несколько правок в catberry* репозитории.
  • Transforma – fullstack разработка. Фронтенд работает на BEM.
  • Услуги – разработка фронта, разворачивание CI на базе TeamCity. Фронтенд работает на BEM. Проект умер.
  • Revert Boardshop – разработка frontend-составляющей: верстка, скрипты. Проект умер.
  • Триада-лес – fullstack разработка. Использованы cloudinary для хостинга изображений и mandrill для писем.
  • Amway arcanoid – игра-арканоид для promo-события компании Amway.
  • Bianco-boutique.ru – полная разработка: бэкенд на своей PHP-CMS; верстка, скрипты, SEO. Проект полностью переделан на Битрикс сторонней студией, то есть в продакшене моей работы больше не видно.

Contribution activity

Внес небольшой вклад в разработку: expressjs, node-mongodb-native, bem, enb-make, Catberry framework, node.js.

В прошлом

От скуки на работе, отправил чертовски мерзкие резюме, чисто по приколу, в Яндекс и Mail.ru. В итоге прошел жёсткие собеседования и в Яндекс, и в Мэил. В Mail.ru предложили делать Амиго-браузер, но я отказался в пользу спортивно-погодных сервисов Яндекса. Не пожалел.

Разработал CRM на базе javascript / node.js с использованием socket.io, mysql, ldap. Руководил группой разработки CRM. Некоторое время руководил разработкой Нашел Работу.

Работал единственным разработчком в web-студии, познал jQuery и PHP.

Около 8 лет занимался системным администрированием windows–систем: чинил компьютеры, прокладывал и настраивал ЛВС, поддерживал 1c7/8, всевозможные банк-клиенты, бухгалтерские программы, проводил лицензирование софта, апгрейд железа, разрабатывал сайты.

Написал offline web-приложение для iPad, работающее через jailbreak.

О себе

По образованию математик. Убиваюсь на велосипеде, роликах, коньках, сноуборде. Езжу боком на своем ТАЗе. Частенько играю в PC/консольные игры. Фотографирую. Прыгаю на батутах – могу крутануть сальтуху!

Социализация