Делаю веб-сервисы целиком: базу, серверную часть и интерфейс, который всем этим пользуется. Не из любви к длинному списку технологий — просто когда держишь в голове систему полностью, становится сильно меньше мест, где что-то тихо теряется между командами.
В разработке седьмой год, последние четыре — в продуктовых командах. Больше всего люблю ту часть работы, где ещё ничего не написано: разобраться, как люди на самом деле делают свою работу, и понять, какой сервис им нужен вместо того, который они попросили.
Сейчас
- РаботаюВеду два сервиса в «Тензор-лабе», сейчас переписываю у одного из них слой синхронизации.
- Читаю«Designing Data-Intensive Applications» — по второму разу, теперь уже с пониманием, зачем.
- По выходнымКовыряю кофейную подписку, которую сделал для себя и ещё четырёх сотен человек.
- ОткрытК одному part-time проекту с ноября и к разовым консультациям по архитектуре.
Проекты
2024 — 2025
Складской контур
Учёт остатков для сети из сорока магазинов. До этого кладовщики сверяли товар по распечаткам и звонили в офис уточнять. Теперь сканируют штрихкод телефоном, а расхождения видны сразу всем. Возился в основном с офлайном: на складах не ловит вайфай, и приложение должно спокойно работать час без сети, а потом аккуратно слить всё обратно.
TypeScript, Node.js, PostgreSQL, WebSocket, IndexedDB
2023
Пульс
Мониторинг медицинского оборудования для сети клиник. Приборы шлют телеметрию, инженер видит, какой аппарат скоро сломается, и приезжает до того, как встанет приём. Делал приём событий и хранилище под аналитику; интерфейс собирали вдвоём с дизайнером.
Go, ClickHouse, React, gRPC
2021 — 2022
Тариф
Биллинг интернет-провайдера. Сложность оказалась не в интерфейсе, а в правилах перерасчёта: полтора десятка тарифов, скидки, пауза на время отпуска — и всё это годами обрастало исключениями. Вынес расчёт в отдельный сервис и покрыл тестами каждый случай, который смогли вспомнить в бухгалтерии.
Next.js, NestJS, Redis, Docker
с 2022
Кофейный клуб
Подписка на зерно от небольших обжарщиков: выбираешь профиль вкуса, дальше пакет приезжает сам. Изначально сделал для себя, потом подтянулись знакомые. Живёт на одном сервере за пять евро, вся база — файл SQLite с репликацией в облако.
Svelte, Deno, SQLite
Что не получилось
В 2020-м полгода делал маркетплейс мастеров по ремонту. Мы честно написали то, что просил заказчик, и ни разу не поговорили с самими мастерами. Оказалось, что заявки они всё равно берут в чате, а в приложение заходить не собираются. Проект закрыли через два месяца после запуска. С тех пор я довольно занудно требую показать мне живого пользователя до старта работ.
Опыт
2023 — сейчас
Ведущий разработчик, «Тензор-лаб»
Продуктовая команда из шести человек. Отвечаю за архитектуру двух сервисов и за онбординг: стараюсь, чтобы новый человек выкатывал первую задачу на третий день, а не на третьей неделе.
2020 — 2023
Фуллстек-разработчик, «Аквилон»
Заказная разработка, шесть проектов от первого созвона до передачи. Там же научился спорить о требованиях до того, как написана первая строчка кода.
2018 — 2020
Фронтенд-разработчик, студия «Мурена»
Интерфейсы для магазинов и медиа. Тогда же начал закрывать бэкендовые задачи — ждать чужой эндпоинт было скучно.
2014 — 2018
ННГУ им. Лобачевского
Прикладная математика и информатика, бакалавриат. Диплом писал про распределённые вычисления.
Каждый день пишу на TypeScript и Go, живу в PostgreSQL. Рядом обычно Docker, Redis и что-нибудь из очередей. Из фронтенда — React и Svelte, из тестов — Playwright. Дома читаю про Rust и DuckDB, но в продакшен пока не носил.
Написать мне
Расскажите про задачу в паре абзацев — отвечу в течение рабочего дня. Если пойму, что задача не моя, скажу сразу и по возможности посоветую, к кому пойти.