Обо мне

JS Senior Frontend разработчик.

  • gulp/webpack
  • AngularJs/Angular2
  • CSS3/BEM/FlexBox/
  • Sass/Less
  • JavaScript(ES6)/CoffeScript/TypeScript

Евангелист ООП и AngularJS

Кроме этого неплохо себя чувствую на бекенде, раньше работал full-stack, бекенды были на PHP/C#, сейчас есть pet проекты на node.js/express

Профессиональные навыки
AngularJSPHPJavaScriptLinuxNode.jsООПGitRestWebpackGulp
Опыт работы
Август 2015 — по настоящее время
Senior Frontend Developer
Москва
Обязанности и достижения

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

Это SPA приложение с большим количеством UI элементов, и проблемами свойственными ему (большое количество вотчеров, утечки памяти, сложность восстановление состояния, долгий холодный старт и т.п.)

Я был нанят как специалист с опытом работы в туристической сфере и с глубокими знаниями AngularJS.

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

Так же я был "евангелистом" статического анализа кода, сначала путем максимально аннотации кода JS doc, а затем переездом на TypeScript.

За год работы в команде, я узнал и опробовал на практике больше новых инструментов и технологий чем за 3 года работы в enterprise до этого.

Технологии:
Babel/Typescript/Sass/Gulp/AngularJs/Webpack/Browserify/Jade/GetText/Tape

Август 2012 — Август 2015
Tourism Holding and Consulting (THC)
ведущий разработчик, руководитель отдела
Москва
Обязанности и достижения

1. Разработал и поддерживал систему отправки рассылок.

Интерфейс, бизнес логика, демон написаны на php (yii), база mysql. Почтовый сервер exim. Php общается с сервером через сокет (по протоколу SMTP) Реализован debouncing (exilog пишет в базу логи, а затем демон анализирует их и блочит недоступные ящики), отписка от рассылки, spf/dkim подписи, статистика (просмотры, отписка, рейтинг рассылок). Реализован RestFul api для программного создания рассылок.

Стек: yii1/php/composer/RestFul/exim/smtp

2. Приложение для генерации текста рассылок для менеджеров.

SPA приложение написанное на AngularJs, позволяет сгенерировать рассылку из цен на туры. Приложение содержит несколько CRUD экранов (шаблоны, справочники), интерактивный редактор шаблонов (на подобие jsfiddle), лог завершенных и очередь рассылок.
Приложение общается с несколькими бекендами, используется asp.net web api (цены и поисковые данные) и Yii1 php (шаблоны, очереди и и т.п.).

Стек: RequireJS/Bower/Yii1/ASP.net/MSSql/AngularJS/Sass

3. Корпоративный портал предприятия.
Полностью моя идея и реализация. Портал собирающий в себе разные задачи и функции.
Новости, база знаний, журнал Asterisk'a (CDR), отчеты и многое другое.
Написан на Yii1, используется RBAC авторизация c LDAP (по этому поводу написал статью на хабре http://habrahabr.ru/post/177873/).

4. Каталог отелей (сейчас заменено другим решением).
Клиент-серверное решение для предоставления отельной информации везде где это надо.
Отели заносятся в базу в одном месте, и отображаются на всех сайтах операторов и внутренних ресурсах холдинга .

Кроме простого справочника с отелями содержит систему привязок к внешним источникам (маппинг). Например можно привязать наши отели к отелям из tripadvisor.com (что бы выводить на страничке отеля его рейтинг).

Интерфейс маппинга отелей написан на AngularJs - интерактивное приложение ускоряющее процесс сопоставления отелей. Оно автоматически проходит по локальному каталогу и пытается предложить наиболее подходящие варианты отелей из внешней системы, реализован full-text search на клиентской стороне.

Stack: Yii1/AngularJs/Codeception

5. Приложения для бизнеса на C#/Отчеты
Данные приложения интегрируются в систему расчетов туров компании и в основном служат для генерации всевозможных форм, документов, выписки билетов и прочего.
В них используется очень скудный набор инструментов, т.к. они работают в среде чужого приложения.

Stack: C#/ReportSharpShooter/MSSql

В качестве CVS использовался Git, был поднят локальный Gitlab.
Задачи были в Мегаплан.

Январь 2012 — Июль 2012
Студия Web112
Старший веб-разработчик
Краснодар
Обязанности и достижения

В основном занимался рефакторингом и продумыванием архитектуры сложных проектов студии. Дорабатывал студийную CMS, а так же разрабатывал сайты клиентов.

Февраль 2011 — Январь 2012
Юг-Авто
Веб-разработчик
Краснодар
Обязанности и достижения

Поддержка сайтов холдинга. Постоянное улучшение, обновление текущих и разработка новых проектов для холдинга. Активная каждодневная разработка, как серверных частей так и клиентских на PHP (MVC, ООП), Javascript/Jquery/Ajax.