Резюме

Васильев Сергей Юрьевич

  • тел.: +7 916 363 9895
  • email: nolar@nolar.info

ВКРАТЦЕ

  • Управление командой из 30 технических специалистов (разработчики, сисадмины, и пр.) в роли технического директора.
  • Разработка трёхзвенной сервис-ориентированной архитектуры веб-приложения.
  • Опыт собственноручной работы с Python, Django, PHP, PL/SQL.
  • 2 года фриланса в веб-разработке.
  • Магистр техники и технологий со специализацией «Распределённые автоматизированные системы».

ОПЫТ

Старший разработчик (DevOps in QA)
Акронис

Большая корпорация. Не стартап.
Ноябрь 2014 – Август 2015. Москва, Россия.

Поддержка и развитие инфраструктуры для автоматизации тестирования (Hyper-V, ESX/ESXi), самодельных систем запуска тестов и разворачивания тестовых окружений, сбора, анализа и презентации результатов авто-тестов (ElasticSearch, Kibana, Django). Сделал мониторинг инфраструктуры (Zabbix). Разработал несколько нагрузочных тестов для облачного продукта (Docker, Amazon AWS, Locust).

Технический директор
gdeetotdom.ru

Веб-портал и агрегатор по недвижимости; 80 сотрудников.
Июль 2012 – Февраль 2014 (1 год 8 мес). Москва, Россия.

Всё, что написано ниже для начальника отдела разработки на постоянной основе, плюс управление отделом ИТ, отвечающим за инфраструктуру портала, корпоративных систем и техническую поддержку сотрудников компании.

Реструктурировал всю инфраструктуру и веб-портала, и корпоративной среды: перенесли в виртуальные машины всё, что может быть виртуализовано без ущерба для функциональности, реорганизовали сервера и их роли, тем самым добившись лучшей утилизации аппаратных ресурсов, значительно уменьшили простой по CPU/RAM/IOPS, а также улучшили изоляцию прикладных сервисов (как с точки зрения безопасности, так и с точки зрения контроля потребляемых ими ресурсов).

Перенесли бо́льшую часть инфраструктуры с устаревших серверов на колокейте в России на арендованные сервера в Европе, тем самым избежав назревших разовых капитальных расходов на 10 млн. руб., сократив операционные расходы на хостинг портала на 40-50%, а стоимость дальнейшего содержания и обновления инфраструктуры (TCO) — на 50-70%. Что высвободило время отдела ИТ на более важные задачи и устранило назревшую к тому моменту нехватку вычислительных ресурсов.

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

Начальник отдела разработки
gdeetotdom.ru

Веб-портал и агрегатор по недвижимости; 80 сотрудников.
Август 2010 – Июль 2012 (2 года). Москва, Россия.

Управлял отделом из разработчиков фронтэнда, бэкэнда и базы данных, тестировщиков и верстальщиков. Изначально было 13 сотрудников (8 в штате и 5 фрилансеров). При росте компании и обновлении команды в 2012 нашёл и нанял ещё 12 разработчиков за 6 месяцев, в итоге руководя 27 сотрудниками к концу 2012 (без помощи HR — таковы обстоятельства).

Совместно построили процессы работы и взаимодействия в распределённой команде разработчиков, 80% которой разбросаны по стране без точек концентрации (но все в штате и на полный рабочий день).

Предложил и изначально реализовал принципиальное изменение архитектуры с целью достижения базовой масштабируемости системы, гибкости и поддерживаемости кода. Была построена трёхзвенная сервис-ориентированная архитектура (SOA), но с сохранением рабочего состояния старой системы в течение двухлетнего переходного периода (по изначальному плану). Бэкэнд и фронтэнд взаимодействуют по RPC-протоколу Apache Thrift. Бэкэнд состоит из нескольких изолированных приложений на самодельном Thrift Application Server на Python; фронтэнды работают на PHP.

Поддерживал унаследованный PL/SQL-код в Oracle Database при отсутствии PL/SQL-разработчиков: вносил изменения для оптимизации быстродействия и для устранения ошибок, оптимизировал хранилища и некоторые настройки СУБД.

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

Непосредственно руководил некоторыми долгосрочными проектами компании как руководитель проектов: мобильных приложений и API, тыловых систем импортов, экспортов и краулинга, корпоративной системы управления контентом, платформенных сервисов для разработчиков.

Полностью отвечал за системную архитектуру: все компоненты, протоколы, взаимодействие со сторонними решениями и продуктами, стабильность, безопасность, быстродействие системы и пр.

Ведущий Python-разработчик
gdeetotdom.ru

Веб-портал и агрегатор по недвижимости; 50 сотрудников.
Февраль 2010 – Август 2010 (7 мес). Москва, Россия.

Руководил командой из трёх Python-разработчиков, включая: управление задачами, приоритетами, планирование функциональности и контрольных точек, контроль сроков, консультации и советы по архитектурным решениям в рамках проектов. Команда работала над корпоративной системой управления контентом (админкой) и над системой сбора и обмена данными с партнёрами (импорт, экспорт, краулинг).

Разработал несколько прототипов приложений по недвижимости для телефонов Nokia, позволявших изучать объекты рынка недвижимости как по списку, так и на карте, фильтровать их по критериям.

Python-разработчик
gdeetotdom.ru

Веб-портал и агрегатор по недвижимости; 50 сотрудников.
Сентябрь 2009 – Февраль 2010 (6 мес). Москва, Россия.

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

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

Разработал примерно 10 тыловых приложений в админке, несколько динамических виджетов для использования в интернете; поддерживал и улучшил 10-15 приложений других разработчиков, включая фрилансеров. Всё упомянутое сделано на Python 2.6 & Django 1.1 (позже — Django 1.2). Активно использовались самодельные Django-виджеты и хаки за рамками возможностей Django.

Старший PHP-разработчик
Project 2000+

SaaS-конструктор веб-сервисов и веб-сайтов (стартап); 5 сотрудников.
Июль 2008 – Май 2009 (11 мес). Москва, Россия.

Разработал фреймворк на PHP 5.3, включающий слои абстракции баз данных и кешей, Cacheable Object-Relational Mapping (ORM) с механизами прозрачной инвалидации кеша, координацию транзакций в нескольких шардах и кешах одновременно, систему прав доступа к данным и прочие компоненты. Также разработал структуру баз данных с горизонтальным и вертикальным шардингами, используя MySQL 5 в качестве хранилища.

Соучаствовал в общих архитектурных решениях команды. Некоторые решения делал сам, как то: архитектура низкоуровневых функциональностей и внешнего API, способы масштабирования системы.

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

Стартап был закрыт до запуска из-за прекращения финансирования.

PHP-разработчик
Дизайн-студия «Ховард»

Студия веб-разработки и полиграфии; 7 сотрудников.
Август 2007 – Июль 2008 (1 год). Москва, Россия.

Разработал студийную систему управления контентом (CMS) на сайтах, схемы данных для всех проектов, утилиты по обработке конента (типографика и подобное), серверные и клиентские части сайтов на основе студийной CMS, а также множество утилит по взаимодействию со сторонними ресурсами. Список сайтов: www.feel-best.ru, www.howard-studio.ru, www.allent-audit.ru, www.otto-best.ru, www.tk-promtorg.ru, www.anas.ru, www.kolazko.ru, www.stone-valley.ru, www.juki.su, www.autobam.ru. Всё сделано на PHP 5 и MySQL 5.

PHP-разработчик
Фриланс

Август 2005 – Август 2007 (2 года).

Разработал собственную систему управления контентом (CMS) на основе PHP 5 и MySQL 5, XML+DOM+XSLT в качестве шаблонизатора. Использовал эту CMS в нескольких веб-сайтах (www.doy306.ru, www.digart.ru).

Разрабатывал автоматизированную систему отслеживания миграций персонала в многофилиальной торговой сети: бизнес-логика в хранимых поцедурах MYSQL, XML/DOM для управления данными, XSLT для шаблонизации, PHP в роли контроллера.

Администратор технической поддержки
Интернет-провайдер КрасЛАН / ООО «Саяны»

Ноябрь 2003 – Август 2005 (1 год 10 мес). Красноярск, Россия.

Разработал утилиты по управлению сетью и серверами, скрипты обслуживания самописного биллинга (Interbase; С/С++). Администрировал сервера интернет-провайдера (FreeBSD). Построил и управлял службой технической поддержки провайдера: техническое консультирование по телефону, емейлу и непосредственно в офисе. Спланировал и внедрил процедуры координирования бригад обслуживания сети на местах.

Ассистент
Сибирский государственный технологический университет

Сентябрь 2000 – Август 2003 (3 года). Красноярск, Россия.

Преподавал структурное программирование и ООП для разработчиков, информатику и базы данных (MS Access) для гуманитариев.

ОБРАЗОВАНИЕ

Магистр техники и технологий по направлению информатика и вычислительная техника.
Специализация в распределённых автоматизированных системах.
Сибирский государственный технологический университет
2000 – 2002

Бакалавр техники и технологий по направлению информатика и вычислительная техника
Сибирский государственный технологический университет
1996 – 2000