Описание услуги
Я Haskell-разработчик и пишу серверные сервисы, которые корректны по построению, а не по случайности. Мой подход опирается на сильнейшие стороны языка: мощную статическую систему типов, чистоту функций и явные эффекты. Когда я моделирую вашу предметную область алгебраическими типами данных и позволяю компилятору отвергать недопустимые состояния, целые категории ошибок времени выполнения просто перестают существовать. Это не академический идеализм, а практичный способ выпускать софт, который в пятницу вечером ведёт себя так же, как на тестах, и который новый участник команды может смело рефакторить, потому что типы держат его в рамках.
За годы работы я делал на Haskell HTTP-API, фоновые воркеры, конвейеры обработки данных и утилиты командной строки. Уверенно чувствую себя в основной экосистеме: Servant и Yesod для веба, STM и async для конкурентности, persistent и hasql для баз данных, а также привычный набор GHC, Cabal и Stack. Забочусь и о производительности: профилирую средствами GHC, осознанно рассуждаю о ленивости и строгости, знаю, когда взять строгие типы данных, распакованные векторы или потоковые библиотеки, чтобы держать память ровной, а пропускную способность высокой. Тестирование на свойствах через QuickCheck для меня инструмент проектирования, а не формальность.
Вы получаете от меня кодовую базу, которая реально является активом: небольшие композируемые функции, ясные границы модулей и документацию, которую команда сможет поддерживать. Мне одинаково комфортно поднять новый сервис с пустого репозитория до продакшена и войти в существующий проект на Haskell, чтобы чинить баги, укрощать техдолг, ускорять код и подтягивать команду к идиоматичным функциональным паттернам. Если для вас важен софт, который безопасно менять, я помогу.
— Бэкенд HTTP-API на Servant и Yesod
— Моделирование домена алгебраическими типами и классами типов
— Конкурентность через STM, async и потоки
— Доступ к БД через persistent, hasql и PostgreSQL
— Тестирование на свойствах с QuickCheck и Hspec
— Профилирование, анализ строгости и оптимизация
— Сборка на GHC, Cabal, Stack и Nix
За годы работы я делал на Haskell HTTP-API, фоновые воркеры, конвейеры обработки данных и утилиты командной строки. Уверенно чувствую себя в основной экосистеме: Servant и Yesod для веба, STM и async для конкурентности, persistent и hasql для баз данных, а также привычный набор GHC, Cabal и Stack. Забочусь и о производительности: профилирую средствами GHC, осознанно рассуждаю о ленивости и строгости, знаю, когда взять строгие типы данных, распакованные векторы или потоковые библиотеки, чтобы держать память ровной, а пропускную способность высокой. Тестирование на свойствах через QuickCheck для меня инструмент проектирования, а не формальность.
Вы получаете от меня кодовую базу, которая реально является активом: небольшие композируемые функции, ясные границы модулей и документацию, которую команда сможет поддерживать. Мне одинаково комфортно поднять новый сервис с пустого репозитория до продакшена и войти в существующий проект на Haskell, чтобы чинить баги, укрощать техдолг, ускорять код и подтягивать команду к идиоматичным функциональным паттернам. Если для вас важен софт, который безопасно менять, я помогу.
— Бэкенд HTTP-API на Servant и Yesod
— Моделирование домена алгебраическими типами и классами типов
— Конкурентность через STM, async и потоки
— Доступ к БД через persistent, hasql и PostgreSQL
— Тестирование на свойствах с QuickCheck и Hspec
— Профилирование, анализ строгости и оптимизация
— Сборка на GHC, Cabal, Stack и Nix