maxbeard12

12 ноября 2018, Russia

# Понедельник 64 твита

Всем привет, на этой неделе в этой виртуальной студии с вами Максим Шульга (@maxbeard12). Сейчас работаю в компании… twitter.com/i/web/status/1…

10:45

Я долго был разработчиком, потом менеджером, потом снова разработчиком->менеджером, сейчас должность "в одно слово… twitter.com/i/web/status/1…

10:45

На фоне октябрьской "техножести" в @backendsecret моя неделя будет сильно лайтовее и не совсем про кодописание. Пер… twitter.com/i/web/status/1…

10:45

Вот большей частью именно про вторую часть мы с вами и будем общаться: как обеспечить качество вашего продукта, как… twitter.com/i/web/status/1…

10:46

Я веду свой блог maxshulga.ru, поэтому заранее прошу прощения за то, что буду пытаться экономить буквы в… twitter.com/i/web/status/1…

10:49

Disclaimer: все описанное далее - это мое личное мнение и опыт, и не является официальной позицией моей текущей ком… twitter.com/i/web/status/1…

10:49

Какой у нас план, чуть подробнее:

10:51

  • немного про управление разработкой
  • про самообучение: книги, конференции и курсы, в том числе внутренние
  • внутр… twitter.com/i/web/status/1…
  • 10:51

    такой у нас план и мы не будем ему следовать.
    Надеюсь на вашу активность в обсуждениях и вопросах :)

    10:51
    @backendsecret Что у вас за трэш с HR-ами творится? Несколько лет назад отправляла резюме, в ответ тишина. Нашла сп… twitter.com/i/web/status/1…

    первый вопрос, и сразу не в бровь, а в глаз...
    хмм, мне сложно говорить о том, что было несколько лет назад (я тут… twitter.com/i/web/status/1…

    11:02

    SEMrush - веб-сервис all-in-one платформа для профессионалов в сфере digital-маркетинга. У нас больше 30 команд раз… twitter.com/i/web/status/1…

    11:15

    Каждая команда отвечает за один или несколько своих продуктов-инструментов, которые встроены в общую платформу.

    11:15

    Изначально каждая команда сама определяла стек технологий, который использует. Поэтому на backend-е можно найти Jav… twitter.com/i/web/status/1…

    11:19

    Та же картина и с базами данных: у нас есть PostrgreSQL, Clickhouse, MySQL, MongoDB и даже несколько оригинальных вариантов.

    11:19

    Какие-то из этих языков более популярны, какие-то достались в наследство из прошлого и сейчас компоненты на них или… twitter.com/i/web/status/1…

    11:22
    @backendsecret Это звучит крайне неразумно

    Зависит от целей, которые ставились. В целом управление таким, будем называть вещи своими именами, зоопарком сложно… twitter.com/i/web/status/1…

    11:32

    Но в условиях быстрого роста отдать выбор технологий в команды - вполне себе решение.
    Это дает возможность быстрее… twitter.com/i/web/status/1…

    11:32
    Окей, про нас чуть-чуть рассказал, теперь хочу узнать про вас!
    Есть здесь Java программисты? Или вы используете дру… twitter.com/i/web/status/1…

    Если верить опросу 2х недельной давности, Java у аудитории этого аккаунта в приоритете, но я про нее, да и про все… twitter.com/i/web/status/1…

    11:39

    О чем можно, например, спросить?
    Ну вот ClickHouse в SEMrush:
    • 8 продуктов успешно построены с использованием Cli… twitter.com/i/web/status/1…

    12:01

    • Размер самой большой таблицы в сжатом виде - 500TB (оринал 1.2PB)
    • Полтора года в продакшене (первый запуск в апреле 2017)

    12:01

    Подробнее можно потормошить @playboyko, глянув предварительно его выступление на ClickHouse-митапе events.yandex.ru/lib/talks/6405/

    12:01
    @backendsecret Эм... ну вот уволятся они, и кто тогда будет отвечать?

    Конечно есть такой риск, но, на то он и зоопарк, а не сафари - нет технологии, которой бы владела только 1 команда.… twitter.com/i/web/status/1…

    12:33
    @backendsecret То, что Вы описали попахивает комбинаторной сложностью :(

    Мы работаем над ее уменьшением :)
    Повторюсь, все зависит от целей. twitter.com/skv_nskv/statu…

    12:36
    @igor_maslik @backendsecret Подозреваю, что, во 1) все зависит от размера - для 100 человек это будет одно, для 500… twitter.com/i/web/status/1…
    12:43
    @skv_nskv @backendsecret И что, никто не сможет справиться с суперэкзотикой типа mongodb или MySQL? Днём с огнём не… twitter.com/i/web/status/1…
    12:46
    @igor_maslik @nifl_heim @mittov @backendsecret @skv_nskv Внесение правок в проект с зоопарком технологий :) pic.twitter.com/Til97rKyWP

    картинка скорее к монолиту, но @mittov уже все пояснил
    twitter.com/mittov/status/… twitter.com/POS_troi/statu…

    13:40

    Кроме команд разработки инструментов для пользователей, у нас есть команды занимающиеся внутренними сервисами и не… twitter.com/i/web/status/1…

    14:14

    Кроме обычных задач (как много где устроено), наши админы драйвят процессы по внедрению новых инструментов и платфо… twitter.com/i/web/status/1…

    14:14

    Безопасники помогают настраивать процессы разработки с точки зрения безопасности. На каждой из стадий выхода продук… twitter.com/i/web/status/1…

    14:14

    Кроме проверок своими руками, ребята организуют внешние bug bounty программы или конкурсы типа Crush SEMrush на буд… twitter.com/i/web/status/1…

    14:14

    Кажется, что общие истории про SEMrush подходят к концу. Если кому еще что интересно - пишите. Остальное уже в рамках следующих тем.

    14:21

    Для того, чтобы мне было проще определиться с контентом, давайте познакомимся :)
    Кто ты, мой дорогой читатель:

    14:25
    @backendsecret >Разраб,могу проверить код
    Что значить проверить? В смысле "прочитать"?

    А действительно, что значит "проверить"?
    Зы с моей стороны невежливо отвечать вопросом на вопрос, но формат общени… twitter.com/i/web/status/1…

    15:11
    @skv_nskv @backendsecret Еще одно корпоративное когнитивное искажение. Тебе нужно быстро запустить приложение. С со… twitter.com/i/web/status/1…
    15:27
    @backendsecret Разработчик (no tests) - проще говоря говнокодер?
    Написал что-то, а работает это корректно или нет пофиг?

    Есть и такая трактовка определения :) twitter.com/InternetOfV/st…

    15:28
    @mittov @backendsecret Любых - найдёшь.
    Толковых - непросто найти в принципе, на любую технологию.
    На N технологий - ещё в N раз сложнее.

    Просто вероятность того, что это придется делать одновременно сильно меньше. Поэтому я не согласен про N раз сложне… twitter.com/i/web/status/1…

    15:32

    Что такое проверить код?
    (Каждый последующий пункт включает предыдущие)

    15:41
    @backendsecret Чаще видел случаи, когда юнит-тесты на втором месте

    да, тоже рабочий вариант. Я осознанно так поставил, потому что на ревью и стат.анализ часто забивают twitter.com/serg_rubtsov/s…

    15:47
    @backendsecret + E2E

    на такое я даже не рассчитывал :)
    А E2E тоже разработчики пишут? twitter.com/elixir_lang_mo…

    15:53
    @backendsecret По-моему порядок в корне неправильный. Ручная работа должна быть минимизирована, а это значит, что д… twitter.com/i/web/status/1…

    Правильный ответ twitter.com/inponomarev/st…

    15:53
    @backendsecret Бывает, что разработчик вообще один на проекте, тогда ревью делать некому. А бывает, стат-анализ и к… twitter.com/i/web/status/1…
    15:54
    @serg_rubtsov @backendsecret Да ладно нельзя. Сколько раз видел папку с закомментированными юнит-тестами. А потому,… twitter.com/i/web/status/1…

    Что я тут могу сказать, плохая практика, скажем прямо некудышная. twitter.com/musuk/status/1…

    16:48
    @serg_rubtsov @musuk @backendsecret Просто некоторые девелоперы тестируют код вместо фич, и потом на каждый рефактор переписывают тесты

    Тут видимо про то, что тестировать надо то, что функция реализует, а не то как?
    Если мы говорим про тесты состояния… twitter.com/i/web/status/1…

    16:56
    @flex_ferrum @backendsecret Два года работал над проектом в одиночку, был внешний аудит и настроен стат.анализ чере… twitter.com/i/web/status/1…

    Для облегчения внедрения статического анализа в существующий код, хорошей практикой бывает отключение ворнингов для… twitter.com/i/web/status/1…

    17:00
    @backendsecret Именно так 🙌 А что имеется ввиду под поведенческими тестами? Поидее любое наше деиствие это изменени… twitter.com/i/web/status/1…

    Проверять работоспособность тестируемого объекта (system uder test - SUT) можно 2мя способами: оценивая состояние о… twitter.com/i/web/status/1…

    17:06

    В первом случае проверка правильности работы метода SUT заключается в оценке состояния самого SUT, а также взаимоде… twitter.com/i/web/status/1…

    17:06

    Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT),… twitter.com/i/web/status/1…

    17:06

    Часто для второго способа используют моки (в классическом их определении). И в тестах это выглядит как "при вызове… twitter.com/i/web/status/1…

    17:06

    Вот второй тип тестов сильно "цементирует" реализацию и приводит к тому, что тесты приходится менять чаще, чем это… twitter.com/i/web/status/1…

    17:06
    @backendsecret Зачем мне быть уверенным в том что функции были вызваны в определенном порядке? Меня интересует резу… twitter.com/i/web/status/1…

    Если вызов тестируемой функции должен гарантировать строго последовательный вызов внешного API с определенными пара… twitter.com/i/web/status/1…

    17:16
    @Arhelmus @musuk @backendsecret да да, абсолютно
    оба вырожденных случая плохи - и 0% и 100% покрытия
    17:19
    @backendsecret Для облегчения внедрения статического анализа хорош "метод храповика" (ratcheting), описанный в кни… twitter.com/i/web/status/1…

    И дальше по треду. twitter.com/inponomarev/st…

    17:26
    @musuk @backendsecret Если бизнес-требования не включают никаких гарантий, что код будет работать как надо, то можн… twitter.com/i/web/status/1…

    И часто такой код возникает необходимость писать? :)
    Нормальному бизнесу как раз все равно какие инструменты испол… twitter.com/i/web/status/1…

    17:40

    Кажется, что тема юнит-тестов, стат.анализа побурлила, но затихла.
    Код-ревью практически никто не упоминал, хотя э… twitter.com/i/web/status/1…

    18:17

    Многое в деле юнит-тестирования зависит от контекста, в котором вы находитесь.
    В общем случае, разработка без ЮТ -… twitter.com/i/web/status/1…

    18:17
    @serg_rubtsov @backendsecret Статанализ в нормальных IDE для нормальных языков работает из коробки в редакторе прямо, ничего делать не надо.

    Да, но нет. Можно конечно уйти в споры по определению "нормальных". Опять же никуда не деваются вопросы анализа при… twitter.com/i/web/status/1…

    19:11
    @musuk @tagir_valeev @serg_rubtsov @backendsecret @Arhelmus Согласен. Очень люди любят политические игры вокруг это… twitter.com/i/web/status/1…
    20:18
    @backendsecret Отказались от юнит тестов в пользу функциональных. Писать и поддерживать тесты стало намного легче и… twitter.com/i/web/status/1…

    годный вариант, если сделано осознанно и плюсы/минусы понятны twitter.com/ErlangAdept/st…

    20:19
    @flex_ferrum @elixir_lang_mos @backendsecret Не хочу быть снобом, но mutation testing and fuzzy testing концептуаль… twitter.com/i/web/status/1…
    20:21
    @backendsecret И часто это встречается в жизни? Приходят на ум разве что стандартные библиотеки языков, когда вы, н… twitter.com/i/web/status/1…

    при разработке с взаимодействием с, простите, Microsoft API к любому из их продуктов такое встречается сплошь и ряд… twitter.com/i/web/status/1…

    20:25
    @backendsecret Так в итоге тестирование засосало или так и проповедуешь отказ?

    отказ от тестировщиков не равно отказу от тестирования ;) twitter.com/eleWolfy/statu…

    20:36
    @ErlangAdept @backendsecret Намучился с такими кондовыми тестами и в старых проектах. Функциональные рулят dev.to/asizikov/you-a…
    20:39
    @backendsecret А как вы WinAPI мокали?

    Если говорить о C++ и классике WinAPI, то варианты: подмена через *.h file (в тестовом проекте хедер подменялся на… twitter.com/i/web/status/1…

    21:32

    По С++ и тестам там, в том числе мокированию, Виктор Ястребов делал неплохой доклад на Питерском Гейзене весной heisenbug-piter.ru/talks/2018/spb…

    21:32

    # Вторник 89 твитов

    @serg_rubtsov @backendsecret @Arhelmus @musuk Чем плох 100% coverage?

    Интересный тред, если кто пропустил.
    Мой ответ про 100%:он плох тем, что на достижение этого значения потратили вре… twitter.com/i/web/status/1…

    9:08
    @backendsecret Скорее всего у вас в Semrush и близко нет таких проектов, но пофантазируйте.

    В SEMrush нет, да я таких нигде до SEMrush и не встречал. Но даже в этом случае coverage - это последнее, про что я… twitter.com/i/web/status/1…

    11:05
    @backendsecret Так что вы будете делать чтобы снизить вероятность ошибок ещё больше?

    Думать головой :) Например, что такое "ошибка" в вашем понимании и почему мы хотим положить время на достижение эфи… twitter.com/i/web/status/1…

    11:10

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

    11:14

    Сейчас есть желание немного систематизировать то, о чем уже поговорили и продолжить тему качества ПО.

    11:14

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

    11:17

    Качество ПО — это то, насколько оно удовлетворяет предъявляемым к нему требованиям. Требования зависят от многих фа… twitter.com/i/web/status/1…

    11:17

    Качество ПО можно рассматривать как в контексте качества исходного кода: удобство поддержки, соответствие стандарта… twitter.com/i/web/status/1…

    11:17

    Качество программного продукта:
    • функциональность
    • стабильность
    • производительность
    • удобство использования (UX)
    • безопасность

    11:17
    Качество программного продукта:
    • функциональность
    • стабильность
    • производительность
    • удобство использования (UX)
    • безопасность

    ВАЖНО: качество должно достигаться путем его встраивания, а не проверки twitter.com/backendsecret/…

    11:23
    Для того, чтобы мне было проще определиться с контентом, давайте познакомимся :)
    Кто ты, мой дорогой читатель:

    Не забываем про этот опрос twitter.com/backendsecret/…

    11:25
    Что такое проверить код?
    (Каждый последующий пункт включает предыдущие)

    И этот twitter.com/backendsecret/…

    11:25

    И здесь у нас наблюдается один из главных в нашей отрасли парадоксов: многие считают, что качество - это зона ответ… twitter.com/i/web/status/1…

    11:36

    А давайте еще один опросик, а потом его сравним с таким же 2х-летней давности
    Что будет на моем проекте, если оттуда убрать тестировщиков?

    11:42
    @backendsecret Влиять никак, а вот в какой-то мере оценивать качество помогают. И даже если на проекте нет живых те… twitter.com/i/web/status/1…

    Хороший момент: "эту роль выполняют другие люди/роботы". Это самое важное в теме "отказа" от тестировщиков. twitter.com/mittov/status/…

    12:55

    Но перед тем, как мы перейдем к тестировщикам, давайте "добьем" разработчиков.
    Почему разработчики не тестируют?

    12:57

    Причин на самом деле немного:

    13:32

    Подробнее тут maxshulga.ru/2014/12/dev-no…
    Причины указаны. Что делать? Кто "виноват"?
    Имхо, менеджер :)

    13:32

    Почему? Потому что:
    • не учит, потому что,
    • не знает, как писать тесты или -
    • не ищет правильных и умных людей
    •… twitter.com/i/web/status/1…

    13:32

    Просто ли это? Быстро ли это? Нет :) pic.twitter.com/iliPNUex36

    13:32
    @backendsecret Свой или чужой функционал? Если тестировщик мануальный его рабочее время дешевле чем время разработчика.

    Регулярно слышу мнение: "время разработчика стоит дороже времени тестировщика". БРЕД! (извинения за upper case) Пон… twitter.com/i/web/status/1…

    13:34

    Но если мы говорим о продукте, который надо поддерживать от 3 лет и выше, то итоговая стоимость неквалифицированной… twitter.com/i/web/status/1…

    13:34
    @backendsecret Рыночек порешал, что QA дешевле. pic.twitter.com/lMmpKNbYzR

    на то он и рыночек, могу прислать QA-вакансии SEMrush с бОльшими цифрами, или вакансии разработчиков (не у нас) с ц… twitter.com/i/web/status/1…

    13:44
    @backendsecret ещё пункт - демотивация. Например при плохой культуре ревью, патч, который изначально был хорошо про… twitter.com/i/web/status/1…

    Это решается изменением подхода к написанию тестов. Акцент при тестировании на то что тестируем, а не то, как это р… twitter.com/i/web/status/1…

    13:48
    На этой неделе @backendsecret посвящен волшебному миру единорогов, хорошего покрытия тестами, качественными тестам… twitter.com/i/web/status/1…

    Да, стараемся. Потом добавим не менее радужных мониторингов доступности, конференций и вот этого всего. Я предупреж… twitter.com/i/web/status/1…

    13:53

    Давайте чуток полезностей про то, как писать правильные тесты:
    Классика:
    "The Art of Unit Testing" Roy Osherove
    "x… twitter.com/i/web/status/1…

    14:07
    @backendsecret Иными словами, TDD. Что есть правильно.

    простите, но не совсем :) Возможно оно помогает, но достичь этого можно разными способами. twitter.com/flex_ferrum/st…

    14:13

    TDD, как и прочие базворды, часто представляют как серебряную пулю. Но это не так.
    Про TDD есть шикарная статья от… twitter.com/i/web/status/1…

    14:13

    В топку холивара: unit-тесты не спасают нас ни от "лапше-кода", ни от плохого дизайна, ни от нерабочего продукта. Н… twitter.com/i/web/status/1…

    14:17

    Ну и немного про юнит-тесты на C++ maxshulga.ru/2012/12/blog-p…
    Из самого полезного там pragprog.com/news/modern-c-…

    14:23
    @soft_skillzz @backendsecret ручное тестирование разработчиками - это вообще в 99% случаев профанация с проверкой п… twitter.com/i/web/status/1…

    Да :) Но правильнее говорить: "пишет проверки" twitter.com/ivanovpetja/st…

    14:25

    Раз тут уже помянули QA в суе :)
    Кто из вас БЕЗ гугла сможет сказать, что как расшифровывается QA?
    Судя по предыду… twitter.com/i/web/status/1…

    14:34

    Результаты опроса pic.twitter.com/8eE7miBCIE

    14:36
    @backendsecret Уже неоднократно слышал от разработчиков, что эти книги так себе, особенно первая.
    И говорили, что… twitter.com/i/web/status/1…

    Книги - это попытка систематизировать знания. Но чаще всего навыки приобретаются тренировками и практикой. Одних кн… twitter.com/i/web/status/1…

    14:41
    Извините, я все о своем...
    "Учимся писать автотесты по книжке" pic.twitter.com/PHXoklVGhf

    Как-то так, простите :)
    twitter.com/maxbeard12/sta…

    14:41

    Вернусь чуток к покрытию и еще не остывшему TDD
    maxshulga.ru/2015/04/softwa…
    Исследования по Software-Engineering Myth B… twitter.com/i/web/status/1…

    14:54
    @backendsecret Что вы понимаете под и ожидаете от code review? Проверку соответствия стилю написания? Выявление простых ошибок кодирования?

    "Старайтесь избегать замечаний по форматированию и code style. Не надо брать разработчиков за яйца - боюсь им это н… twitter.com/i/web/status/1…

    15:59

    При ревью мне больше импонирует оценивать понятность кода и соответствие реализации тому, что от нее ожидалось. Но… twitter.com/i/web/status/1…

    15:59

    Страшные 8% pic.twitter.com/xfcZPCfiW5

    16:02
    @backendsecret Что если менеджер верит в специализацию?) То есть "разработчик пишет фичи" и "разработчик пишет тест… twitter.com/i/web/status/1…

    Про специализацию и "тестировщик тоже разработчик" (иногда и не все) мы еще поговорим. Хотя... Чего тянуть :)
    Да, с… twitter.com/i/web/status/1…

    16:24

    Ну а про название должности есть отдельный опус
    "Накуа тебе QA в написании тайтла?" maxshulga.ru/2017/05/qa-in-…
    Видимо… twitter.com/i/web/status/1…

    16:24
    @backendsecret Хорошее понимание того, как все ожидалось, может потребовать нехилого такого рисёрча, и мне видится,… twitter.com/i/web/status/1…

    многое зависит от предметной области и того, как задачи уходят в разработку twitter.com/Novosilicon/st…

    16:25
    @backendsecret Не, а кто сказал, что тестировщики на это могут влиять? Они в основном валидируют и (не) пропускают продукт до пользователя.

    Имхо, тестировщики изучают продукт и предоставляют информацию о его качестве тем, кто принимает решение о (не) проп… twitter.com/i/web/status/1…

    16:33

    Вчера мы с вами обсуждали вопрос "проверки" кода. Уверен, что многие из вас понимают, что тестировать и проверять -… twitter.com/i/web/status/1…

    16:39

    Имхо, "цепочка" множеств получается следующей (каждое последующее не работает без предыдущего):
    проверка - тестирование - QC - QA

    16:39

    Млин, забавно.
    8% нас преследуют из предыдущего опроса:
    "все компилируется - никаких проблем" (шутка)
    ЗЫ не сообра… twitter.com/i/web/status/1…

    17:24
    @backendsecret Вообще, очень интересный момент, касающийся процессов и зоны ответственности тестировщиков

    Об этом сложно говорить "в общем", потому что процессы везде отличаются. Я завтра расскажу немного про то, как это… twitter.com/i/web/status/1…

    18:10

    Нужны ли тестировщики, если разработчики сами пишут ̶т̶е̶с̶т̶ы̶ автоматические проверки?
    Или как в случае со скрипа… twitter.com/i/web/status/1…

    18:37
    @backendsecret Нужны, конечно, бизнес логику кто будет проверять?

    А почему разработчики не могут писать проверки на бизнес-логику? twitter.com/russianlagman/…

    18:41
    @backendsecret Если такие разработчики стоят дешевле тестировщиков, а результат не отличается - тогда тестировщики не нужны.

    Получается "дешевые" тестировщики могут сделать то, что не могут дорогие разработчики? twitter.com/vfurso/status/…

    18:48
    @backendsecret Нужна компетенция в тестировании. Тестовая модель, пресловутые тест-кейсы, вот это все

    Это сложно? Почему бы не получить эту компетенцию? twitter.com/makhov/status/…

    18:57
    @backendsecret Нужны, разумеется. Спроектировать и написать хороший комплект приёмочных тестов по заданному набору… twitter.com/i/web/status/1…

    Нанять больше разработчиков? twitter.com/flex_ferrum/st…

    18:57
    @backendsecret Тут скорее кто может сделать дешевле при сопоставимом качестве - тот и должен делать. Вполне возможе… twitter.com/i/web/status/1…

    Подходим к практической ценности twitter.com/vfurso/status/…

    18:58
    @backendsecret Если писать и тестировать слабосвязный код, где зависимости мокаются, а данные берутся из фикстур, е… twitter.com/i/web/status/1…

    почему разработчики не могут писать тесты (часть тестов) без моков? twitter.com/russianlagman/…

    18:59
    @backendsecret Писать они могут, но все кейсы не закроют. Тестировщик как раз должен все варианты продумать.

    а задумывались почему человек с меньшей (как показывает статистика) зп может продумать все варианты кейсов, а дорог… twitter.com/i/web/status/1…

    19:22
    @backendsecret Ибо пилить автоматизацию тестов на плюсах - гм... То ещё удовольствие. Зато комплекты скриптов для р… twitter.com/i/web/status/1…

    Пусть пишут на питоне, в чем проблема. После C++ питон - песня :) twitter.com/flex_ferrum/st…

    19:23
    @backendsecret Нужного варианта нет. Тестировщики порой находят ситуации, о которых я не подумал и не покрыл тестам… twitter.com/i/web/status/1…
    19:24
    @backendsecret Хотя с практической точки зрения - автоматические тесты не могут быть полной заменой тестировщикам.… twitter.com/i/web/status/1…

    у хорошего тестировщика не стоит задача "сломать" продукт :) twitter.com/vfurso/status/…

    19:34

    Откуда взялась эта легенда про "сломать"?
    Думаю от незнания профессии. pic.twitter.com/44SQ2CuFU7

    19:36
    @sunoumanu @backendsecret плох тот разраб, который не думает об edge cases
    19:51
    @levwalkin @backendsecret @sunoumanu Меня как сочувствующего интересует почему никто не говорит о предвзятости и разнице в майндсэте?

    Про mindset говорили (в тредах пока), а что с предвзятостью? Кого к чему? twitter.com/yy_bond/status…

    19:57
    @backendsecret Гайз а альфа/бэта тестирование тоже разрабы будут проводить, они конечно могут и в acceptance смогут… twitter.com/i/web/status/1…

    альфа-бету обычно проводят пользователями.
    А почему это неправильно, осталось неясным. twitter.com/yy_bond/status…

    20:04
    @backendsecret Если у этого тестировщика в названии есть приставка "пен-", то... Может и стоит. :) И чем больше спо… twitter.com/i/web/status/1…

    Да, хорошее замечание 🙂 twitter.com/flex_ferrum/st…

    20:39
    @backendsecret Потому что конфликт интересов. Разработчику важно выпустить код в продакшн, а тестировщику интересно… twitter.com/i/web/status/1…

    "Разработчику важно выпустить код в продакшн, а тестировщику интересно выпустить в прод решение бизнес задачи"
    Како… twitter.com/i/web/status/1…

    21:48
    @backendsecret Ну это к тому, что даже наличие уровней тестирования говорит о невозможности (при нормальной организ… twitter.com/i/web/status/1…

    Пирамида тестирования вообще никак не проецируется на то, над какими уровнями какие люди будут работать. twitter.com/yy_bond/status…

    21:49
    @backendsecret Например, поскольку девы ожидают, что их код будет быть корректным, у них есть confirmation bias, чт… twitter.com/i/web/status/1…

    Тяжело тогда тем тестировщикам, которые код для проверок. Их то код кто проверит? twitter.com/yy_bond/status…

    21:51
    @sunoumanu @backendsecret Не отменяет возможность и необходимость растить и развивать. А не дыры в майндсете закрывать тушками тестеров.
    21:52
    @levwalkin @backendsecret Если в долгую работать то да, можно в бюджет обучение заложить. Но реальность, увы, вносит свои корректировки.

    А почему ожидается, что компания должна кого-то учить? Почему бы не учиться самостоятельно? twitter.com/sunoumanu/stat…

    21:53
    @backendsecret Большинство людей живет в мире победившего mvp, Огромные дорогие проекты разрабатываются на коленке,… twitter.com/i/web/status/1…

    Тут хочется сказать "за что боролись за то и напоролись"
    ты-дынц, печаль twitter.com/qataetsko1l/st…

    21:54
    @backendsecret Далеко не всегда менеджер может сказать "НЕТ" запросам бизнеса и начать купаться в радуге из аджайла… twitter.com/i/web/status/1…

    я не очень пока понимаю, как это связано с начальным утверждением про то, что "разработчику важно выпустить код в п… twitter.com/i/web/status/1…

    21:58
    @backendsecret Не совсем понятно почему ну да ладно.

    Ну наверное потому, что пирамида говорит о том, что и как на каждом уровне делать, но никак не говорит о том, кто у… twitter.com/i/web/status/1…

    22:00
    @tagir_valeev @backendsecret Порядок не важен:
    22:01
    @backendsecret Я разделяю кодеров, которые выпускают код, и разработчиков, которые выпускают продукт. Просто нужно… twitter.com/i/web/status/1…
    22:02
    @tagir_valeev @backendsecret "Снизить вероятность ошибок" в некоторых ситуациях не лучшая стратегия. Иногда гораздо… twitter.com/i/web/status/1…
    22:02
    @sunoumanu @backendsecret «Обучение» всё равно не поможет, это же часть культуры: должно начаться и долгое время по… twitter.com/i/web/status/1…
    22:03
    @backendsecret Ну они не разрабатывают продукт, а лишь тесты. Или мануальные или авто. Кто проверит я хз. Все это н… twitter.com/i/web/status/1…

    Они разрабатывают тесты, которые типа должны проверять продукт. И мы не заботимся о качестве этого кода? Где уверен… twitter.com/i/web/status/1…

    22:05
    @backendsecret А почему бы менеджеру не появиться.
    Ситуация с конфликтом интересов из личного опыта, к сожалению.… twitter.com/i/web/status/1…

    Я просто не понимаю, зачем нужен код и архитектура без понимания того в чем бизнес-ценность. Без этого, простите, и… twitter.com/i/web/status/1…

    22:12
    @yy_bond @backendsecret Эта хрень тренируется. Например, ты можешь сделать весёлым и психологически безопасным поис… twitter.com/i/web/status/1…
    22:18
    @backendsecret Acceptance testing > Acceptance testing is often the responsibility of the customers, business users… twitter.com/i/web/status/1…

    хаха, вот этот пункт порадовал :)
    Прикольно, не знал, что такое есть.
    ЗЫ чего только не придумают twitter.com/yy_bond/status…

    22:20
    @backendsecret Вы же понимаете, что круг проверок и перепроверок не может замкнуться даже в теории?

    "тесты на тесты" - делали, умеем, знаем.
    ЗЫ да, выглядит смешно, но помогает.
    ЗЫ2 в целом то любое тестирование не… twitter.com/i/web/status/1…

    22:26
    @backendsecret потому что не их это работа

    оххх. Тяжело то как :)
    А в чем их работа заключается? twitter.com/_the_elf_/stat…

    22:30
    @backendsecret У нас три тестировщика на 150 инженеров где-то. Они занимаются только exploratory testing и работают… twitter.com/i/web/status/1…

    Нормальный продукт получается? Есть пользователи?
    ЗЫ я без троллинга, мне для того, чтобы остальным понятно было. twitter.com/axique/status/…

    22:31
    @backendsecret Хм... Есть, конечно. "Приёмочное тестирование". Полагаю, что у тех, у кого релизный процесс - это ст… twitter.com/i/web/status/1…

    Не, я про то, кто его, согласно этой доке, должен проводить. Хотя там весь прикол в фразе "other stakeholders". Чер… twitter.com/i/web/status/1…

    22:35
    @backendsecret а что за кейсы когда помогает?

    А зачем разработчики пишут юнит-тесты? :)
    Ваш выход.
    ЗЫ я тебя знаю, мне можно так ответить и мне за это ничего не… twitter.com/i/web/status/1…

    22:40
    @backendsecret Придираться к словам ("все") невежливо)

    А что плохого вы видите в том, что люди выполняют определенные роли?

    Я не придираюсь, я пытаюсь найти причину.
    В общем случае ничего, но мне не нравится, когда рамки ответственности ст… twitter.com/i/web/status/1…

    22:43
    @brekelov @backendsecret Было бы еще круче, если бы программисты "в общей массе" подтянули квалификацию в тестирова… twitter.com/i/web/status/1…
    22:56
    @backendsecret кэп намекает, что в разработке

    А как господа разработчики убеждаются в том, что правильно наразрабатывали? twitter.com/_the_elf_/stat…

    23:01
    @backendsecret Угу, мелкие придирки и токсичность порой зашкаливают: teletype.in/@your_soft_ski…

    Токcичность при code review twitter.com/soft_skillzz/s…

    23:09
    @backendsecret не понимаю в чем сложность пофиксить мелкие придирки или забытые точки в javadoc. зы работал в googl… twitter.com/i/web/status/1…

    А вот мы тут переживали, а ничего, говорят работает ревью с придирками. twitter.com/brekelov/statu…

    23:29

    # Среда 62 твита

    @sunoumanu @backendsecret Вообще разделение на разработку и QA поощряет окукливание и инфантилизацию как разрабов,… twitter.com/i/web/status/1…

    Очень правильный посыл twitter.com/levwalkin/stat…

    8:08
    @andrius_kai @backendsecret @brekelov Курсы не нужны. Садитесь в пару со своим тестировщиком, он вас научит (и вы е… twitter.com/i/web/status/1…
    8:08
    @Novosilicon @backendsecret книжки более вредны чем полезны. У марка кроме этой есть еще несколько интересных стате… twitter.com/i/web/status/1…

    книжки помогают систематизировать и критически осмысливать то, что собрано из статей и собственной практики twitter.com/vilinski/statu…

    8:09
    @makhov @backendsecret Карго-культ. Ведь в интернетах говорят, что юнит-тесты нужны. Только мало говорят когда имен… twitter.com/i/web/status/1…

    Давайте все же резюмируем тему с юнит-тестами:

    8:14

  • помогают документировать код
  • покрытие ими оцениваем, но это не является самоцелью
  • возможен отказ от тотальног… twitter.com/i/web/status/1…
  • 8:14

    Критерии для принятия решения о переносе части проверок из юнит-тестов в слои выше по пирамиде:
    -скорость написания… twitter.com/i/web/status/1…

    8:14

    Just in case, про пирамидки тестирования и вообще про автоматизацию в тестировании на этапе ее становления можно по… twitter.com/i/web/status/1…

    8:22
    @backendsecret пожелание для будущих гостей канала: в конце делиться ссылкой на код опенсорсного проекта с которым… twitter.com/i/web/status/1…

    Fitnesse Slim implementation in PowerShell.
    github.com/konstantinvlas…
    Отличный инструмент для написания тестов на Fit… twitter.com/i/web/status/1…

    8:29

    Разработчикам требуется знание тестирования ничуть не меньше, а может даже больше, чем знание горячо любимых многим… twitter.com/i/web/status/1…

    10:33

    Но практики написания хороших тестов, принципы построения "пирамидки" в дополнение к обычным инженерным практикам K… twitter.com/i/web/status/1…

    10:33

    Вчера я обещал вернуть тестировщикам все то, что пытался у них забрать.
    Забирайте :)
    Только учитывайте, что, по мое… twitter.com/i/web/status/1…

    10:34

    Каким должен быть хороший тестировщик? Видимо тот, который является профессионалом в своем деле.
    Вы НЕ являетесь пр… twitter.com/i/web/status/1…

    10:37

    • Вы не участвуете в процессе до тех пор, пока не получаете «по голове» готовым билдом с указанием «иди и проверь е… twitter.com/i/web/status/1…

    10:37

    • Управление рисками для вас, это что-то из области страхования жизни.
    • У вас нет плана как улучшить качество свое… twitter.com/i/web/status/1…

    10:37

    • Вы считаете автоматизацию тестирования высокой наукой и планируете заниматься ей в будущем - на пенсии
    • Вы стави… twitter.com/i/web/status/1…

    10:37

    Хотите стать профессионалом? Начните смотреть на тестирование как на профессию
    Первый шаг – начинаем рассматривать… twitter.com/i/web/status/1…

    10:37

    Важно понимать, что изменение должно происходить изнутри, а не под воздействием какого-то указания сверху. И это не… twitter.com/i/web/status/1…

    10:37

    "Кто такой хороший тестировщик?"
    Подробнее по пунктам maxshulga.ru/2012/12/blog-p…
    Сделай мир лучше, прочитай сам и пода… twitter.com/i/web/status/1…

    10:38
    "Кто такой хороший тестировщик?"
    Подробнее по пунктам maxshulga.ru/2012/12/blog-p…
    Сделай мир лучше, прочитай сам и пода… twitter.com/i/web/status/1…

    Без этого, простите, нафиг не нужны тестировщики... twitter.com/backendsecret/…

    10:38

    Осторожно, мы выходим из радуги и возвращаемся в наши суровые будни. Расскажу-ка я вам о том, что у меня было в отд… twitter.com/i/web/status/1…

    10:39

    История на ~8 лет. Контекст: продукт по защите виртуальных инфраструктур (на момент старта VMware, потом появился H… twitter.com/i/web/status/1…

    11:46

    релизы ~8мес, фиксы после релиза практически невозможны, так как сертификация, контрольные суммы и вот это все.
    Бол… twitter.com/i/web/status/1…

    11:46

    Начало (~2009):

    11:46

    Продолжение (~2013):

    11:46

    -в работу тестировщикам уходит только то, что прошло проверку автотестами
    -тестировщ. стали больше времени уделять… twitter.com/i/web/status/1…

    11:46

    Состояние на момент моего ухода (2017):

    11:46

  • часть проверок пишут разработчики, часть тестировщики. Разделение скорее по платформам (a-ka historical reasons),… twitter.com/i/web/status/1…
  • 11:46

    Использованные нами инструменты:
    PowerSlim maxshulga.ru/search/label/F…
    STAF/STAX staf.sourceforge.net
    googletest (C+… twitter.com/i/web/status/1…

    11:46

    Про автоматизацию тестирования распределенных приложений на Windows информации очень мало, поэтому подробнее полист… twitter.com/i/web/status/1…

    11:46
    Про автоматизацию тестирования распределенных приложений на Windows информации очень мало, поэтому подробнее полист… twitter.com/i/web/status/1…

    Есть вариант и с озвучкой youtu.be/EkOw_mJ4HxQ twitter.com/backendsecret/…

    11:46
    @backendsecret Тут в очереди стоит такая книга: amazon.de/Google-Tests-S… но смущает 2012 год, она еще актуальна и полезна?

    Вокруг этой книги много копий сломано :)
    Кто-то ее считает водянистой, кто-то находит для себя пользу.
    Можно глянут… twitter.com/i/web/status/1…

    12:12
    @backendsecret Я про то что профессия "тестирование" выглядит как сборник всех антипатернов, которые Вы описали в т… twitter.com/i/web/status/1…

    Разумно, мне очень импонирует модель Quality Assistance от Atlassian. Можно подискутировать, но думаю мы где-то ряд… twitter.com/i/web/status/1…

    12:21

    Кажется пора закругляться с тестированием.
    Но до этого последний пункт нашей программы по тестированию: тестирован… twitter.com/i/web/status/1…

    13:57
    @backendsecret Насколько знаю, репрезентативное нагрузочное тестирование сложно сделать где-то вне продакшена

    А можно пояснить, что такое в вашем понимании "репрезентативное нагрузочное тестирование".
    Потому что в моем мире -… twitter.com/i/web/status/1…

    14:33
    @backendsecret Хм. В мире C++ юнит-тесты нужны ещё как минимум для автоматизации работы с разными санитайзерами. То… twitter.com/i/web/status/1…

    Да, динамический анализ тоже полезен. @asatarin делал отличный доклад про санитайзеры 2017.heisenbug-piter.ru/talks/6uw9kzfq… twitter.com/flex_ferrum/st…

    14:48

    Одна из интересных статей включающих тему тестирования в проде
    "Testing Microservices, the sane way"… twitter.com/i/web/status/1…

    16:13
    А давайте еще один опросик, а потом его сравним с таким же 2х-летней давности
    Что будет на моем проекте, если оттуда убрать тестировщиков?

    Опрос еще ждет вашей реакции :) twitter.com/backendsecret/…

    16:45

    Удивительно, но похоже тесты в проде мало кого смущают
    Особенно, если вспомнить bof на эту тему на питерском гейзен… twitter.com/i/web/status/1…

    17:53

    Что у меня из опыта по таким тестам и как я себе это вижу:
    вполне себе юзабельная штука, которую не надо боятся. Но… twitter.com/i/web/status/1…

    17:58

    Больше мыслей и, как мне кажется полезный набор ссылок для интересующихся темой, в 2х статьях… twitter.com/i/web/status/1…

    17:58

    Что из этого мы используем в SEMrush?
    У нас есть возможность выкатывать основную общую часть платформы через систем… twitter.com/i/web/status/1…

    18:04

    После этого, если набор проверок, реализованный через внешний сервис и оценивающий качество интеграции, проходит ус… twitter.com/i/web/status/1…

    18:04

    Набор проверок определяется по согласованию с каждой заинтересованной командой и рулит всем этим процессом SRE-team.

    18:04
    Тред. 1 лайк = 1 факт про тестирование/качество программ от @asatarin

    В завершение темы тестирования вот вам 30 фактов про тестирование от @asatarin.
    Все лаконично и по делу.
    Подписыва… twitter.com/i/web/status/1…

    18:33

    Про конференции в общем мы еще поговорим, но напишу сейчас: приходите 6-7 декабря на @HeisenbugConf в Москве. Прино… twitter.com/i/web/status/1…

    18:41

    Для тех, кто хочет оценить качество конфы или не имеет возможности приехать, вот вам записи уже проведенных конфере… twitter.com/i/web/status/1…

    18:41
    @backendsecret Кстати, у тестов есть своё сокращение FIRST: github.com/ghsukumar/SFDC…
    21:02
    @ivanovpetja @sun_in_july @backendsecret Из известных мне подходов тестирование на временно изолированой части клас… twitter.com/i/web/status/1…
    21:03
    @backendsecret Ну и существует практика preview features, когда пользователь практически соглашается быть бета тестером на фичу.
    21:04
    @backendsecret Amazon.com уже давно и очень успешно тестирует в проде. Ну ессесно, канари, фичерс флаг… twitter.com/i/web/status/1…
    21:04
    @backendsecret У вас создаётся по одной пре-прод ноде на каждый merge request? Или конфигурацию единственной пре-пр… twitter.com/i/web/status/1…

    Один за одним, и результаты перетирает, да. Но у нас редко создается в этом месте очередь, поэтому проблем не возни… twitter.com/i/web/status/1…

    21:09
    @backendsecret Ну если пишется компилятор без «unspecified behavior» вообще, то конкретно для него (как минимум пос… twitter.com/i/web/status/1…

    Интересно было бы услышать мнение разработчиков компиляторов. twitter.com/kirilloid_ru/s…

    21:10

    результаты -> (очепятка)-> merge requests

    21:16
    @backendsecret Фигня всё. 100% покрытие не даёт 100% нужных гарантий. Даже лучшие способы — формальные методы, Coq,… twitter.com/i/web/status/1…
    21:19
    @levwalkin @backendsecret Согласен. Баги есть даже в системах, которые автоматически сгенерированы из формально вер… twitter.com/i/web/status/1…
    21:24
    @backendsecret Так что погоня за одной цифрой 💯 — она странная. Но это один из немногих объективных, измеряемых _кр… twitter.com/i/web/status/1…
    21:24
    @backendsecret Тестировщики, которые читают только книги по тестированию, делают бооольшую ошибку.

    Тоже верно. Но мы исходим из предположения, что они читают :) twitter.com/asatarin/statu…

    23:01
    @levwalkin @backendsecret причем здесь покрытие вообще? отлично покрытый код откажется работать на тех сценариях, к… twitter.com/i/web/status/1…

    И часто даже кода нет для таких сценариев ;) twitter.com/wrong_habits/s…

    23:02
    @tshiorny_eugene @backendsecret и да я не о качестве тестов, а о продукте. какая разница, насколько качественны тес… twitter.com/i/web/status/1…

    вечнозеленые тесты - самая подозрительная фигня twitter.com/wrong_habits/s…

    23:03
    вечнозеленые тесты - самая подозрительная фигня twitter.com/wrong_habits/s…

    Термин в моем обиходе появился, когда прилетел баг, начали разбираться и нашли зеленые тесты на эту фичу. Тесты про… twitter.com/i/web/status/1…

    23:08
    @backendsecret это потому что регрессионные тесты в принципе зло. они пишутся под мотивацию "лишь бы не уронили билд", и часто внутри ад.

    Не думаю, что это касается только регрессии, это может быть с любым тестом. Дело в квалификации автора twitter.com/wrong_habits/s…

    23:15
    @asatarin @backendsecret Что посоветуете почитать из хорошего?

    Мой небольшой списочек maxshulga.ru/p/useful-books…
    Но я уверен, сейчас Андрей выкатит портянку :)
    заодно покритиковав м… twitter.com/i/web/status/1…

    23:35

    # Четверг 40 твитов

    @wrong_habits @backendsecret У нас не так. Времени тратится разумно, во время автоматизации находятся дополнительны… twitter.com/i/web/status/1…
    8:30
    @wrong_habits @backendsecret Рефакторинг и закрытие техдолга тоже упрощаются для разработки, аналитики получают инф… twitter.com/i/web/status/1…
    8:30

    Бодрого всем дня, а мы продолжаем :)
    Для программных продуктов, которыми пользуются удаленно, существует еще один а… twitter.com/i/web/status/1…

    10:37

    Причины недоступности могут быть разные:

    10:37

    Конечно причиной может быть разработка:

    10:37

    Для мониторинга доступности чаще используются 2 способа: whitebox и synthetic

    10:37

    Whitebox: тот мониторинг, который мы чаще всего получаем из логов (других источников) наших серверов, балансеров и… twitter.com/i/web/status/1…

    10:40

    Плюсы:

    10:40

    Synthetic подход подразумевает регулярную синтетическую нагрузку в виде обычных HTTP -запросов (проверка endpoint),… twitter.com/i/web/status/1…

    10:42

    Плюсы

    10:42
    @levwalkin @sunoumanu @backendsecret А есть какие-то реальные примеры компаний, где разделение не является доминирующей моделью?

    В SEMrush есть: команды сами определяют нужен им тестировщик или нет, и если при этом человек нанимается, он работа… twitter.com/i/web/status/1…

    10:49
    @NoisyFlasher @sunoumanu @backendsecret Это исторически новая (заново изобретаемая?) модель (похожая на девопс, при… twitter.com/i/web/status/1…
    10:58

    Для synthetic в SEMrush используем Pingdom, NewRelic и Catchpoint.
    При выборе инструмента оценивали:

    11:07
    @backendsecret В ОК есть отдел тестирования, но все тестировщики работают в продуктовых командах. Отдел выполняет и… twitter.com/i/web/status/1…
    11:21
    @backendsecret Отдел нужен для того чтобы решать вопросы балансировки ресурсов по проектам, выполнять большие задач… twitter.com/i/web/status/1…
    11:24
    @backendsecret Кроме этого есть команда автоматизации тестирования, которая обеспечивает инструментальную поддержку… twitter.com/i/web/status/1…
    11:26
    Для synthetic в SEMrush используем Pingdom, NewRelic и Catchpoint.
    При выборе инструмента оценивали:

    Почему используем так много однотипных, как кажется, инструментов?
    Об этом сегодня чуть позже. twitter.com/backendsecret/…

    11:27
    А давайте еще один опросик, а потом его сравним с таким же 2х-летней давности
    Что будет на моем проекте, если оттуда убрать тестировщиков?

    Беспощадная ̶ж̶о̶п̶а̶ статистика
    2018 vs 2016. И не смотря на огромную разницу в кол-ве голосовавших, тенденция не… twitter.com/i/web/status/1…

    11:54
    @backendsecret ошибка в логах на проде— разрабам звонит на телефон!:)

    VictorOps - есть :) twitter.com/brekelov/statu…

    13:03

    Изначально в этом списке появился Pingdom, который объединял удобство HTTP- и Transation- проверок c RUM (real user… twitter.com/i/web/status/1…

    13:58

    Потом начали думать над APM (application performance monitoring) и более удобным поиском причин проблем с доступнос… twitter.com/i/web/status/1…

    13:58

    Catсhpoint появился в этом списке из-за задач по доступности инструментов из Китая. На данный момент это единственн… twitter.com/i/web/status/1…

    13:58

    А вот результаты про тестирование в продакшене. Голосов немного. Надеюсь те, что с хренью, нашли для себя что-нибуд… twitter.com/i/web/status/1…

    14:05

    Как это все работает?
    Через Pingdom SRE-team совместно с командами настраивает набор проверок (http + transaction),… twitter.com/i/web/status/1…

    14:53

    *ВАЖНО: синтетические проверки нельзя запускать из того же ДЦ или локации. Они теряют смысл. Учитывайте географию ваших клиентов.

    14:53

    Если проверка "упала", то частота проверок увеличивается (фича инструмента), а в канал команды прилетает сообщение… twitter.com/i/web/status/1…

    14:53
    @backendsecret По каким критериям оценивали последнее?
    Насколько хорошо удовлетворяется?

    Проводили испытания, например (но не только) для APM, добавляли тайм-аут в место далекое от начала обработки запрос… twitter.com/i/web/status/1…

    15:29

    Инструмент должен показать собственно увеличение времени ответа клиенту, ну и дальше дать возможность раскрутить до… twitter.com/i/web/status/1…

    15:29

    Если говорить о например браузерных проверках, то тот же Catchpoint дает возможность видеть отчеты привычного разра… twitter.com/i/web/status/1…

    15:29
    Мониторинг. Минимальный набор у нас это: nginx access logs + Sentry + Zabbix + uptimerobot.com . Настраивае… twitter.com/i/web/status/9…

    О, вот тут в январе уже обсуждали whitebox мониторинг.
    Ну я и не планировал про него рассказывать вглубь :) twitter.com/backendsecret/…

    19:07

    Сообщения о падении/подъеме складываются в систему учета инцидентов, которые анализируется и команды описывают причины проблем.

    19:10

    Кроме этого, определенные виды участвуют в вычислении времени uptime для инструментов, изменение которого анализир… twitter.com/i/web/status/1…

    19:10

    К чему нужно быть готовым при реализации и внедрении подобного у себя:

    19:10

  • учитывайте работу тестовых аккаунтов - она, внезапно, может влиять на проводимые командами эксперименты
  • разъясн… twitter.com/i/web/status/1…
  • 19:11

    ВАЖНО: Blameless culture

    19:11

    Аркадий Мурашев рассказывал про все. Посмотреть-полистать
    "Действенный мониторинг доступности в вебе"… twitter.com/i/web/status/1…

    19:15

    Отдельно стоит тема доступности из Китая. Их огненная интернет-стена доставляет много "веселья".
    Есть у кого опыт?

    19:52

    На что наступили мы в Китае:

    21:03
    @backendsecret а зачем заводить CDN в Китае? Дешевле?

    CDN нужен для ускорения загрузки статики. Внешние по отношению к Китаю CDN пользы не приносят - все идет через кита… twitter.com/i/web/status/1…

    21:27

    Ну и да, напомнили вот. Все что связано с гуглом, фейсбуком, твиттером в Китае не работает. Из самого простого: гуг… twitter.com/i/web/status/1…

    22:24

    # Пятница 51 твит

    @_beargummy @backendsecret Литерально ты прав, но автор конечно имел ввиду манагеров, которые строят процессы и выб… twitter.com/i/web/status/1…

    Даже не ожидал, что получится такой славный переход на менеджеров сегодня. Но нет, я имел ввиду, что процесс и инст… twitter.com/i/web/status/1…

    8:38
    @backendsecret Процессы (и инструменты) должны быть мудакостойки, но мудаки есть, и отрицать это вредно. И они могу… twitter.com/i/web/status/1…

    Процессы должны способствовать тому, чтобы мудаки от туда выдавливались. Но это должно быть прозрачно и для мудаков… twitter.com/i/web/status/1…

    8:40
    @backendsecret Главное что бы потом эти выстроенные процессы защиты не давали задержку проектов на год-два. А то бы… twitter.com/i/web/status/1…

    Хорошее уточнение twitter.com/greattoster/st…

    8:48
    @_the_elf_ @backendsecret Как кто-то сказал в тви - "умение быстро принимать адекватные изменения планов и процессо… twitter.com/i/web/status/1…
    10:32
    @_the_elf_ @backendsecret Поэтому так важно вырабатывать их совместно всей командой. Спущенные сверху слабоаргумент… twitter.com/i/web/status/1…
    10:32
    @_the_elf_ @backendsecret Процент хорошо разбирающихся в построении адекватных конкретной компании процессов (как и… twitter.com/i/web/status/1…
    10:32
    Даже не ожидал, что получится такой славный переход на менеджеров сегодня. Но нет, я имел ввиду, что процесс и инст… twitter.com/i/web/status/1…

    Давайте я попробую растворить радугу, которые многие уже себе нарисовали.
    Хороший практический пример, из жизни SEM… twitter.com/i/web/status/1…

    10:51

    Есть регламент (дока, рекомендации, в данном случае неважно как оно называется) - прописывать требуемые поду ресурс… twitter.com/i/web/status/1…

    10:51

    Утрированная "классика": "команда - п..сы, какого хрена вы доки не читаете? Кто настраивал? - Петя. Петя, ты мудак?… twitter.com/i/web/status/1…

    10:51

    Правильная реакция: что нам сделать, чтобы больше такого не было? Давайте посмотрим на фичи GKE, что там есть таког… twitter.com/i/web/status/1…

    10:51

    Хорошо тема ответственности объясняется в модели Кристофера Эйвери habr.com/post/135605/ pic.twitter.com/Ijdan3ASXA

    11:00
    Даже не ожидал, что получится такой славный переход на менеджеров сегодня. Но нет, я имел ввиду, что процесс и инст… twitter.com/i/web/status/1…

    Так что там про менеджеров? :)
    Я сегодня постараюсь просто за себя рассказать, без радуги :)
    Ну и скорее всего разг… twitter.com/i/web/status/1…

    11:50
    @backendsecret А можно еще заранее подумать, если думать в принципе, а может стоит спеки-то как-то проверять?! А чт… twitter.com/i/web/status/1…

    Конечно можно, но все продумать невозможно. twitter.com/bitomaxsp/stat…

    12:45

    при этом важно учитывать, что полная проработка решения-это дополнительное время, дополнительные проверки сразу мог… twitter.com/i/web/status/1…

    12:51
    @backendsecret Кстати, так же можно и тестированием заниматься. Пишем тесты на пойманные ошибки. Получается недорог… twitter.com/i/web/status/1…

    Один из способов покрытия тестами легаси-кода, который я рекомендую-ничего не делать пока нет необходимости(чаще вс… twitter.com/i/web/status/1…

    13:17
    @backendsecret Кстати, один из вариантов определения "легаси-кода" (который я слышал на одном из воркшопов как раз… twitter.com/i/web/status/1…

    "Одно из определений гласит, что это код, который написали не вы, но вы сейчас за него ответственны. M.Feathers в с… twitter.com/i/web/status/1…

    13:42

    "Mikado - работаем с legacy code"
    maxshulga.ru/2012/03/mikado…

    13:42

    Полезные навыки и умения менеджера (на своем опыте) maxshulga.ru/2014/06/manage…:

    15:32

  • Уметь и иметь желание играть в игру "одна голова хорошо, а две лучше" (по запросу от команды)
  • уметь слушать
  • о… twitter.com/i/web/status/1…
  • 15:32

    Мнение @bobuk на эту тему
    "Ненасильственное управление творческими коллективами"
    youtu.be/d4hUeXxNzUA
    Основная м… twitter.com/i/web/status/1…

    16:00

    Как?

    16:00

  • шоковая терапия (использовать очень аккуратно и редко)
  • знай всё о каждом
  • управляй не дергая за ниточки
  • помни, у тебя тоже есть босс
  • 16:00

    Еще в тему "Общаться с ребенком. Как?" maxshulga.ru/2013/03/blog-p…
    если вы внимательно прочитаете и вникните в рекоменд… twitter.com/i/web/status/1…

    16:00

    Что еще интересного? Собеседы. Их тоже есть у меня.
    Там нифига не академично, жизненно, но со старомодным налетом ч… twitter.com/i/web/status/1…

    17:08

    Важный аспект работы менеджера - психология.
    И тут тоже есть кусочек: "Популярная психология в IT и не только"… twitter.com/i/web/status/1…

    17:09
    Заканчивается недельное дежурство в @backendsecret
    Временами было забавно. Временами даже полезно (узнал 3 новых дл… twitter.com/i/web/status/1…

    Кажется, что активность сходит на нет. Думаю истории про образование и конференции уйдут в dev null :)
    Пока я еще т… twitter.com/i/web/status/1…

    19:47
    @ddomansky @backendsecret Это все звучит очень красиво, но на деле решение будет принято тем, кто в конкретном вопр… twitter.com/i/web/status/1…

    Весь вопрос в том, будет ли это разделение ответственности (доверия) или "это Петя придумал, а мы не при делах". twitter.com/_the_elf_/stat…

    22:28
    @backendsecret То есть вся идея в том, чтобы потом крайнего не искать?

    Проблема точно не в крайнем, а в том, как нам больше не наступать в какашку. Хотя бы конкретно в эту :) twitter.com/_the_elf_/stat…

    22:35
    @backendsecret Мне бы просто понять, зачем нужна эта клоунада с "решение принимает вся команда" (ведь на деле его п… twitter.com/i/web/status/1…

    конечно зависит от квалификации команды, но мне всегда было непонятно, почему одним может быть неинтересно, что пре… twitter.com/i/web/status/1…

    22:44

    Понятно, что большей степенью решения по каждой из сфер будут приниматься на основе знаний одного человека. Но поче… twitter.com/i/web/status/1…

    22:44
    @backendsecret Давай, жги про конференции. Пятница же!!

    Конференции - это круто :)
    Чаще всего ;)
    Но это не точно )) twitter.com/antonarhipov/s…

    22:51

    Я отношу конфы к одному из способов самообразования, тому где основную ценность приносит возможность пообщаться с д… twitter.com/i/web/status/1…

    22:51

    Раньше я часто ездил на конфы, составлял списки конференций на след. год, чтобы удобнее было планироваться (это все… twitter.com/i/web/status/1…

    22:51

    Потом наступил период охлаждения наших "отношений": казалось что я уже все знал, всех знал, ничего нового.
    Это осно… twitter.com/i/web/status/1…

    22:51

    Но давайте постепенно: что надо делать перед тем, как ехать на конфу?
    Что я раньше делал? Составлял свое расписание… twitter.com/i/web/status/1…

    23:04

    Как выбрать? Важна квалификация докладчика, если ее можно оценить по предыд.видео и тема: если есть тема, которая в… twitter.com/i/web/status/1…

    23:04

    Лучше идти на смежную тему. Если вообще ни один доклад не в тему - идите просто на докладчика (понятно, что для это… twitter.com/i/web/status/1…

    23:04

    На конференциях @JUGru все доклады, ну кроме звезд, предварительно прослушиваются, поэтому все члены ПК чаще всего в теме.

    23:04

    Еще момент, читайте, плиииз, описание докладов. Ужасно, когда в отзывах мы видим, что человек попал не туда, куда п… twitter.com/i/web/status/1…

    23:04

    Конференций сейчас проводится много (временами мне кажется, что излишне много).
    Из тех организаторов, которые точно… twitter.com/i/web/status/1…

    23:14

    Уверен, что остальные тоже уделяют этому внимание, но сам не сталкивался с другими оргами.
    Но обидно, когда деньги… twitter.com/i/web/status/1…

    23:14
    @backendsecret Согласна, что круто, но они отнимают много времени и сил. Хорошо, когда проходят в выходной или вече… twitter.com/i/web/status/1…

    Про середину недели: у этого есть как плюсы (у многих слушателей есть семьи например :) ), так и минусы (надо уходи… twitter.com/i/web/status/1…

    23:20

    Польза будет только тогда,когда вы понимаете зачем туда идете.
    Польза: я нашел нужную мне тему, зажал докладчика в… twitter.com/i/web/status/1…

    23:20

    Как проходит подготовка конфы с точки зрения ПК?
    Это ад

    23:23

    ски сложная работа :)
    Это интересно, но отнимает действительно немало времени.
    Подробнее шикарная статья от коллеги… twitter.com/i/web/status/1…

    23:23

    Ну вот работа в ПК - это еще один способ дальше развиваться.
    Как туда попадают другие - не знаю. Я по блату (шутка)… twitter.com/i/web/status/1…

    23:28
    @backendsecret Сейчас хрен выберешь - потому что что джуг, что бунин публикуют расписание чуть ли не в самый послед… twitter.com/i/web/status/1…

    Скажем так, выбор конфы - отдельно, программа - отдельно. Пока тут вопрос доверия к ПК. Сформировать окончательную… twitter.com/i/web/status/1…

    23:32

    Многим приходится заниматься поиском интересных докладчиков, приглашать, уговаривать их выступить. У иностранцев ес… twitter.com/i/web/status/1…

    23:33

    Но кроме конференций есть еще ведь и митапы. Отличный способ подготовиться докладчикам и узнать, что-нибудь полезно… twitter.com/i/web/status/1…

    23:42

    Это уже by default, если мы говорим про Мск-Питер,но в других городах проводится много мероприятий.А если у вас еще… twitter.com/i/web/status/1…

    23:42

    С удивлением обнаружил, что у меня нет статьи про то, как слушать доклады ))
    Но вот отличная статья от Рины, члена… twitter.com/i/web/status/1…

    23:54

    # Суббота 5 твитов

    @backendsecret "Когда в руках молоток, всё вокруг кажется гвоздями" (с)

    Когда ты весь про тестирование и QA, то лю… twitter.com/i/web/status/1…

    Ну вот и M. Feathers тестировщиком сделали... Думаю стоит вот это почитать mozaicworks.com/blog/who-is-mi… twitter.com/kosyag/status/…

    9:31
    @backendsecret Польза от любой конфы имхо определяется тем, насколько активно ты будешь там РАБОТАТЬ. Выбирать нужн… twitter.com/i/web/status/1…
    11:18

    Для любителей подкастов: @23derevo рассказывал про внутреннее устройство их конференций soundcloud.com/podlodka/podlo…

    12:01
    @backendsecret Почему отмечена важность "не превращения" этого подхода в e2e проверки? Хочется понять детальнее, что подразумевалось

    Это будет долго выполняться, может быть недешевым и неэффективным, потому что e2e чаще всего предполагают изменение… twitter.com/i/web/status/1…

    14:07
    @mittov @backendsecret Бывает, и очень часто! (Кмк потому, что анонсы составляют чтобы привлечь максимум людей) Сам… twitter.com/i/web/status/1…
    14:07

    # Воскресенье 9 твитов

    К сожалению не получается на выходных поработать так, как хотелось.
    С другой стороны я и так завалил вас кучей ссы… twitter.com/i/web/status/1…

    11:15

    Разработчикам требуются знания по тестированию, в особенности умение писать хорошие тесты. Как минимум юнит-тесты.… twitter.com/i/web/status/1…

    11:15

    Тестировщикам хорошо уметь писать код, это поможет в работе.Но это, в общем случае, необязательно.Часто достаточно… twitter.com/i/web/status/1…

    11:15

    Так же стоит задуматься над тем, а что стоит автоматизировать, а что нет.
    Подробнее в докладе Alan Page "The (Ab)us… twitter.com/i/web/status/1…

    11:15

    Про DevOps мы не поговорили, но думаю холиваров и без этого хватало. Зато было про мониторинг доступности. В некото… twitter.com/i/web/status/1…

    11:15

    Про конференции тоже удалось пообщаться (несмотря на "фи" некоторых) и с вашей помощью сформулировали алгоритм нане… twitter.com/i/web/status/1…

    11:15

    Ваши идеи и проблемы, связанные с конфами, уже закинул, как минимум в наш ПК @HeisenbugConf.

    11:15
    Заканчивается недельное дежурство в @backendsecret
    Временами было забавно. Временами даже полезно (узнал 3 новых дл… twitter.com/i/web/status/1…

    Если хочется обсудить недельные вопросы, отмечайте меня в тредах (@maxbeard12 )
    ЗЫ там уже у меня еще будет продолж… twitter.com/i/web/status/1…

    11:15

    Всем спасибо за эту неделю. Надеюсь местами было полезно. Удачи всем в работе, пусть там вам удается сочетать новое… twitter.com/i/web/status/1…

    11:15

    www.maxshulga.ru

    other