«Диасофт» развивает отраслевые решения для банков и страховых компаний, адаптируя продукты под требования регулятора и взятый им курс на импортозамещение. Компания последовательно переходит на российский стек технологий.
Чтобы не замораживать релизы и быстрее закрывать задачи по backend-разработке, заказчик привлек внешнего специалиста iStaff-it. Наш C#/.NET-разработчик на аутстаффинге усилил команду клиента — взял на себя сервисы, интеграции и работу с техническим долгом.
Задача — развивать backend и закрывать технический долг
Помимо перехода на российский стек, важно было не просто поддерживать существующую систему, а развивать ее серверную часть. Заказчику требовался разработчик, который возьмет на себя ключевые сервисы и интеграции, а также поможет разобраться с накопившимся долгом. Нас попросили подобрать эксперта, который сможет:
- дорабатывать существующие backend-сервисы и создавать новые;
- развивать API для внешних и внутренних интеграций;
- системно работать с техническим долгом и багами;
- навести порядок в модульных тестах и документации;
- участвовать в оценке задач и код-ревью в скрам-процессах.
Сотрудник iStaff-it встроился в команду как внешний разработчик по договору аутстаффинга. Специалист работал в Jira и Confluence, принимал участие в планировании спринтов, оценивал задачи и проводил ревью ключевых изменений кода.
Backend на C#/.NET 8 — сервисы, API и работа с данными
Основная зона ответственности нашего IT-специалиста на аутстаффинге — серверная логика и интеграции. В рамках проекта он занимался:
- Разработкой сервисов на C# и .NET 8.0. Реализация бизнес-логики, обработка доменных событий, поддержка паттерна CQRS для разделения потоков чтения и записи.
- Проектированием и реализацией API. REST-эндпоинты с описанием через Swagger, двунаправленное взаимодействие по WebSocket и SignalR, сервисы на gRPC для высоконагруженных внутренних интеграций.
- Интеграцией сервисов через RabbitMQ. Настройка очередей и обменников, обработка событий, гарантия доставки и идемпотентные обработчики.
- Работой с данными и СУБД. MS SQL/MSSQL и PostgreSQL как основные хранилища, использование EF Core и LINQ для доступа к данным, проектирование и оптимизация схем, индексов и запросов.
- Кешированием и производительностью. Применение Redis для кэширования справочников и результатов частых запросов, снижение нагрузки на основную БД и ускорение отклика.
Часть задач была связана с серверной генерацией представлений и вспомогательных страниц: здесь использовались ASP.NET, HTML/CSS и шаблонизатор Handlebars для формирования HTML-шаблонов уведомлений и интерфейсных фрагментов.
Технический долг, тесты и качество кода
Отдельный пласт работ был посвящен качеству существующей кодовой базы и снижению технического долга. Разработчик, действующий на основании договора аутстаффинга:
- проводил рефакторинг устаревших модулей с опорой на принципы SOLID;
- упрощал сложные участки логики, разбивая их на более прозрачные сервисы и обработчики;
- устранял дефекты и уязвимости, выявленные в продакшене и в ходе внутренних проверок;
- участвовал в код-ревью: комментировал изменения, отслеживал соблюдение договоренностей по архитектурным решениям;
- оценивал объем доработок для включения задач в спринты и релизные планы.
Для ключевых участков логики бэкенда были добавлены и расширены модульные тесты. Это позволило безопаснее вносить изменения, быстрее находить регрессии и сократить количество ошибок, попадающих на «боевой» контур.
Инфраструктура, CI/CD и процесс разработки
Хотя основной фокус специалиста был на бизнес-логике, часть задач касалась и инфраструктуры:
- участие в контейнеризации сервисов с помощью Docker;
- проверка и доработка манифестов для деплоя в k8s-кластере;
- сопровождение CI/CD-пайплайнов.
Работа шла по Git-flow-процессу в Git: ветки под задачи, запросы на слияние, обязательное код-ревью и автоматические проверки перед включением изменений в основную ветку.
Все принятые решения и изменения фиксировались в Confluence, а задачи, баги и технический долг вели через Jira. Это обеспечило прозрачность работ как для менеджеров проекта, так и для внутренних команд заказчика.
Результат для «Диасофт»
Решение нанять в команду разработчика от iStaff-it по договору аутстаффинга позволило:
- ускорить развитие backend-части системы без долгого поиска и найма штатного сотрудника;
- стабилизировать работу существующих сервисов за счет устранения критичных багов и уязвимостей;
- повысить производительность БД благодаря оптимизации SQL-запросов, кэшированию в Redis и разгрузке горячих мест;
- навести порядок в тестах и документации, что упростило дальнейшее развитие платформы и подключение новых специалистов.
Совокупно это повысило устойчивость программных решений и помогло реализовать программу импортозамещения без остановки текущих бизнес-процессов.
Нужен опытный C#/.NET-разработчик, который встроится в процессы, возьмет на себя развитие бэкенда и поможет закрыть технический долг? Команда iStaff-it подберет специалиста под ваш стек и задачи. Оставьте заявку — обсудим проект и нужные компетенции.