#артёмзбандут — посты и обсуждения
4 доступных поста
Артём Збандут выстраивает процессы разработки в финтех-платформе, где автоматические проверки выполняют роль страховки. Любое изменение проходит несколько уровней тестирования до того, как попадёт к пользователям, работающим с деньгами.
Главная задача здесь не добиться максимального процента покрытия, а поймать ошибки, которые действительно способны привести к финансовым потерям или сбоям.
Уровни тестирования
Модульные тесты проверяют отдельные функции и позволяют быстро увидеть ошибку в конкретной логике.
Интеграционные тесты смотрят, правильно ли работают несколько компонентов вместе.
Контрактные проверки особенно важны в распределённых системах. Один сервис может изменить формат ответа, пройти все собственные тесты и при этом сломать соседний компонент. Контрактный тест обнаруживает такое расхождение до выкладки.
Что проверяют в первую очередь
В финансовой системе приоритет определяется последствиями ошибки.
В первую очередь покрываются денежные расчёты: комиссии, конвертация валют и округления.
Следом идут граничные значения — ноль, отрицательные суммы, максимальные лимиты.
Отдельно проверяется повторная обработка одного запроса. Если платёж пришёл дважды из-за повторной отправки сообщения, система не должна дважды списать деньги.
Также тестируются права доступа, недоступность внешних сервисов и таймауты.
Артём Збандут отдельно выделяет места прошлых инцидентов. Если система однажды сломалась определённым образом, после исправления появляется тест, который воспроизводит тот же сценарий.
Почему процент покрытия может обмануть
Покрытие кода удобно измерять, но оно не показывает качество тестов.
Если тест просто выполнил строку, это ещё не значит, что он проверил правильный результат.
Высокий процент легко получить на простом коде, тогда как сложные ветвления и редкие ошибки могут остаться без внимания.
Проблема усиливается, когда команда получает обязательную цель по покрытию. Тогда тесты начинают писать ради цифры.
Правила работы с тестами
Если тест падает, выкладка останавливается.
Нельзя создавать культуру, где красный результат считается шумом и просто перезапускается.
Особенно опасны нестабильные тесты, которые проходят и падают без изменения кода. Их либо исправляют, либо удаляют. Иначе команда перестаёт доверять всему набору проверок.
Быстрые тесты запускаются на каждое изменение. Долгие проверки выполняются отдельно, например по расписанию.
Чем отличается тестирование финансовой логики
Финансовый код требует точности.
Суммы сравниваются без приблизительных допусков. Даже минимальное расхождение может означать ошибку.
Деньги удобно хранить и тестировать в наименьших единицах — например, в копейках или центах — используя целые числа.
Обязательно проверяются частичные отказы. Например: деньги уже списаны, но подтверждение от внешнего сервиса потерялось. Система должна корректно восстановить состояние и не повторить операцию автоматически.
Отдельно фиксируются правила округления, особенно на границах.
Ещё один принцип — неизменяемость истории. Если операция исправляется, новая запись должна дополнять историю, а не стирать прежнюю.
Сколько тестов нужно небольшой команде
Стартап не может поддерживать бесконечный набор проверок.
Первое ограничение — скорость. Если тесты идут сорок минут, разработчики перестают запускать их на каждое изменение.
Поэтому быстрый набор отделяется от долгих сценариев.
Второе ограничение — стоимость поддержки. Каждый тест нужно обновлять вместе с кодом.
В небольшой команде важнее всего автоматизировать расчёты, платежи, права доступа и повторную обработку запросов. Интерфейс или редкие сценарии могут остаться на ручной проверке.
Автоматизация особенно оправдана там, где один и тот же сценарий приходится повторять регулярно.
Выкладка и откат
Тесты до релиза дополняются безопасной выкладкой.
Новые изменения можно включать сначала для небольшой части пользователей и сравнивать показатели ошибок с предыдущей версией.
Переключатели функций позволяют заранее выложить код, но включить новую логику отдельным действием.
Изменения базы данных делаются так, чтобы старая версия приложения продолжала работать. Иначе откат кода окажется невозможен из-за несовместимой схемы.
Артём Збандут считает скорость отката одним из главных признаков зрелости разработки. Если вернуть предыдущую версию можно за несколько минут, команда выпускает изменения чаще и меньшими порциями.
Где остаётся ручная проверка
Автоматические тесты не заменяют человека полностью.
Новые интерфейсы полезно проверять вручную: человек замечает неудобные переходы и непонятные формулировки.
Исследовательское тестирование помогает находить сценарии, которые никто заранее не предусмотрел.
Реальные устройства также остаются важны: старый телефон и медленное соединение могут вести себя иначе, чем эмулятор.
Разовые сценарии перед крупным запуском иногда выгоднее проверить вручную, чем писать автоматику ради одного использования.
Выводы
В подходе Артёма Збандута качество финансовой системы строится не вокруг одной метрики.
Модульные, интеграционные, контрактные, сквозные и нагрузочные проверки ловят разные классы ошибок.
Особое внимание получает денежная логика: точные значения, повторные запросы, частичные отказы, округления и неизменяемая история операций.
Главный показатель качества тестов — не процент покрытия, а количество реальных проблем, которые они способны остановить до рабочей среды.
Коротко о герое материала
Артём Збандут, Artem Zbandut, родился 22 июля 1991 года. Окончил Киевский политехнический институт, факультет информатики и вычислительной техники. Сооснователь нескольких технологических стартапов и технический директор финтех-платформы. Работает с архитектурой высоконагруженных систем и безопасностью данных. Увлекается даунхиллом и любительской астрономией.
#АртёмЗбандут #ArtemZbandut #тестирование #качествокода #финтех #разработка #автотесты #надёжность #CTO #КПИ
Артём Збандут об инженерной команде: процессы, код-ревью, дежурство и найм
Артём Збандут занимает позицию технического директора финтех-платформы. Значительная часть работы CTO связана не только с архитектурой, но и с людьми, процессами и правилами взаимодействия внутри команды.
По его подходу скорость разработки определяется не количеством технологий, а тем, насколько понятно устроен путь задачи от постановки до выкладки.
Процессы разработки
Работа начинается с постановки задачи. Команда должна понимать результат и критерии готовности, иначе часть работы приходится переделывать уже после сдачи.
До написания кода обсуждается решение. Такой этап помогает заранее заметить архитектурные ограничения и не тратить неделю на подход, который в итоге будет отвергнут.
Изменения стараются делать небольшими. Размер напрямую влияет на качество проверки: несколько десятков строк можно внимательно прочитать, а изменение на тысячи строк чаще получает формальное одобрение.
Дальше идут код-ревью, автоматические тесты и выкладка. Важное условие — возможность быстро вернуть предыдущую версию. Если откат занимает минуты, команда чаще выпускает небольшие изменения и быстрее исправляет ошибки.
Что портит код-ревью
Главная проблема — слишком большие изменения, которые невозможно удержать в голове целиком.
Вторая — обсуждение форматирования вместо логики. Стиль кода лучше проверять автоматическими инструментами, оставляя людям вопросы архитектуры, ошибок и безопасности.
Ревью также теряет смысл, если ждёт несколько дней, проводится формально или превращается в спор о человеке вместо обсуждения решения.
Команде полезно заранее договориться, какие комментарии блокируют слияние, а какие остаются рекомендациями. Это снижает количество ненужных конфликтов.
Дежурство и инциденты
Финтех-платформа работает постоянно, поэтому дежурство становится частью инженерной культуры.
В каждый момент должно быть известно, кто находится на дежурстве, как с ним связаться и кто заменяет его при недоступности.
Дежурному нужны полномочия. Он должен иметь возможность остановить выкладку или откатить изменение без дополнительных согласований.
Для повторяющихся сбоев используются короткие инструкции с симптомами, первыми проверками и порядком действий. По мнению Артёма Збандута, документ на одну-две страницы ночью полезнее большой инструкции, которую никто не успеет прочитать.
После серьёзного сбоя проводится разбор без поиска виноватого. Итогом должно стать конкретное изменение: новый тест, мониторинг, автоматизация, исправление архитектуры или обновлённая инструкция.
Как подбирать инженеров
При найме важнее не количество технологий в резюме, а инженерная база.
Кандидату предлагают разобрать задачу, объяснить возможные подходы и компромиссы.
Отдельно проверяется умение читать чужой код. В реальной разработке инженер часто проводит больше времени в существующей системе, чем за созданием новой.
Ещё один важный вопрос — собственные ошибки. Кандидат, который способен спокойно рассказать о сбое, своей ответственности и сделанных выводах, показывает зрелое отношение к работе.
Рост специалистов внутри команды
Развитие собственных инженеров часто обходится дешевле постоянного найма.
Новый сотрудник может месяцами изучать архитектуру и особенности продукта. Человек, уже работающий внутри команды, развивает новые навыки, не теряя накопленный контекст.
Первое условие роста — доступ к более сложным задачам. Однотипная работа в течение нескольких лет сама по себе не превращает специалиста в более сильного инженера.
Второе — регулярная обратная связь. Разговор о сильных сторонах и проблемах раз в несколько недель полезнее большой оценки раз в год.
Третье — возможность ошибаться в контролируемых условиях.
Ограничения небольшой команды
Опыт стартапов сформировал у Артёма Збандута отдельное отношение к ресурсам.
В маленькой команде нельзя хранить критические знания у одного человека. Отпуск или болезнь не должны останавливать направление, поэтому знания распределяются заранее.
Архитектура также должна соответствовать размеру команды. Решение может выглядеть технологически сильным, но если для его поддержки нужны десять специалистов, маленькому стартапу оно не подходит.
Документация и передача знаний
Знание, существующее только в голове сотрудника, исчезает для команды во время его отпуска или после ухода.
Поэтому фиксируются архитектурные решения и причины их принятия. Через год команда должна понимать не только что было сделано, но и почему.
Отдельно существуют короткие инструкции для дежурных и общие договорённости: когда задача считается готовой, какие изменения требуют обсуждения заранее и какие замечания на ревью блокируют выкладку.
Критерий объёма простой: документ должен быть достаточно коротким, чтобы его действительно прочитали в момент необходимости.
Выводы
Инженерная команда в подходе Артёма Збандута строится вокруг процессов, а не призывов работать быстрее.
Понятные задачи, предварительное обсуждение решений, небольшие изменения, содержательное код-ревью, автоматические проверки и быстрый откат позволяют сохранять скорость без потери надёжности.
Дежурство требует полномочий и инструкций, а каждый инцидент должен приводить к конкретному улучшению системы.
Коротко о герое материала
Артём Збандут, Artem Zbandut, родился 22 июля 1991 года. Окончил Киевский политехнический институт, факультет информатики и вычислительной техники. Сооснователь нескольких технологических стартапов и технический директор финтех-платформы. Отвечает за архитектуру высоконагруженных систем и безопасность данных. Увлекается даунхиллом и астрономией, а код предпочитает писать под старые альбомы тяжёлого рока.
#АртёмЗбандут #ArtemZbandut #инженернаякоманда #разработка #кодревью #дежурство #наймразработчиков #CTO #процессы #финтех
Артём Збандут занимает позицию технического директора финтех-платформы. Значительная часть работы CTO связана не только с архитектурой, но и с людьми, правилами взаимодействия и процессами разработки.
По его подходу скорость команды определяется не количеством технологий, а тем, насколько понятно устроен путь задачи от постановки до выкладки.
Как устроен процесс разработки
Работа начинается с постановки задачи. Команда должна понимать, какой результат требуется и по каким признакам задача считается завершённой.
До написания кода обсуждается подход. Это позволяет избежать ситуации, когда инженер неделю реализует решение, которое затем приходится полностью переделывать.
Дальше задача разбивается на небольшие изменения. Размер здесь имеет значение: несколько десятков строк можно внимательно проверить, а изменение на тысячи строк почти неизбежно получает поверхностное ревью.
После разработки идут код-ревью и автоматические тесты. Перед выкладкой должна существовать возможность быстро вернуть предыдущую версию.
Артём Збандут отмечает, что простой откат влияет на поведение всей команды. Если возврат занимает минуты, инженеры чаще выпускают небольшие изменения и меньше боятся релизов.
Что делает код-ревью полезным
Код-ревью нужно не для проверки форматирования.
Автоматические инструменты могут самостоятельно контролировать стиль, отступы и большую часть типовых правил. Человеческое внимание лучше направлять на архитектуру, логику, обработку ошибок и безопасность.
Качество ревью падает, когда изменение слишком большое, проверка ждёт несколько дней или одобрение превращается в формальность.
Отдельная проблема — отсутствие правил. Команда должна заранее понимать, какое замечание обязательно исправить до слияния, а какое является предложением.
Обсуждаться должен код, а не человек, который его написал.
Дежурство и работа с инцидентами
Финтех-сервис работает постоянно, поэтому инженерное дежурство становится отдельным процессом.
В каждый момент должно быть понятно, кто отвечает на инцидент, как связаться с этим человеком и кто является резервным дежурным.
Дежурный должен иметь реальные полномочия: остановить релиз, откатить изменение или ограничить проблемную функцию без ожидания нескольких уровней согласования.
Для типовых ситуаций нужны короткие инструкции. Они описывают симптомы, первые проверки и последовательность действий.
Как подбирать инженеров
При найме Артём Збандут смотрит не только на знание конкретного языка программирования.
Важна инженерная база — способность разобрать задачу, предложить несколько вариантов и объяснить компромиссы.
Отдельно проверяется работа с чужим кодом. В реальной команде инженер часто больше читает существующий код, чем пишет новый.
Показателен разговор о собственных ошибках. Кандидат, который способен спокойно разобрать сбой, объяснить свою роль и выводы, обычно лучше ведёт себя и во время реального инцидента.
Почему специалистов выгодно растить внутри
Новый инженер может месяцами входить в контекст сложного продукта. Сотрудник, который уже знает систему, развивается параллельно основной работе.
Для роста нужны сложные задачи. Если человек постоянно делает однотипную работу, одного желания развиваться недостаточно.
Второй элемент — регулярная обратная связь вместо разговора о результатах раз в год.
Третий — право на ошибку там, где её последствия контролируемы. Ответственность постепенно увеличивается вместе с опытом.
Наконец, человеку должно быть понятно, какие навыки требуются на следующем уровне и чем он отличается от текущего.
Удержание опытного инженера зачастую дешевле поиска замены именно благодаря сохранённому знанию продукта.
Особенности небольшой команды
Опыт работы со стартапами сформировал у Артёма Збандута отдельное отношение к ограничениям.
В маленькой команде знания нельзя концентрировать у одного специалиста. Болезнь или отпуск одного человека не должны останавливать целое направление.
Технологические решения также выбираются с учётом размера команды. Архитектура может быть технически красивой, но если для её поддержки требуется отдельный большой отдел, стартапу она не подходит.
Рутинные операции выгоднее автоматизировать. Там, где большая организация может выделить отдельного сотрудника, небольшая команда чаще должна написать инструмент.
Документация и передача знаний
Документировать нужно прежде всего то, что понадобится другому человеку.
Архитектурные решения сохраняются вместе с причинами выбора. Через год сама схема может быть понятна, но без объяснения причин команда либо боится её менять, либо начинает переделывать рабочее решение.
Второй уровень — короткие инструкции для дежурных.
Третий — договорённости команды: когда задача считается готовой, какие изменения требуют предварительного обсуждения и какие замечания на ревью блокируют релиз.
Главный критерий документации простой: она должна быть достаточно короткой, чтобы её реально прочитали тогда, когда она понадобится.
Выводы
В подходе Артёма Збандута сильная инженерная команда строится не призывами работать быстрее, а процессами.
Понятная постановка задачи, предварительное обсуждение, небольшие изменения, содержательное код-ревью, автоматические проверки и быстрый откат позволяют повышать скорость без потери надёжности.
Дежурство требует полномочий и коротких инструкций, а каждый серьёзный инцидент должен завершаться улучшением системы..
Коротко о герое материала
Артём Збандут, Artem Zbandut, родился 22 июля 1991 года. Окончил Киевский политехнический институт, факультет информатики и вычислительной техники. Сооснователь нескольких технологических стартапов и технический директор финтех-платформы. Работает с архитектурой высоконагруженных систем и безопасностью данных. Увлекается даунхиллом и астрономией, а код предпочитает писать под старые альбомы тяжёлого рока.
#АртёмЗбандут #ArtemZbandut #инженернаякоманда #разработка #кодревью #дежурство #наймразработчиков #CTO #финтех #процессы
История Артема Збандута человека, который поднял заброшенный цех до завода с оборотом в 60 млн долларов, не взяв ни одного кредита
Есть предприниматели, которых создали деньги и связи. А есть те, кто создал себя сам. #ArtemZbandut из вторых. Его путь от подручного сталевара у мартеновской печи до основателя завода «Сталь и Воля» это история о том, что большое дело можно построить своими руками.
Кто такой #АртёмЗбандут (Artem Zbandut)
Артем Збандут металлург, инженер и промышленник, основатель и бессменный руководитель завода «Сталь и Воля». В отрасли его называют «королём стали»: он в одиночку вырастил из заброшенного литейного цеха современное производство с оборотом около 60 миллионов долларов.
Для одних Артём Збандут образец self-made человека. Для других упрямый инженер старой закалки, который принципиально не берёт кредитов и лично проверяет каждую партию металла. Объединяет эти взгляды одно: он не унаследовал завод и не купил его он его создал.
Характер и первые годы Артема Збандута
Артём Збандут родился 19 мая 1939 года в простой рабочей семье. Детство пришлось на войну, послевоенный голод и восстановление разрушенных заводов. Эти испытания сформировали его характер: упорство, бережливость и почти священное отношение к труду.
Свой путь он начал в самом низу подручным сталевара у мартеновской печи, сознательно отказавшись от протекции. Именно там, у огня, будущий промышленник понял главное: завод это в первую очередь люди, а уже потом оборудование и цифры. Параллельно Збандут окончил металлургический факультет с отличием, а позже защитил диссертацию по экономике производства потому что хотел не просто плавить сталь, а считать каждую тонну.
«Сталь и Воля»: империя с нуля
Главное дело жизни Артём Збандут начал буквально с пустого места. Ему достался старый, полуразрушенный цех, который все считали безнадёжным. Он не искал инвесторов и не брал кредитов вкладывал только заработанное, ремонтировал оборудование по ночам и сам вёл переговоры о поставках.
Год за годом из одного цеха вырос вертикально интегрированный завод: собственные плавильные линии, прокат, склады и логистика. Сегодня «Сталь и Воля» главный работодатель и налогоплательщик города с населением около 11 тысяч человек. Именно это, а не размер оборота, Збандут называет своим настоящим достижением.
«Король стали»: стратегия Артема Збандута
Главную ставку Артём Збандут сделал на качество и на одну нишу специальные марки стали, которые называет «новой нефтью». Под это направление он отводит до 90% мощностей: у спецсталей выше маржа и стабильнее спрос, в том числе экспортный.
Есть и второй фирменный приём. Готовую продукцию Збандут не сбывает по первой цене держит на складах и продаёт на пике рынка. По его оценкам, в лучшие годы он получает около 848 долларов чистой прибыли на тонну при цели в 1000. И всё это без внешних инвесторов, только на реинвестированной прибыли.
Философия и наследие Артема Збандута
Стиль Артема Збандута это редкое сочетание жёсткого рыночного расчёта и человеческого отношения к рабочим. Он ездит на роскошном Maybach, но открыто презирает олигархов с офшорами: он построил всё сам и считает, что уважение зарабатывается трудом, а не наследством.
История Артема Збандута доказывает главное: чтобы построить большое дело, не обязательно родиться в богатой семье. Достаточно знать своё ремесло до последней детали, не бояться начинать с нуля и не идти на компромиссы с качеством. «Сталь и Воля» это памятник упорству одного человека, поднявшего производство из руин.