Обо мне

Функциональные языки, компиляторы, теория типов, преобразование программ.

Профессиональные навыки
HaskellPostgreSQLReact.jsClojureRustC
Участие в профессиональных сообществах
Опыт работы
Июнь 2016 — по настоящее время (1 год и 4 месяца)
Solid Rocks
Proof assistant
Москва
Обязанности и достижения

Компания занимется консультированием в области блокчейн технологий и смартконтрактов.

Также разрабатываются инструменты для спецификации поведения смартконтрактов и анализа их корректности.

Используемые технологии:

  • Ethereum, Solidity
  • HyperLedger
  • Idris, Haskell, Rust
  • Why3, BoogiePL, Viper
Август 2011 — по настоящее время (6 лет и 2 месяца)
начальник
Москва
Обязанности и достижения

Компания специализируется на ПО для колл-центров и автоматизации бизнес-процессов.

Обязанности:

  • анализ и подготовка документации для участия в тендерах;
  • выбор ключевых технологий и проектирование архитектуры;
  • подбор людей в команду;
  • постановка и контроль выполнения задач, code review;
  • участие в разработке наравне с остальными.

Технологии:

  • CoffeeScript, Knockout.js, Bootstrap, Purescript, React.js;
  • Haskell, Java (под Android);
  • PostgreSQL, Redis;
  • CoreOS, Docker, etcd.

Достижения:

  • организация и участие в разработке и сопровождении системы, позволившей заказчику снизить издержки на колл-центр и улучшить качество обслуживания;
  • участие в тендерах и разработка небольших проектов для госорганов;
  • внедрение в команде культуры "непрерывного рефакторинга", пропаганда функционального программирования и формальных методов.
Февраль 2015 — Сентябрь 2015 (8 месяцев)
4hsoft
программист
Москва
Обязанности и достижения

Разработка конструктора web-интерфейсов.

Технологии:

  • TypeScript, React.js, Sass, Grunt, Webpack.

Достижения:

  • перевод новых проектов на React.js;
  • внедрение Sass и методологии smacss;
  • автоматизация сборки и деплоймента.

Неудачи:

  • попытка внедрить code review, тестирование, git workflow;
  • попытка внедрения единого стиля кодирования, отказ от strict code ownership;
  • оказалось, что конструктор никому не нужен.
Июль 2010 — Июнь 2012 (2 года)
Аэрокосмические технологии
программист
Москва
Обязанности и достижения

Серия проектов для РЖД, связанных с навигацией и передачей потокового видео.

Обязанности:

  • оптимизация кодеков для передачи потокового видео в узком канале с большими потерями;
  • разработка устройств и ПО для передачи навигации и показаний датчиков через Inmarsat-BGAN.

Технологии:

  • Python, Java, Haskell;
  • PostgreSQL;
  • Gstreamer, x264, Theora;
  • C, ARM Cortex, STM32, Tegra.

Достижения:

  • участие в полном цикле разработки устройства: от подбора компонентов и разработки ПО, до запуска в производство и сертификации;
  • код на хаскеле ездит в технических поездах по Сибири и отправляет координаты через спутник.
Сентябрь 2008 — Июль 2010 (1 год и 11 месяцев)
программист
Москва
Обязанности и достижения

Участие в проекте по разработке объектно-реляционной СУБД на C#.

Обязанности:

  • расширение языка запросов;
  • реализация оптимизатора запросов;
  • переработка и расширение набора тестов;
  • тестирование производительности БД и качества оптимизации запросов.

Неудачи:

  • реализация оптимизатора запросов на основе monoid comprehension calculus (Torsten Grust, Leonidas Fegaras).
Июль 2007 — Декабрь 2011 (4 года и 6 месяцев)
Лямбда пресс
начальник
Москва
Обязанности и достижения

Организация перевода и издания книжки "Типы в языках программирования" (Б. Пирс).

Обязанности:

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

Достижения:

  • книга вышла в печать;
  • по соглашению с правообладателями, электронная версия свободно распространяется в интернетах.
Апрель 2006 — Август 2008 (2 года и 5 месяцев)
i-box
Программист
Москва
Обязанности и достижения

Разработка ПО платёжной системы.

Технологии:

  • C++, Boost, Poco;
  • Java, Tomcat;
  • MySQL.
Высшее образование
Сентябрь 1998 — Октябрь 2004
МГТУ им. Баумана
Информатики и систем управления; ИУ
Москва