Блог

  • Если вам достался высоконагруженный проект с микросервисной архитектурой и парой десятков интеграций со сторонними системами, включая AI и платежные агрегаторы, что ж… Бог в помощь)

    Качественное тестирование таких проектов никогда не бывает «чисто задачей тестировщика». Вся команда должна организовать работу так, чтобы тестирование произошло в полной мере. Ответственность за качество все равно будет общей.

    Что сделать, чтобы облегчить тестирование?

    1. Разработчики должны писать unit-тесты. Без этого любая ошибка будет стоить дороже в три раза.
    2. Выделите 1-2 тестировщиков для написания end-to-end тестов на Backend. Это занимает не так много времени, но релиз автоматически станет безопаснее.
    3. Разворачивайте тестовую среду для каждой крупной задачи. Забудьте каскад Dev → Test → Demo/Stage → Prod. Должно быть несколько независимых тестовых сред, всегда свежий master. Не пытайтесь делать релизы двух крупных задач одновременно. Потеряете обе задачи.
    4. Обрабатывайте отказ микросервиса и интеграции. При тестировании, подменяйте ответы, чтобы убедиться, что базовый функционал будет работать без большинства менее значимых функций.
    5. Синхронизируйтесь между командами. Читайте доски друг друга, собирайтесь на кофе в конце рабочего дня и обсуждайте, кто и что делает.
    6. Изолируйте тестовые среды от доступа от внешнего доступа. Поверьте, обязательно найдется пользователь, который найдет ваш тестовый стенд и будет там ждать боевых результатов. Это не шутка, а боль из опыта.

    Как же быть тестировщикам?

    1. Погружайтесь все глубже и глубже в бизнес-логику. Это поможет понимать, куда “копать” и что правда критично.
    2. Мокайте внешние сервисы, чтобы не быть от них зависимыми. Ответы от них, как правило, не меняются внезапно, поэтому не тестируйте чужие системы.
    3. Ни в коем случае не используйте данные реальных пользователей при тестировании. Заменяйте их на UserTest простейшими скриптами.

    Если все сделать правильно, то сложность проекта станет просто интересной задачей

  • Как я делаю ретроспективы эффективными — и чем мой подход отличается от классического

    Классическая ретроспектива в Scrum — это почти священный ритуал. По учебнику она выглядит так:

    🔹 Команда собирается в конце спринта
    🔹 Каждый по очереди говорит, что было хорошо, что пошло не так и что можно улучшить
    🔹 Идёт голосование за важные темы
    🔹 В финале появляются экшен-пойнты (иногда даже доживают до следующего спринта)

    На бумаге звучит отлично. На практике часто выходит:
    — половина команды молчит,
    — обсуждение уходит в дебри,
    — действия по улучшению — “поговорим об этом как-нибудь потом”.

    А теперь как это делаем мы (и почему работает лучше)

    🟣 1. Вступительное слово от директора
    Перед началом ретро и планирования у нас слово берет директор. Он кратко доносит важные изменения, напоминания о правилах, и делится общими новостями — будь то успехи, факапы или просто “держитесь, ребята, вы молодцы”. Это помогает выровнять контекст перед обсуждением.

    🟣 2. Самооценка спринта — от 1 до 10
    Каждый называет, насколько хорошо у него прошёл спринт. Это быстрая, но показательная практика: если у кого-то consistently 3 или 4 — сигнал, что что-то идёт не так.

    🟣 3. Онлайн-доска, доступная заранее
    Мы используем Unidraw (Miro самоуничтожился). Доска открывается за 30 минут до ретро, чтобы каждый успел обдумать и записать карточки заранее. Спонтанные “эмоциональные всплески” резко сократились — теперь мысли более чёткие и полезные.

    🟣 4. Каждая проблема = сразу с предложением
    Карточка без варианта решения — не карточка, а нытьё. У нас принято сразу думать, что с этим делать. Иначе — просто выпустить пар в личке.

    🟣 5. В конце — конкретные задачи
    Обсудили → договорились → сразу записали. Ретро не заканчивается пустыми словами — уходит в план следующего спринта.

    🟣 6. Гибридный формат
    Часть команды сидит в офисе, часть — на удалёнке. Чтобы не было хаоса:
    — доска транслируется на экран в переговорке и на экран удалёнщикам,
    — сначала говорят офисные, потом — удалённые.
    Это убрало перебивания и “а что там вообще происходит” у тех, кто не рядом.

    🟣 7. Передай слово — но не скучно
    Вместо очереди мы используем формат “передай слово тому, кто ещё не говорил”. Это держит всех в тонусе — нужно не просто ждать своей очереди, а реально слушать, кто уже выступал.
    Конечно, программисты быстро взломали систему и стали передавать слово по кругу — справа от себя. Но это уже вопрос культуры, а не инструмента.

    Что в итоге?

    💡 Люди приходят на ретро подготовленными
    💡 Обсуждения конструктивные, а не терапевтические
    💡 Команда чувствует, что ретро что-то реально меняет
    💡 И даже в гибридной реальности мы остаёмся в диалоге, а не в Zoom-фоне

    Если вы до сих пор тянете ретро как скучную обязанность — попробуйте начать с малого. Откройте доску пораньше и попросите каждого оценить спринт по шкале от 1 до 10. Уже эти два шага покажут, где болит.

  • Тайм-менеджмент в реальном мире: как справляться с задачами, когда день загружен до предела

    «Тайм-менеджмент в реальном мире — это когда пытаешься сделать за день больше, чем возможно. Но с моими методами удается держаться на плаву, даже если задачи наваливаются одна за другой.

    1. Лента задач всегда под рукой
    Использую Todoist и почту как основной центр задач. Всякие уведомления из Jira и Трекера идут в единую ленту, которая всегда перед глазами. Туда же добавляю задачи, которые надо сделать «когда-нибудь» или в конкретный промежуток времени. Это помогает не упускать из виду то, что ещё не срочно, но скоро потребует внимания.

    2. Время на “текучку”
    Как бы ни был загружен день, я стараюсь выделять 4 часа «на текучку». Это период, когда я спокойно разбираюсь с новыми задачами, внезапными звонками и всем тем, что всплывает в течение дня. Всё, что не требует немедленного ответа, автоматически переносится в ленту Todoist. Это позволяет оставаться в контакте с командой и при этом не отвлекаться от приоритетов.

    3. Блокировка времени в календаре
    Остальное время я распределяю по календарю, где у каждой задачи есть своё время. Мелкие задачи стараюсь группировать, чтобы не распыляться. Для крупных выделяю отдельные блоки, чтобы спокойно углубиться в работу и не переключаться каждую минуту.

    4. Несколько полезных приёмов для эффективности
    Теперь несколько трюков, которые помогают сделать день ещё продуктивнее:
    – Приоритеты по «3+2». Ежедневно выбираю 3 ключевые задачи и 2 второстепенные. Это помогает не растягивать время на мелочи и сконцентрироваться на главном.
    – Правило 5 минут. Если задача занимает меньше пяти минут — делаю её сразу, не добавляя в список. Это позволяет избавиться от кучи мелких дел, которые висят в задачах и отвлекают.
    – Делегирование. Если могу передать задачу коллегам — передаю. Это экономит время и освобождает для более важных дел.
    – Отключение ненужных уведомлений. Сразу оставляю только нужные уведомления, чтобы не перегружать внимание и не отвлекаться каждые 2 минуты.

    Тайм-менеджмент — это всегда компромисс между задачами и ограниченным временем. Но такая система с Todoist, календарем и определёнными правилами помогает держаться на плаву. Постоянно добавляю что-то новое, что работает, и стараюсь совершенствовать подход, чтобы работать не только больше, но и эффективнее».

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

    Вообще в школе по математике у меня была нестабильная тройка, и только начав ходить на лекции по вышмату на первом курсе, я понял, что классическую алгебру прекрасно понимаю. И во время первого-второго курса стал репетитором. Где-то в интернете до сих пор есть страничка на Профи.ру, а рейтинг у меня был 4.9-5.0. Многие делали успехи, но с некоторыми так сработаться и не удалось.

    Закончив институт, скоро у меня появилось желание преподавать перед группой. Начал читать курс по программированию в колледже (на окраине города), а к концу третьего семестра студенты уже программировали лучше меня. Некоторых помогал устроить к знакомым руководителям на стажировку, насколько знаю, они до сих пор стабильно работают.

    Потом случился ковид, и дистанционное образование я не вывез. Тогда у меня самого ни разу не было дистанционных обучений, и как в них участвовать – не представлял вообще. Накладывалось и то, что в атмосфере истерики, которая периодически захватывала, что-то читать в компьютер студентам, которые не очень понимали разницу между удаленкой и каникулами, не хватало терпения. Так я и уволился в середине года.

    Когда ковид закончился, вернулся уже в другой колледж и отвел еще полтора года. Взял две группы – платную и бесплатную. До сих пор помню разговор с директором колледжа (максимально умный и мировой мужик), почему в бесплатной группе аттестацию имеют все, кроме двоих, а в платной – никто, кроме двоих.

    На самом деле опыт преподавания многому научил, и переодически скучаю по этому состоянию и думаю вернуться. Но когда вспоминаю, что нужно просыпаться и в любую погоду ехать к 8:30, перед этим готовя полутрочасовую лекцию, и получать за это 180 рублей в час (причем время подготовки не входит в эти часы), немного желание отпускает.

    Работая в коммерческих компаниях, если у тебя скверный характер, то скорее всего долго работать в компании ты не будешь. Чего не скажешь об образовании. Если у тебя скверный характер, но ты согласен выполнять свою работу, то проработаешь и до пенсии, и после пенсии еще лет 200. И в каждом колледже, школе или институте, с которым я сталкивался, всегда было несколько человек, с которыми работать совсем не хочется.

    Так и получаем современное образование.

  • Наверно у каждого есть своя любимая категория игр. Кто-то любит военные стратегии, получая удовольствие от выигранных битв, кто-то любит шутеры или приключения от первого лица, а кто-то может потратить многие часы в RPG, прокачивая своего персонажа.

    Все эти игры переносят наш мозг в выдуманный мир со своими правилами, допущениями, заданиями. И выполняя эти задания, получаем реальные эмоции удовольствия, когда получилось, и расстраиваемся, когда не получается.

    Мое почтение сценаристам игр. Придумать основной сюжет, в котором от одного действия зависит ход сюжета, а вокруг составить побочные квесты – я даже представить не могу, насколько это сложно. А как можно придумать экономическую игру, с множеством зависимостей и без сценария?

    Я обожаю градостроительные симуляторы. Пока ещё не было компьютера и были ещё детские игрушки, строил «города» из коробок и кубиков, разукрашивал фасады домов, делал перекрестки. И конечно же модельки машинок всегда стояли в пробках. А город всегда назывался Игоревск, а на ночь ставил вокруг города «стены», чтобы им там безопасно было 😅

    Потом, где-то в седьмом классе, когда одноклассник дал пиратский диск с SimCity 4, все вечера заканчивались в каком-нибудь своем городе. После я играл в Cities XL, SimCity 5, Cities: Skylines 1 и 2 и некоторые другие. По-моему, я играл во все основные градостроительные симуляторы, которые выходили с того времени. И до сих пор самым гениальным я считаю SimCity 4. Только там, если урезать бюджет на полицию, начинались беспорядки, а пожарные, приезжая к горящему дому, не могли направить воду на здание и постоянно подскальзывались. Между разных городов было какое-то взаимодействие – в одной клетке можно было построить город с кучей свалок, в другой – с кучей заводов, а между ними – идеальный город с хорошей экологией, из которого мусор вывозят в соседний город. Там была даже анимация строительства дорог! И постоянно рядом была панель с советниками, которые могли закричать, если происходит что-то ужасное. Помню как советник по энергетике начинал истерику, если срок работы АЭС подходил к концу, а потом она взрывалась и засоряла область вокруг радиацией.

    Я искренне не понимаю, почему в Cities: Skylines 2 нет даже половины из этих приколов.

    Одно время читал форумы любителей разных Cities, и можете представить, люди пишут целые истории для своих городов, что-то вроде: «В ущелье между двух холмов зародилась небольшая деревня вдоль реки…»

    Наверное, поэтому мне так полюбился именно этот тип игр: ты можешь создать что-то свое из доступных тебе инструментов, где будут жить твои виртуальные жители, о каждом из которых нужно позаботиться.

    Последнее время играю только в режиме «Сабянина» – без ограничения по бюджету и сразу открытыми всеми зданиями. Хочется, чтобы все сразу было на максималках)

    А какие ваши любимые игры и почему? В какой градостроительный симулятор есть предложение поиграть? Пишите в комментариях 😉

  • “Блин, опять собеседования проходить” – знакомая мысль, неправда ли? Навык проходить собеседования – первый необходимый навык, чтобы найти работу. И многие ходят на собеседования просто чтобы навык не терялся.

    Никто не говорит, что навык проводить собеседования тоже очень важен. Если проходя собеседования главный страх – показать себя недостаточно хорошим или быть неверно оцененным, то проводя собеседования, ты берешь на себя ответственность фактически за жизнь человека на долгий срок и за жизнь всей компании.

    Поэтому я научился проводить собеседования достаточно жестко. Есть даже шутка: “После собеседования с тобой он точно найдет себе работу”. У меня есть список конкретных вопросов на которые нужно дать только правильные ответы, и это не вопросы о тест-дизайне или “что такое кейс”. Это вопросы: почему человек выбрал тестирование в своей жизни, для кого проводится тестирование (кстати, “для пользователей” – неправильный ответ), в чем цель тестирования и некоторые другие.

    Чтобы пройти собеседование, нужно ответственно к нему подойти и быть уверенным в себе. Но не нужно уходить в крайность. Было у меня одно собеседование, в результате которого я остался виноват в том, что кандидат не знает ответы на базовые вопросы.

    А ответственность – это проверить камеру и микрофон заранее, если камера низко – поставить ее повыше, чтобы не смотрела в ноздри, проверить Интернет. Или хотя бы предупредить заранее, что будут какие-либо проблемы. Помыть волосы, если они есть, и немного прибраться на фоне комнаты, откуда будет созвон, предупредить семью, чтобы 20-30 минут не отвлекали.

    Потому что сухая теория или умение использовать эмулятор соберется за пару недель. А ответственность и чуткость к работе воспитывается с детства.

    К слову, о прохождении собеседований. Есть “частные преподаватели” и целые “онлайн-школы”, основная цель которых – не дать знания для прохождения собеседования, а натаскать именно “лишь бы пройти”.

    Доходит до того, что в резюме указываются несуществующие компании с оправданием: “Да она зарубежная, поэтому записи в трудовой нет”, а в ушах разные наушники: один для собеседующего, а второй для “помощника”, который отвечает на вопросы в ухо. Ну самый тупой способ – посадить “помощника” на собес вместо себя и выключить камеру.

    Это как проводить экзамен на удаленке – один студент у меня не снял очки и открыл файлик с ответами на вопросы. Настолько тупо, что пришлось подсказать ему так больше не делать (конечно же он не сдал).

    Я считаю, что все в резюме приукрашивают, это законно. Но писать туда совсем неправду и использовать таких “помощников” – нужно приравнять к подделке документов и мошенничеству, коим оно и является на самом деле. Радует только то, что у таких “помощников” работу отберет нейросеть. А если человек разберется, как ей пользоваться, то это уже небезнадежно.

  • Уже трудно вспомнить, но в 2018-2020 годах мне повезло попасть в круг добровольцев Милосердия (ekbmiloserdie.ru). Мне было очень интересно участвовать в разных акциях: мы с другими волонтерами помогали собирать вещи в помощь перед началом учебного года, собирались печь блины на Масленицу, чтобы передать их в благотворительную столовую, ездил помогать играть с детьми в больницах и детских домах. Со временем закрепился в Автобусе Милосердия. Он приезжал к вокзалу и раздавал бесплатно еду тем, кому она была нужна. “Там очень строгая Сестра Милосердия” – предупредили меня заранее. Она правда оказалась строгая, но только потому что она очень сильно любила всех, кому раздавала еду и одежду и пыталась искренне помочь каждому. И держала этих людей в строгости, например, отчитывая тех, кто приходил пьяным.

    С тех пор я очень сильно уважаю любого человека, который решил заниматься волонтерством, потому что очень трудно выделять на это ресурс – выделять время, силы, ехать в другой конец города. Но отдать должное – была очень хорошая команда менеджеров, которые занимались организацией этого процесса (и занимаются до сих пор).

    Сложнее всего – не косячить. Психология сейчас говорит, что “нужно позволить себе ошибаться” и что-то в таком роде, но нет. Ошибиться, находясь в помощи в какой-нибудь больнице или хосписе – нельзя, потому что твоя ошибка может испортить последние часы жизни человека. И если это произойдет, то от чувства вины, которое нельзя оправдать тем, что “ну хотел же как лучше” – не получится всю оставшуюся жизнь.

    После Милосердия я попробовал заглянуть еще в пару благотворительных организации. Например, ездил в детский дом с программой рассказов о профессиях. Представители интересных профессий приезжали и рассказывали о своей работе, чтобы ребята могли задуматься, чем хотят заниматься. Последней активной моей акцией было собрать школьные наборы для первоклассников. Не нашел ничего умнее, как сесть в машину, поехать в Ашан, набрать две тележки школьных вещей. Очередь была в полном недоумении, а кассир трепетно пересчитывал карандаши, тетради и ручки. Мы с ней за это время немного подружиться даже успели.

    Но в итоге свой ресурс я израсходовал. Началась работа, какие-то личные проблемы, карантин, СВО, переезд в Москву…

    Я хотел одно время возобновить эту практику, сходил на встречу-знакомство в Московским Милосердием, и поразился уровню автоматизации: после регистрации открывается доступ в приложение, в котором ты можешь выбрать, чем можешь помочь “на районе”, и сделать это. Обещал себе “начать” несколько месяцев, но так и не собрался.

    После этого я выбрал стратегию помощи через донаты. Как часто пишут на сайтах со сборами, “одна чашка кофе”, вот если у меня есть хотя бы она, я донат отправляю. Есть большое количество организаций, которым можно отправить донат. Я очень трепетно отношусь к тому, куда донат направляется, читаю отчетность и доверяю только тем организациям, чью работу правда вижу. Конкретно сейчас отправляю в Общероссийский Народный Фронт. И каждая такая “чашка кофе” дает надежду, что я, как человек, стал немного лучше.

  • Если вы прокрастинируете так, что уже гуглите «как перестать прокрастинировать», поздравляю — brain rot подкрался незаметно. Пока вы листаете рилсы в запретограмме, ваш мозг устраивает корпоратив с хабенулой (не путать с хуебнуллой) — нейробиологи очередной раз опубликовали исследование на эту тему.

    Виноват отдел мозга, который отвечает за принятие решений и мотивацию. Он, хаебнулла, просто выключается после слишком долгого скролла и сообщает: «ещё 3 часа, ничего же не случится».

    И всё — никакой энергии ни на уборку, ни на спортзал, ни даже на серию любимого сериала.

    Как итог: оторваться от телефона становится сложнее, чем от порно, а переключиться на что-то полезное — почти невыполнимая миссия.

    И каждый раз, когда вы открываете рилсы, хабеюнула радуется и запускает режим «лень на максимум».

    Призываю удалить запретограмм, япи (если кто-то пытался его смотреть) и тикток, в котором новые ролики закончились еще три года назад (но хаебнулла влияет на память и мы об этом забываем и смотрим их по кругу).

    Полезно дать мозгу переключиться на что-то новое. Например, мои интересные текстовые и видео посты в #Tach , заряжающие мотивацией или отборным юмором.

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

  • В последние годы IT воспринимается как индустрия возможностей: высокие зарплаты, удалёнка, проекты на любой вкус. Курсы обещают за полгода сделать из новичка sought-after профессионала. Но реальность часто оказывается другой.

    На рынке действительно стало больше специалистов, особенно джунов. Это заметно на собеседованиях: кандидатов много, а вакансий меньше. Компании ищут тех, кто может сразу приступить к работе и приносить результат. “Выучился и получил оффер” уже давно не работает.

    Но стоит ли говорить о кризисе?

    IT-рынок в России и мире меняется. Уход крупных игроков, санкции, снижение инвестиций — всё это сказывается. Бизнесы оптимизируют бюджеты, а значит, ищут тех, кто будет работать продуктивно. Это хорошая новость для специалистов уровня middle и senior: если вы можете показать результат, вы нужны рынку.

    Что с новичками?

    Многие джуны, окончившие курсы, сейчас в подвешенном состоянии. На собеседованиях часто встречаю кандидатов, которые только начали путь, но уже ждут высокой зарплаты и простых задач. Их ожидания не совпадают с реальностью. Если раньше компании охотнее брали на себя затраты по обучению, теперь это редкость. Нужно быть готовым к конкуренции и серьёзным требованиям.

    К чему это приведёт?
    1. Конкуренция вырастет. Новичкам придётся не просто учиться, а доказывать свою мотивацию: создавать проекты, участвовать в хакатонах, быть заметными в профессиональном сообществе.
    2. Тренды сместятся. Автоматизация, нейросети и другие технологии становятся ключевыми направлениями. Те, кто сможет адаптироваться и работать с новыми инструментами, останутся востребованными.
    3. “Гиперспециалисты” — будущее. Умение быть одновременно тестировщиком, аналитиком и немного разработчиком станет не просто плюсом, а требованием.

    Что делать?
    – Учиться постоянно, даже если вы уже middle.
    – Быть гибким. Компании ищут не тех, кто «умеет одно», а тех, кто решает задачи.
    – Начинающим: не опускать руки, если вы хотите быть в IT. Это сложный путь, но при достаточном упорстве всё возможно.

    Кризис в IT — это не конец, а трансформация. Те, кто готовы меняться, выживут и станут частью нового рынка. А те, кто хотят лёгких денег, вероятно, уйдут искать себя в других сферах.

    IT — это всё ещё место возможностей, но только для тех, кто готов работать.

    Ваши мысли? Как вы оцениваете изменения на рынке?

  • Про уток говорят, что они могут и летать, и плавать, и даже ходить по земле, но во всем этом есть небольшой изъян — они делают это средненько. Но что если утку прокачать? Превратить её в стартап-утку с ракетным двигателем или в корпорацию-утку с идеальной системой управления? Тогда у неё все шансы стать легендой водоема!

    В стартапе утка — это что-то среднее между пилотом, техником и пассажиром. Она на лету чинит крылья, одновременно проводя опрос пассажиров: “А вам нормально летится?” Задача проджект-менеджера здесь — быть всем и сразу: от фасилитатора до пожарного.

    Каждый день — новый вызов: где-то склеить требования из ничего, где-то сдружить команду, а где-то просто уговорить всех продолжать грести к берегу, который никто еще не видит. Но тут и магия: каждое решение — это шаг, который может превратить утку в лебедя (или хотя бы в жирного гуся).

    В корпорации утка летит строго по расписанию. Она знает маршрут, у неё есть навигатор, и весь пруд уже описан в документации. Но это не значит, что тут легко. Проджект-менеджер больше напоминает дирижера: важно, чтобы каждое “кря” звучало вовремя и в нужной тональности.

    Тут не приходится чинить крылья на лету, зато приходится заполнять формы на их обслуживание. Большие процессы требуют больше коммуникаций, отчетов и согласований. Но зато ясность маршрута и ресурсов позволяет больше сосредоточиться на эффективности и росте.

    Стартап учит действовать в условиях неопределенности, быстро находить решения и быть максимально гибким. Ты понимаешь, что время — самая дорогая валюта, а команда — твой главный актив.

    В корпорации этот опыт помогает импровизировать там, где процессы буксуют, и вдохновлять людей, если мотивация проседает. Гибкость и скорость из стартапа превращают тебя в супер-менеджера, который знает, как ускорить длинные циклы.

    Корпорация учит системности, вниманию к деталям и умению работать с большими масштабами. Ты привыкаешь к ответственности перед крупными заинтересованными сторонами, понимаешь, как учитывать все риски и выстраивать четкий план.

    Этот опыт помогает в стартапе, когда хочется не просто грести, а грести в правильном направлении и с минимальными потерями.

    Каждый опыт важен, и он делает вас гибким и универсальным проджект-менеджером. Если вы прошли стартап, вы знаете, как управлять хаосом. Если вы работали в корпорации, вы знаете, как создать порядок. А если вы работали в обоих мирах, то вы — настоящая утка-мультитул!