Мегапосты:
Обо мне

Я хочу создавать решения, благодаря которым люди будут улучшать свою жизнь и самих себя. Предметные области с "естественными объектами" мне подходят больше, чем абстрактные "числа о числах", поэтому финансы и маркетинг мне не очень интересны.

К разработке отношусь как к увлечению, но с разумной ответственностью. Стараюсь докопаться до сути и понять исходный замысел (например, читая и разбирая чужой исходный код, в том числе через .NET Reflector); не разделяю попыток решения "наугад". Слежу за чистотой и форматированием кода (к домашним проектам подключены StyleCop и SonarQube). Одной из метрик качества продукта, будь то код или интерфейс, считаю простоту и скорость освоения (также известную как WTFs/minute).

Скромный интроверт. Экспромту предпочитаю ответы на вопросы собеседника. Люблю настольные (еврогеймы, америтреш — да, социальные — нет) и видеоигры (adventure, [J]RPG, metroidvania).

Профессиональные навыки
C#.NETООПSQLHTMLCSSJavaScriptGitAgile
Опыт работы
Мы — необычная компания. Мы одновременно являемся IT-стартапом и международной сетью пиццерий.
Программист
Апрель 2019 — По настоящее время (10 месяцев)
Профессиональная ТМС (Travel Management Company) в России
Программист
Апрель 2017 — Декабрь 2018 (1 год и 9 месяцев)

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

— C# 6.0, .NET Framework 4.6;

— Autofac, Entity Framework, RabbitMQ;

— Web Forms, MVC, WCF, WebAPI;

— HTML, CSS, JavaScript (ECMAScript 6, jQuery, AngularJS);

— Windows-службы на основе обертки над System.ServiceProcess.ServiceBase;

— Unit-тестирование (NUnit, Moq);

— Team Foundation Server 2017, ProGet;

— Git (Continuous Integration и схема ветвления с минимумом merge conflicts);

— Scrum, общее владение кодом, code review (внутри команды и межкомандное).

Дорабатывал клиентский портал с гибким мастером создания заявок на командировку и их дальнейшим контролем в соответствии с требованиями клиентов. В том числе часть портала была переведена с Web Forms и MVC на AngularJS с актуализацией перенесенной функциональности, чтобы команда могла быстрее вносить требуемые изменения.

Отлаживал и расширял функциональность модуля онлайн-бронирования железнодорожных билетов (включая доработку интеграции с HTTP-шлюзом UFS.Travel).

Разрабатывал настраиваемый модуль динамического контроля политики путешествий для ж/д-билетов и административный интерфейс к нему.

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

Проводил рефакторинг legacy-кода для улучшения его читаемости и простоты понимания (путем удаления неиспользуемой функциональности, добавления документирующих комментариев и покрытия unit-тестами), а также перевода на единую платформу с новыми версиями общих компонентов и, таким образом, повышения производительности. Так, отказ от "зоопарка" DAL'ов большого административного портала, написанного еще на Web Forms, и его перевод на общий DAL на основе Entity Framework позволил снизить количество SQL-блокировок и SQL-таймаутов на общей для всех систем базе данных в 3 раза.

Участвовал в коллективной предварительной оценке пользовательских историй с применением Planning Poker и их декомпозиции на отдельные задачи для разработчиков.

Писал статьи для внутренней вики-системы (Confluence) — описания процессов внутри команды, настройка сборки и публикации в TFS, пошаговые объяснения для разработчиков.

Интравижн
Москва
Программист
Август 2015 — Март 2017 (1 год и 8 месяцев)

Разработка информационных сайтов и веб-приложений для клиентов и партнеров АО «Мерседес-Бенц РУС» с применением следующих технологий:

— C# 5.0, .NET Framework 4.5;

— Autofac, Entity Framework;

— MVC, Web API;

— HTML, CSS, JavaScript (jQuery);

— Topshelf (также есть опыт работы с System.ServiceProcess.ServiceBase);

— SVN, Git (собственная модель ветвления на основе git-flow).

Разработал AS Platform — единую административную зону веб-проектов послепродажного обслуживания автомобилей (After Sales), также предоставляющую HTTP API для внешних систем дилеров Мерседес-Бенц.

Создал несколько модулей для имеющего CMF-архитектуру AS Portal — дилерского портала по послепродажному обслуживанию автомобилей. В том числе был разработан генератор маркетинговых материалов — PDF-файлов, готовых для печати и соответствующих правилам и руководствам по использованию фирменного стиля Daimler AG.

Участвовал в разработке проектов для владельцев автомобилей Мерседес-Бенц:

— AS Campaigns (специальные кампании послепродажного обслуживания);

— Complete Wheels (продажа колес в сборе);

— Parts Price (проверка цен и наличия запасных частей по артикулу);

— Service Certificate (калькулятор и заказ Сервисного Сертификата на обслуживание автомобиля);

— Service Online (запись на сервисное обслуживание с учетом занятости подъемников СТОА);

— Service Price (калькулятор стоимости сервисного обслуживания).

Во время работы над проектами приводил legacy-код в порядок — исправлял TODO и Warning'и, упорядочивал и понижал связность компонентов, переформатировал код в едином стиле.

Проводил простой анализ производительности, поиск и ликвидацию "бутылочных горлышек" в нескольких проектах при помощи ab и dotMemory / dotTrace.

Московский институт энергобезопасности и энергосбережения
Москва
Администратор систем дистанционного обучения
Август 2011 — Июнь 2015 (3 года и 11 месяцев)

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

Разработал оболочку для электронных образовательных курсов, распространяемых на компакт-дисках, для обучения студентов Института, не обладающих постоянным подключением к интернету, а также редактор с возможностью импорта уже разработанных курсов из Moodle.

Разработал несколько модулей для Moodle (например, отчеты по итоговым оценкам из всех курсов студента или массовое управление группами студентов, сквозное для всех курсов).

Спроектировал, сверстал и настроил новые версии сайтов Института на основе MODX Revolution.

Поддерживал и исправлял ошибки (либо находил пути их обхода) в программном обеспечении, используемом в Институте (Moodle и его расширения, система создания и анализа учебных планов, система подготовки и печати дипломов). В частности, провел обновление и настройку программного обеспечения веб-сервера Института (Apple Xserve).

Высшее образование
Университет Российской академии образования
Москва
Факультет: Информационных технологий
Сентябрь 2008—Июль 2013 (4 года и 10 месяцев)
Специальность «Прикладная математика и информатика». Закончил обучение с красным дипломом. Присвоена квалификация «математик, системный программист».