Обо мне

Целеустремленный программист, стремящийся к личному росту в рамках дружного коллектива единомышленников. 

Недавно сдал экзамен Microsoft 70-483 Programming in C# (ссылка на подтверждение: https://www.youracclaim.com/badges/f0642a4d-7378-4a4d-abfa-242c9d8430e7/public_url)

Быстро и легко обучаем.

В свободное время изучаю новые технологии, сейчас это React на pet-проекте

Профессиональные навыки
Опыт работы
Cистемы управления предприятием
Старший программист
Ноябрь 2017 — По настоящее время (2 года)
  • ASP.NET MVC 5
  • C# 4.7
  • MS SQL Server
  • jQuery
  • Entity Framework (DBFirst)
  • Git
  • Проектирование архитектуры и проектирование базы данных
  • WCF + SOAP+ MTOM
  • Code review
  • Ninject
  • TFS 

Товаро-Закупочная система РусГидро

Проект разбит на две части web приложение - ASP.NET MVC 5 + C# 4.7 + MS SQL Server + jQuery. И служба интеграции с внешними системами - C# 4.7 + MS SQL Server.  Мне удалось поучаствовать в разработке обеих подсистем.

В рамках поддержки службы интеграции реализовал интеграцию с новой торговой площадкой на основе WCF, часть данных интегрировалась через SOAP поверх MTOM. Так же успешно занимался поддержкой большой базы legacy кода. Во время разработки web приложения самозабвенно реализовывал меняющиеся требования заказчика, добавляя новую функциональность с трепетным отношением к уже существующему коду, проектировал архитектуру новых блоков и БД под них. Плотно взаимодействовал с отделами тестирования и аналитики.  На фронте использовал Razor + jQuery. В обоих проектах использовал EntityFramework (DBFirst), изменения в структуре БД накатывал через FluentMigrator.  Mapping данных осуществлял через AutoMapper, DI через Ninject. Так же проводил CodeReview,  система контроля версий Git. Обучал новых разработчиков, декомпозировал бизнес процессы, назначал задачи через TFS, контролировал их выполнение.

НИИЦ (г. Курск) 18 ЦНИИ МО РФ
Курск
Инженер-программист РНТ 2 категории
Август 2012 — Январь 2018 (5 лет и 6 месяцев)
  1. Система обработки данных:
  • Qt 4.8 
  • MySql
  • Асинхронная обработка

  2. Система обработки данных:

  • C# 4.5+ WinForms
  • MS SQL Server + EntityFramework(DBFirst), MySql/Maria+Mongo
  • Redmine, Git
  • Проектирование архитектуры системы
  • Проектирование базы данных, оптимизация запросов, написание хранимых процедур
  • Многопоточная обработка данных, параллельная обработка данных
  • Постановка задач разработчикам и контроль их выполнения

Первым проектом была система обработки данных, написанная с нуля на Qt 4.8. Система представляла Win приложение, данные хранила в MySql. При разработке столкнулся с рядом интересных алгоритмических задач, для решения которых использовал деревья, различные алгоритмы поиска. Так же применяли асинхронную обработку данных.


Вторым проектом была, как это неудивительно, система обработки данных))) И тоже с нуля, но под вдохновением от первого проекта. Здесь уже использовал C#. Разрабатывал архитектуру системы и основные высоконагруженные блоки. По привычке писал WinForm приложение, в качестве СУБД MariaDB.
Но проект развивался, а требования росли — обработка около 30 ГБ данных за час, генерирующих около 5 млн записей в БД + статистика + выводы на её основе. Пришлось играть в многопоточность и параллельную обработку. Для оптимизации производительности часть статистики генерировал через хранимые процедуры. Так же для отображения статистки написал простенький движок на canvas с перетаскиванием и алгоритмами сортировки графов. Так как заказчик хотел генерировать произвольные запросы в БД - написал графический генератор SQL запросов - без Join-ов, но с Group By. От MariaDb перешел к MySql в связке MongoDb, но по политическим соображениям от Mongo отказались - данные перенесли в Json в MySql. Так же росла команда - обучал новых программистов и помогал им стать частью коллектива. Для поддержки командной разработки развернул локальный Redmine, в качестве системы контроля версий использовали Git. Далее проект вновь сменил СУБД на MS SQL Server + EntityFramework (DBFirst), а вместе с этим начал переползать на клиент-серверное русло, реализацию клиент сервера осуществлял через RMI. На этом мое участие в данном проекте и компании закончилось.

Высшее образование
Курский государственный университет
Курск
Факультет: Информатики и вычислительной техники
Сентябрь 2010—Июль 2013 (2 года и 10 месяцев)

Математик-программист

Региональный финансово-экономический институт
Курск
Факультет: Менеджмента организаций
Сентябрь 2008—Июль 2013 (4 года и 10 месяцев)

Менеджер