Oleg Katrichuk

Разработка на .NET

API и бэкенды на C# — построенные так, как строят систему, которая должна пережить третий год изменений.

.NET — это то, что я беру, когда корректность важнее новизны: типизированный язык, зрелая платформа и инструменты, ловящие проблемы на компиляции, а не в проде. Я строю API и сервисы с Clean Architecture и CQRS, EF Core над PostgreSQL и дисциплиной, которая делает код безопасным для изменений чужими руками.

Что входит

01

REST API, которые задокументированы

Эндпоинты ASP.NET с OpenAPI, типизированными ответами и последовательным форматом ошибок — фронтендер работает по документации, не спрашивая вас.

02

Clean Architecture и CQRS

Доменная логика отделена от инфраструктуры, команды — от запросов. Структура, остающаяся читаемой, когда список функций растёт.

03

EF Core и PostgreSQL

Продуманная схема, версионированные миграции и запросы, которые не разваливаются, когда в таблицах появляются реальные объёмы.

04

Предсказуемая обработка ошибок

Ожидаемые сбои возвращаются как результат, а не бросаются исключениями, с problem details по стандарту на выходе.

05

Интеграционные тесты на реальной инфраструктуре

Тесты против настоящего PostgreSQL в контейнере, чтобы они доказывали работу системы, а не согласованность моков.

06

Фронтенд тоже, если нужно

Я делаю и часть на React / Next.js, поэтому между бэкендом и UI нет щели, где теряется ответственность.

Как мы будем работать

  1. 01

    Объём — письменно

    Согласуем, что именно будет сделано и сколько это стоит, до любого кода — никаких растущих счетов, никаких сюрпризов.

  2. 02

    Выпуск частями

    Рабочее ПО каждую неделю, а не большое открытие в конце. Вы видите прогресс и можете изменить курс рано.

  3. 03

    Оплата после запуска

    Вы платите, когда проект в проде и вы им довольны. Без предоплаты.

Что спрашивают клиенты

Почему .NET, а не Node.js?

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

Можете подхватить существующий .NET-проект?

Да. Оцениваю то, что есть, обкладываю рискованные места тестами и логами, дальше меняю безопасно. Спасательные работы — обычная для меня часть.

Какую версию .NET используете?

Текущую LTS, на стабильных релизах, не на preview. Если у вас что-то старее, обновление может быть частью объёма.

Пишете ли тесты?

Да, сначала интеграционные, против реальной инфраструктуры в контейнерах. In-memory подделки базы доказывают слишком мало, поэтому их не использую.

Можете работать с нашей командой?

Да — по вашим договорённостям, вашему процессу ревью и в вашем репозитории. Пишу код, который читается как тот, что уже есть.

Есть проект на примете?

Расскажите, что вы строите и где застряли. Обычно отвечаю в течение нескольких часов.