Обо мне

Много лет на perl, отдельные системные задачи на С, потом плотно PHP. Осознание ООП, SOLID. Уважение к DDD. Фреймворки Yii1, потом Symfony 2+. Отдельные проекты на Yii2 и Laravel.

По СУБД - много PostgreSQL и MySQL. Предпочитаю PostgreSQL (частичные индексы, индексы по выражению, подробный explain, json/hstore, GIN и GiST индексы, транзакционная схема, оконные функции).

В клиентской разработке слежу за тенденциями и технологиями на уровне экспертизы. Верстка - правлю готовое, разбираюсь в технологиях, но с нуля верстать желания нет. В JavaScript есть опыт с Backbone + Marionette. Меньше опыта с React, redux, интерес к TypeScript, идеям flux.

Знание Linux уровня среднего администратора, могу настроить и администрировать веб-сервера, сервера баз данных, сервера разработки и т.п. Кластерная архитектура, репликации, виртуализация, немного настройка под хайлоад. Создание среды разработки на базе vagrant, знание ansible; с docker опыта меньше.

В идеале ищу работу с возможностью применять весь накопленных багаж знаний с возможностью принимать технические решения (Tech lead, CTO). "Работа руками" только приветствуется, как в программировании, так и в серверном администрировании.

Участие в профессиональных сообществах
Опыт работы
Ноябрь 2009 — по настоящее время (8 лет и 2 месяца)
Технический директор (Team Leader / Lead Architect)
Москва
Обязанности и достижения

Студия занимается сложными сайтами в области электронной коммерции. Клиенты: Топ страховые компании, крупные офлайн магазины и т.п.

Административные задачи: сбор требований и потребностей заказчика, их анализ и формализация, корректировка вводных по мере развития проекта; управление командой разработчиков, постановка задач, код-ревью, организация workflow, контроль документирования.

Инженерные задачи (50-80% общего времени):  построение конечной программно-аппаратной архитектуры продукта; выбор решений и ПО; согласование интеграции в системы заказчика; собственно разработка (роль программиста); создание инфраструктуры разработки и деплоя.

Buzzwords: Бек: PHP, Yii 1, Yii 2, Laravel, Symfony, PhpUnit, Condeception // БД: MySQL, PostgreSQL, Redis, ElasticSearch, Sphinx // Технологии: SOAP, REST, Memcache // Теория: ООП, паттерны, SOLID, DDD // Фронт: HTML/CSS, JS, Backbone, Marionette, React, Angular 1 // Devops: Vagrant, Lxc, Ansible, Docker, Nginx, Teamcity // Процесс: Redmine, Basecamp, Youtrack, Git, Svn, PhpStorm, Upsource, Confluence // Офис: Samba, AD, Asterisk, СКД, Lxc.

Проекты:

Сбербанк Страхование. Подбор инвестиционного портфеля премиум-клиентам на основе заданной доходности и волатильности. PHP, Postgresql, XML импорт, Symfony 3. Участие: проектирование, программирование, документирование проекта.

Мастердом (ретейл). Продажа спектра товаров для отделки (плитка, шторы, сантехника) + выставка работ дизайнеров интерьеров с личным кабинетом дизайнера. PHP, Postgresql, Symfony, SOAP интеграция с кор-системой (номенклатура, остатки, новые заказы, статусы), FOSRest, NelmioAPIDocs, Elasticsearch для нечеткого фасетного поиска со сложными группировками, синхронизация с legacy кодом и базой, фронт на React, Redux, изоморфный рендер на nodejs. Участие: проектирование, разработка (бек), документирование, эксплуатация.

Страховой Дом ВСК. Сайт страховой компании. PHP, Yii, Postgresql, интеграция с кор-системой для оплаты счетов, интеграция с платежными системами и выпиской чеков. Административный интерфейс - Angular. Участие: проектирование, разработка (бек), эксплуатация.

Зетта Страхование. Разработка страховых калькуляторов для продуктов. PHP, Symfony, Postgresql c последующей миграцией на MS SQL, интеграция с продуктовыми фабриками на получение справочников и создание заявок на полис, фронт (сам калькулятор) Backbone, Marionette. Участие: проектирование, разработка (фронт).

Allianz Russia. Сайт электронный продаж. PHP, Yii, Postgresql, Gearman, Memcached, Redis, sphinxsearch. Калькуляторы основных страховых продуктов, расчет на клиенте, оформление заявки. Бекофис менеджеров - организация распределения и workflow заявок, автоматическое заполнение PDF Form полисов для всех продуктов.  Интеграция с кор-системой (SOAP/XML). Для полисов онлайн-продаж - интеграция с системой оплаты и электронного документооборота (ЭЦП). Рекуррентные платежи (совместно с Альфа-банком). Участие: проектирование, разработка (бек), эксплуатация.

Probok.NET. Сайт сбора и ведения заявок с привязкой к адресу. PHP, Postgresql, PostGIS, Yii 1, Angular 1, Yandex.Map API. Внесение в базу заявок с привязкой к адресу. Поиск заявок по своему маршруту. Бекофис управления жизненным циклом от заявки до завершенного проекта. Участие: проектирование, разработка (бек), эксплуатация.

Делового совета по сотрудничеству с Индией. Информационный сайт.  PHP, MySQL. Интеграция с новостными системами, анализ потока новостей на тематику для автоматической ленты новостей. "Живой поиск" (incremental search) - sphinxsearch. Участие: разработка, эксплуатация.

Октябрь 2006 — Январь 2010 (3 года и 4 месяца)
Автокомьюнити
Технический руководитель
Москва
Обязанности и достижения

Стартап по сервисному консалтингу автомобильных дилеров через формирование активного комьюнити. Приглашен для разработки сайта (основной актив стартапа) и технической платформы "под большие нагрузки".

Разработка программной части велась командой из 3-х человек (я, серверный разработчик, фронт). Занимался программно-аппаратной архитектурой сайта и программированием бекенд. Было заложено кеширование данных на нескольких уровнях абстракции, горизонтальное масштабирование.

Разработал аппаратную архитектура кластера: распределение нагрузки, HA, heartbeat + crm(pacemaker)), балансировка, репликация данных (postgresql). Запуск в работу и эксплуатация (fc, multipath, сервера, cisco, взаимодействие с датацетром).

Плотно познакомился с PostgreSQL, поверхностно с slony, pgPool, pgcluster (cyberclaster). Конечно же memcache, noSQL, nginx.

Август 2005 — Сентябрь 2006 (1 год и 2 месяца)
Quickline
Руководитель проекта
Москва
Обязанности и достижения

Создание хостинговой платформы для виртуального хостинга + набор SaaS услуг (выбор решений, программирование, настройка серверов и скриптовой обвязки).  Программирование на PHP, Perl и С. Работа с qmail, vpopmail, Horde, ldap, nginx, apache (был написан mod_aclr для апача).

Участие в проектировании ЦОД, разработка решений для предоставления услуг виртуального хостинга, колокейшена. Участие в разработке бизнес-процесса предоставления подобных услуг и контроль его хода.

Было очень познавательно с точки зрения технологий построения ЦОД, систем охлаждения и питания и т.п. Помогло в дальнейшем при участии в отдельном проекте создания датацентра при участии группы проф. сервиса APC.

Август 2004 — Август 2005 (1 год и 1 месяц)
Лауд-Линк
Системный администратор
Москва
Обязанности и достижения

Активное сетевое оборудование, VoIP, интранет, IT обеспечение работы офиса. Системное программирование на Perl

Январь 2000 — Январь 2002 (2 года и 1 месяц)
Sub Service
IT менеджер, партнер
Москва
Обязанности и достижения

Виртуальный хостинг. Мини-стартап из двух человек. ПО для панели управления и биллинга (Perl). Скриптовая обвязка управления серверами. Иная разработка сайтов по заказам (Perl). Администрирование работы персонала и контроль процесса предоставления услуги. Настройка и администрирование сервера хостинга.

Высшее образование
Сентябрь 1994 — Февраль 2000
МГИЭМ
Электроники; ФЭ
Москва
Специализация и достижения

Специалист. Инженер по специальности "Электронное машиностроение". 5½ лет.