Был более двух недель назад

Фефилов Дмитрий Геннадьевич

Мужчина, 43 года, родился 30 декабря 1981

Рассматривает предложения

Зеленоград, не готов к переезду, готов к редким командировкам

Контакты
 +7 916 272-36-01
Телефон подтвержден
fefilovdg@gmail.com — предпочитаемый способ связи

.NET Software Engineer

Специализации:
  • Программист, разработчик
  • Руководитель группы разработки

Занятость: полная занятость

График работы: полный день, удаленная работа

Опыт работы 22 года 11 месяцев

Февраль 2024по настоящее время
1 год 11 месяцев
ИП Фефилов Дмитрий Геннадьевич

Зеленоград, www.rusprofile.ru/ip/320508100395622

Информационные технологии, системная интеграция, интернет... Показать еще

Ведущий разработчик
Участие в проекте импортозамещения крупного банка: - Перевод MS SQL-запросов на средний слой, используя Entity Framework, с целью дальнейшей миграции на PostgreSQL; - Разделение логики по принципу CQRS: на отдельный запросы и команды; - Пернос логики из общего домена в отдельный сервис, реализующий ограниченный контекст в терминах DDD; - Перенос логики из хранимых процедур и функций MS SQL Server на средний слой; - Отладка и тестирование. Разработка облачного решения автоматизации грузоперевозок на базе платформы "Республика": - Разработка нового функционала, используя CQRS подход, шаблон проектирования Mediator, синхронное взаимодействие между сервисами через REST API и асинхронное через очереди Apache Kafka, хранение данных в MongoDB; - Внесение изменений в UI основного приложения и отдельных сервисов: JavaScript, Knockout.js, Vue.js; - Перевод части функционала на асинхронное взаимодействие через очереди Apache Kafka вместо синхронного, через REST API; - Реализация двух вариантов кэширования: in-memory и второго уровня на базе Redis; - Реализация последовательной обработки потока контрактаций по конкретному договору между грузоотправителем и грузоперевозчиком на базе очередей Apache Kafka; - Организация хранения прогресса выполнения распределённых операций на базе Redis. Развитие самой платформы "Республика": - Расширение функциональной части платформы на основе обобщённых требований. Оптимизация кода, исправление ошибок, тестирование. Внедрение OpenTelemetry: - Изучение и анализ существующих решений и практик; - Подготовка NuGet-пакета с набором необходимых библиотек и подключение его во все сервисы; - Настройка конфигурации для записи в OpenSearch Data Prepper и просмора в OpenSearch Dashboards; - Организация проброса единого correlation id с фронтенда по всей чепочке сервисов в рамках бизнес-транзакции; - Расширение функционала "из коробки" через Custom Instrumentation API. Внедрение гексагональной архитектуры, рефакторинг: - Разделение платформы "Республика" на модули и перевод от монолита к модульному монолиту, где отдельный модуль реализует ограниченный контекст в терминах DDD по принципу гексагональной архитектуры; - Выделение Domain, Application, Infrastructure, API, Abstractions и Shared Kernel; - Миграция логики из контроллеров в соответствующее место: Application, API, Infrastructure; - Разделение запросов на чтение и запись по принципу CQRS; - Реализация доменных и интеграционных событий и их обработки. Используемые языки, технологии и продукты: - C#, .NET 8, ASP.NET Core, JavaScript, Knockout.js, Vue.js; - Docker, Git, Apache Kafka, Kubernetes, MongoDB, Microsoft SQL Server, OpenTelemetry, Redis, Hangfire.
Январь 2012Декабрь 2023
12 лет

Зеленоград, www.wildapricot.com

Информационные технологии, системная интеграция, интернет... Показать еще

Главный инженер-программист / Team Lead
Проект: Wild Apricot (https://www.wildapricot.com) - интегрированная система управления деятельностью некоммерческих организаций. Обязанности: - анализ бизнес-требований и подготовка технического дизайна; - выбор архитектурных решений и их сопровождение (review) в процессе реализации; - формирование команды, проведение интервью, онбординг, наставничество, код-ревью; - подготовка дорожной карты проекта, планирование этапов, спринтов, релизов; - непосредсвенно разработка, тестирование, мониторинг и оптимизация программного продукта. Используемые языки, технологии и продукты: - C#, ASP.NET, ASP.NET Core, JavaScript, Transact-SQL, HTML + CSS, GraphQL; - AWS, Git, GitLab, TeamCity, Consul, Nomad, MongoDB, MS SQL Server, Couchbase, Grafana + Kibana, NewRelic. Достижения: Январь 2016 - декабрь 2023, главный инженер-программист / Team Lead, ответственный за разработку и развитие различных сервисов внутри продукта: - Background job processing: .NET/.NET Core (C#), Nomad, Terraform, TeamCity; - File management: ASP.NET (C#), JavaScript, DynamoDB, Amazon S3, SQL Server, TeamCity; - GraphQL API: Apollo Gateway, Node.js, ASP.NET Core (C#), SQL Server, AWS Lambda, GitLab CI/CD, Terraform; - Polls, elections, and surveys: ASP.NET (C#), JavaScript, SQL Server, TeamCity; - Website Builder (CMS): ASP.NET (C#), JavaScript, MongoDB, Couchbase, Amazon EC2, TeamCity. Апрель 2015 - декабрь 2015, реализация проекта по разбиению исторического монолитного приложения на отдельные слои и сервисы (состав рабочей группы менялся в течение всего периода). Октябрь 2014 - апрель 2015, разработка проекта по переходу к новой ценовой политике в составе группы из 5 человек (https://www.wildapricot.com/2015-pricing-changes): - тесное взаимодействие с внутренним заказчиком (канадский офис компании): Skype, Gmail, Google Docs; - анализ и проработка бизнес-требований; - проектирование решения, его описание, согласование и разбиение на этапы: Confluence, JIRA, Visio (UML); - изменение структуры таблиц базы данных: SQL Server (Transact-SQL) - реализация бизнес-логики, пользовательского и административнного интерфейсов: ASP.NET (C#), JavaScript - реализация взаимодействия c платёжной системой PayPal Payflow Pro: WCF (C#) - развёртывание промежуточных версий на тестовом стенде: CruiseControl, Mercurial. Январь 2012 - октябрь 2014, разработка новой версии Website Builder (CMS) модуля в составе группы из 10 человек (https://www.wildapricot.com/features/membership-website-builder-software): - проектирование и разработка пользовательского интерфейса: HTML, CSS, JavaScript; - реализация бизнес-логики на сервере и клиенте: ASP.NET MVC (C#), JavaScript; - проектирование структур и объектов для хранения, обработки и кэширования данных: MongoDB (JavaScript), SQL Server (Transact-SQL), Couchbase, Protocol Buffers; - развитие собственного движка сборки и отображения тем (шаблонов) оформления сайта на базе StringTemplate; - реализация набора утилит и скриптов для автоматизации и помощи в выполнении различного рода задач, возникающих при работе c MongoDB: JavaScript, C#, batch files; - нагрузочное тестирование и оптимизация собственного сервиса распределенных блокировок: Visual Studio, Performance Monitor, анализ trace-логов.
Февраль 2008Декабрь 2011
3 года 11 месяцев
ООО "ЗЕЛСОФТ"

Зеленоград, www.zelsoft.ru

Ведущий программист
Сентябрь 2010 – декабрь 2011, разработка распределённой системы онлайн-бронирования (отели, авиаперелёты, трансферы, экскурсии, туры и т.п.): - функциональный анализ требований, составление ТЗ; - проектирование и разработка бизнес объектов на основе анализа предметной области (туризм): отдельных сущностей и их коллекций, поддерживающих XML и Binary сериализацию и инкапсулирующих необходимые для работы с ними методы (классы спроектированы так, что их возможно использовать в качестве собственного формата данных в большинстве проектов компании); - проектирование интерфейсов доступа к данным (поставщиков данных) и их реализация для разных источников (БД, Web-сервисов, прямого обращения к ядру системы); каждая реализация поддерживает преобразование данных из формата источника в набор бизнес объектов (см. пункт выше); - проектирование и разработка Web-интерфейса (ASP.NET, JavaScript, Ajax, HTML, CSS): создание собственных элементов управления и использование классов из набора Ajax Control Toolkit, реализация частичных представлений на базе UserControl, реализация контроллера данных, модели и контроллера сессии пользователя; аутентификация и авторизация пользователя; разработка класса-помощника (UIManager) для упрощения работы с UI; - функциональное тестирование различных частей системы; - сборка и развёртывание обновлений; - параллельная работа над другими проектами компании Февраль 2008 – сентябрь 2010, работа над различными проектами компании: - функциональный анализ требований, разработка спецификаций; - разработка объектов базы данных; - разработка бизнес-объектов, программной логики и пользовательского интерфейса: C#, WinForms, Remoting, Multithreading, Web и Windows services, ASP.NET, JavaScript, Ajax, XML/XSLT, ADO.NET, T-SQL - сборка, развёртывание и сопровождение приложений Примеры самостоятельно спроектированных и реализованных продуктов: - Модуль контроля заполнения номеров в отелях (http://zelsoft.ru/products/ito#ito_qwc): ASP.NET WebForms (C#), JavaScript; - Модуль поиска, бронирования и обмена данными с внешними туристическими системами (http://zelsoft.ru/products/ito#ito_xml): ASP.NET WebServices (C#); - Модуль обмена информацией с отелями в режиме онлайн (http://zelsoft.ru/products/ito#ito_hotelassist): .NET Remoting (C#), WindFroms; - Модуль выгрузки прайс-листов в формат Excel и HTML (http://zelsoft.ru/products/mtplugins/m-57): WinForms (C#), Microsoft.Office.Interop, Multithreading, XSLT; - Модуль расчета и бронирование индивидуальных туров онлайн (http://zelsoft.ru/products/mtplugins/m-77): ASP.NET WebForms (C#), JavaScript, Ajax.
Январь 2007Февраль 2008
1 год 2 месяца
ООО "Актив Системс"

Москва, www.aktivsystems.ru

Разработчик программного обеспечения
- рефакторинг: Delphi 7, MS SqlServer 2000 - написание инсталляторов приложений различного вида: Windows Installer, VBScript, ADSI, IIS - участие в разработке информационных систем: C# 1.1/2.0, WinForms, ASP.NET, MS SqlServer 2005, ECO
Август 2006Ноябрь 2006
4 месяца
ООО "Аджилон"

Москва, www.ajilonconsulting.co.uk

Разработчик программного обеспечения
- доработка существующего программного кода: C# 2.0, ASP.NET 2.0, JavaScript, XHTML, MS SqlServer 2000
Июнь 2003Июнь 2006
3 года 1 месяц
ООО "БелАБМ"

Зеленоград

Инженер-программист
Сентябрь 2005 – апрель 2006 г., разработка прототипа информационно-аналитической модели системы трубопроводов и объектов НПС по заказу ОАО ВНИИСТ (http://www.vniist.ru/): - проектирование прототипа информационной-аналитической модели в рамках проекта: UML; - проектирование архитектуры базы данных: Power Designer 9e, Oracle 8.1.7; - разработка програмного интерфейса: Centura SQL Window 32; - миграция данных из внешних источников структурированной информации: ODBC, ActiveX, Oracle PL/SQL DBMS_LOB; - участие в разработке единого программного модуля настройки и выгрузки данных в форматах HTML, MS Word, MS Excel, Text: Centura SQL Window 32, Oracle PL/SQL, ActiveX Январь – сентябрь 2005 г., разработка библиотеки классов .Net для проектов компании и участие в реализации последних: - разработка собственного визуального класса таблицы (DataGrid): Visual C#, .Net Framework 1.1, WinAPI; - выгрузка/загрузка данных в/из MS Excel: Visual C#, ActiveX; - участие в разработке автоматизированных систем управления: Visual C#, Oracle PL/SQL Июнь 2003 – декабрь 2004 г., разработка автоматизированной информационной системы топливо проводящей сети НК «ЮКОС»: - разработка модуля обработки почтовых сообщений заказчика на предмет оформления заявки на доработку программного обеспечения: Visual Basic 6.0, Simple MAPI, ActiveX; - разработка автоматизированных рабочих мест «Управление финансами», «Отгрузка нефти», «Автотранспортное предприятие», «Склад» и д.р. в рамках проекта АИС ТПС НК «ЮКОС»: Centura SQL Window 32, Oracle PL/SQL, ActiveX; - миграция данных из/во внешние ситемы. в рамках проекта АИС ТПС НК «ЮКОС»: Centura SQL Window 32, Oracle PL/SQL, Oracle SQL*Loader, ODBC
Август 2002Февраль 2003
7 месяцев
SoftPro (CBOSS)

Москва, www.cboss.ru

Стажер в отделе компьютерной телефонии
- разработка програмного модуля для перевода конфигурационных файлов коммутаторов сотовой связи из формата текстового файла с разделителями (табуляция) в формат XML: Visual C++ 6.0, COM, XML; - разработка программного модуля обработки файлов трассировки коммутаторов сотовой связи объёма более 40000 записей: Visual C++ 6.0

Навыки

Уровни владения навыками
Продвинутый уровень
Разработка ПО
С#
ASP.NET
ASP.NET Core
MS SQL Server
JavaScript
MongoDB
Git
Средний уровень
AWS
Docker
Kafka
Redis
PostgreSQL

Обо мне

В прошлом программировал на Centura, PL/SQL, Visual Basic, C++. Работал с Oracle 8i/9i. Использовал C#Builder, Centura SQL Windows 32, Visual Studio 6.0, SQL Navigator, TortoiseSVN, WinCVS, RMTrack, Rational ClearQuest.

Высшее образование

2003
Микроприборов и Технической Кибернетики, Прикладная математика

Знание языков

Русский — Родной

Английский — B2 — Средне-продвинутый

Гражданство, время в пути до работы

Гражданство: Россия

Разрешение на работу: Россия

Желательное время в пути до работы: Не более полутора часов