Описание услуги
Разрабатываю бэкенды и инструменты для данных и финансов на F# на платформе .NET, придерживаясь функционального подхода, в котором корректность важнее всего остального. Работу я начинаю с моделирования предметной области: правила вашего бизнеса я кодирую типами, так что некорректные состояния просто невозможно собрать, а целые классы ошибок исчезают ещё до запуска программы. Размеченные объединения, записи и исчерпывающее сопоставление с образцом позволяют выражать замысел точно, а компилятор превращается в неутомимого ревьюера, который проверяет за меня каждую ветку логики. В итоге код получается короче, его легче понять, и он куда меньше подвержен тем тихим ошибкам, что мучают слабо типизированные системы.
За годы работы я выпускал сервисы, которые считают деньги, заказы, цены и отчётность, где единственный просчёт недопустим. Я опираюсь на неизменяемость, чистые функции и ясные границы между ядром домена и внешним миром, поэтому важные части остаются тестируемыми и предсказуемыми. Я пишу тесты на свойствах и на примерах, держу побочные эффекты по краям и проектирую API, которыми трудно воспользоваться неправильно. Когда важна производительность, я честно профилирую и оптимизирую горячие пути, а не гадаю.
Если вам нужен надёжный HTTP- или очередной бэкенд, расчётный движок, ETL-конвейер или небольшая финансовая утилита, я доведу задачу от начала до конца и передам чистый документированный код, который сможет поддерживать ваша команда. Интегрирую с SQL и очередями сообщений, упаковываю сборку в контейнер и настраиваю непрерывную интеграцию, чтобы релизы оставались скучными и предсказуемыми.
— Моделирование домена типами, запрещающими неверные состояния
— Бэкенды, расчётные движки и ETL-конвейеры
— Тесты на свойствах и чистая документированная передача кода
За годы работы я выпускал сервисы, которые считают деньги, заказы, цены и отчётность, где единственный просчёт недопустим. Я опираюсь на неизменяемость, чистые функции и ясные границы между ядром домена и внешним миром, поэтому важные части остаются тестируемыми и предсказуемыми. Я пишу тесты на свойствах и на примерах, держу побочные эффекты по краям и проектирую API, которыми трудно воспользоваться неправильно. Когда важна производительность, я честно профилирую и оптимизирую горячие пути, а не гадаю.
Если вам нужен надёжный HTTP- или очередной бэкенд, расчётный движок, ETL-конвейер или небольшая финансовая утилита, я доведу задачу от начала до конца и передам чистый документированный код, который сможет поддерживать ваша команда. Интегрирую с SQL и очередями сообщений, упаковываю сборку в контейнер и настраиваю непрерывную интеграцию, чтобы релизы оставались скучными и предсказуемыми.
— Моделирование домена типами, запрещающими неверные состояния
— Бэкенды, расчётные движки и ETL-конвейеры
— Тесты на свойствах и чистая документированная передача кода