Обо мне
  • Более 12 лет веб-разработки (неофициального все 15)
  • 7+ лет хардкорного JS без фреймворков
  • 5 лет активного OpenSource (более 16К звезд 😊): github.com/rubaxa, github.com/SortableJS и github.com/artifact-project
  • Пишу статьи, выступаю и провожу небольшие митапы внутри компании
  • Умею организовать работу
  • Люблю писать тесты, частенько использую TS и стараюсь быть в курсе мира JS (хотя бывает утомляет)
  • Всегда стараюсь организовать работу так, чтобы проект не зависел от меня и команда без лишних вопросов вливалась в процесс (документирую, автоматизирую и делигирую)
  • До фронтенда был ведущим PHP-разработчиком (~5 лет) на highload проектах
  • Есть опыт с React, немного Angular и Vue, но больше конечно с React (всё это не считая jQuery, Backbone и кучи других либ)

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

За всё это время приходилось создавать практически каждый «кирпичик» для построения крупного проекта:

  • Модульная система (like amd)
  • Работа с данными (структуры/модели для хранения данных, работа с сервером, инкапсуляция бизнес логики и т.п.)
  • Основа для построения UI компонентов (приходилось писать: обычные строковые шаблонизаторы, DOM-based с точечным биндингом, VDOM и "NativeDOM")
  • Построение UIKit'а (и не одного)
  • Роутинг с правами доступа и многим другим
  • Логирование/Navigation Timing/Метрики
  • Документирование/Тестирование (unit, e2e)
  • Создание инструментов для инспектирования приложения (dev tools иначе говоря)
  • Система сборки (бандлы, дедупликация, вот это всё)
  • Интеграция всего этого с CI

Вроде неплохо разбираюсь в performance и знаю как заставить приложение работать быстро, даже если «всё ооочень плохо», без фанатичного «а давайте всё перепишем». В своё время, ради эксперимента, написал сервис jsbench.github.io

Если говорить непосредственно про разработку проектов, то я ярый приверженец «пакетной» разработки, это когда задача реализуется не в виде сильно связанного кода внутри проекта, а декомпозируется на ключевые части (с четко очередной зоной ответственности), которые реализуются как независимые npm-пакеты (с своей документацией, тестами и примерами). После чего, остаётся только связать всё воедино на проекте.

Такой подход позволяет писать максимально качественный, легко поддерживаемый и переиспользуемый код, который «не прибит гвоздями» к проекту. Конечно всё это публикуется в локальный npm-registry и версионируется по semver, иногда даже changelog завожу.

Кроме этого, в боевых условиях получилось попробовать очень и очень многие веб-технологии, например (то, что запомнилось больше всего)

Ну и немного ключевых навыков из инфраструктурного соля: написание grunt, gulp-тасков, конфигурирование webpack, babel-плагинов, создание трансформеров для TS и многое другое.

Полезные ссылки:

Участие в профессиональных сообществах
Опыт работы
Май 2010 — по настоящее время (7 лет и 5 месяцев)
JavaScript программист
Москва
Ноябрь 2008 — Апрель 2010 (1 год и 6 месяцев)
JavaScript программист
Москва
Обязанности и достижения
Обязанности: - Разработка клиентской части для основного проекта (http://mamba.ru/) и нишевых (http://monamour.ru/, http://lubovniki.ru) - Написание всего JS для новой версии mamba.ru (http://new.mamba.ru/) - Реализация сложных интерфейсов - Структуризация кода, приведение к единому стилю - Стандартизация взаимодействия client-server - Оптимизация и сокращение время загрузки страниц - Логирование ошибок на стороне клиента и их анализ
Сентябрь 2006 — Ноябрь 2008 (2 года и 3 месяца)
PHP программист
Москва
Обязанности и достижения
Обязанности: - Реафкторинг и оптимизация существующего кода - Доработка и расширение функционала для VIP-пользователей, разработка новых сервисов - Участие в проектировании и написании текущего фреймворка системы (ядра) - Работа по интеграции с сторонними сервисами - Реализация взаимодействие между  PHP + Daemon + Flash + JavaScript - и тд.
Август 2005 — Сентябрь 2006 (1 год и 2 месяца)
раб
Ярославль
Обязанности и достижения
Верстка и программирование функционала сайтов на базе cms «1С-Битрикс». Интеграция с 1С и sms-шлюзами. PHP, JavaScript, Flash. Были созданы предыдущие версии сайтов: http://love.ru/ (в основном работал на ним) http://www.spkgroup.com/ http://www.k2kapital.com/ http://gloria-jeans.ru/
Высшее образование
Январь 2001 — Январь 2005
ЯГТУ
Автомеханический
Ярославль