Васильев Сергей Юрьевич
- тел.: +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