<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6346131298481535631</id><updated>2026-03-22T15:16:43.112+03:00</updated><category term="тестирование"/><category term="образование"/><category term="конференции"/><category term="программирование"/><category term="автоматизация"/><category term="С-plus-plus"/><category term="работа с командой"/><category term="литература"/><category term="Visual Studio"/><category term="управление проектами"/><category term="полезные ссылки"/><category term="солянка"/><category term="TDD"/><category term="management"/><category term="разработка"/><category term="Agile"/><category term="unit tests"/><category term="доклады"/><category term="5за5"/><category term="Fitnesse"/><category term="жизнь"/><category term="IT talk"/><category term="собеседования"/><category term="мотивация"/><category term="fun"/><category term="Code Review"/><category term="ITGM"/><category term="найм"/><category term="monitoring"/><category term="sre"/><category term="test_in_prod"/><category term="Python"/><category term="QA"/><category term="flaky"/><category term="Виртуализация"/><category term="архитектура"/><category term="заметки"/><category term="лояльность"/><category term="техдолг"/><category term="Kniberg"/><category term="NoEstimates"/><category term="TFS"/><category term="checking_testing"/><category term="git"/><category term="microservices"/><category term="monolith"/><category term="offtop"/><category term="spotify"/><category term="1:1"/><category term="Camille Fournier"/><category term="ChaosEngineering"/><category term="Netflix"/><category term="google"/><category term="legacy"/><category term="oxygen"/><category term="Обухова"/><category term="философия"/><title type='text'>Чудес не бывает или я ошибаюсь?</title><subtitle type='html'>О разном в программировании, тестировании и руководстве командами в IT</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default?start-index=26&amp;max-results=25'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>248</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-4684703446173690590</id><published>2025-07-25T11:20:00.002+03:00</published><updated>2025-07-25T11:20:32.421+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="management"/><category scheme="http://www.blogger.com/atom/ns#" term="доклады"/><title type='text'>Про рост в лидов и то, что &quot;даунгрейд&quot; обратно - это не даугрейд</title><content type='html'>&lt;p&gt;Оцифровали и причесали мое голосовое бухтение на тему карьерной развилки у сеньора.&lt;br /&gt;Идти ли дальше в лиды и что делать, если пошел, но не зашло.&lt;br /&gt;&lt;br /&gt;Ссылка на статью на Хабре: &lt;a href=&quot;https://habr.com/ru/companies/ncloudtech/articles/930320/&quot; target=&quot;_blank&quot;&gt;Маршрут перестроен: исповедь лида о том, куда расти дальше (и всегда ли расти)&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/4684703446173690590/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2025/07/grow-or-downgrade.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/4684703446173690590'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/4684703446173690590'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2025/07/grow-or-downgrade.html' title='Про рост в лидов и то, что &quot;даунгрейд&quot; обратно - это не даугрейд'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-3845589788587916944</id><published>2024-11-30T16:35:00.002+03:00</published><updated>2024-11-30T16:35:49.240+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fun"/><category scheme="http://www.blogger.com/atom/ns#" term="жизнь"/><category scheme="http://www.blogger.com/atom/ns#" term="полезные ссылки"/><title type='text'>Для истории: блогу 13 лет (статистика)</title><content type='html'>&lt;p&gt;Наводил порядок в блоге (чистил умершие ссылки, картинки и тп), наткнулся на&lt;a href=&quot;https://www.maxshulga.ru/2016/11/5-years.html&quot; target=&quot;_blank&quot;&gt; заметку про 5-летие блога&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Интересно было посмотреть на статистику спустя уже 13 лет.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjlB7PxD9OjjztFlfw4eGgvN3Lpnj849nZkqFWz1ZezFxPiND3J3jad2i7IlyH3TPb03PkuRJZtEqU1_B10Gl8qmOzptvtFhH7PJG8MkBkvoDJP-hsNmhJwt1KGjs4-vdfJAuDWP35Benl7eIvK3O_xI8J8ONZF0_WmJMpWZ1F1CztilJlJ7DDxRODyz4wu&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img data-original-height=&quot;644&quot; data-original-width=&quot;1846&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjlB7PxD9OjjztFlfw4eGgvN3Lpnj849nZkqFWz1ZezFxPiND3J3jad2i7IlyH3TPb03PkuRJZtEqU1_B10Gl8qmOzptvtFhH7PJG8MkBkvoDJP-hsNmhJwt1KGjs4-vdfJAuDWP35Benl7eIvK3O_xI8J8ONZF0_WmJMpWZ1F1CztilJlJ7DDxRODyz4wu=w640-h224&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Заходов из поисковых систем, других ресурсов и сайтов суммарно больше 160 тыс.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;5 лет назад было 54тыс - практически линейно.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Как гугл насчитал без малого 800 тыс - скорее всего с ботам и прочими краулерами.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Самые популярные статьи (тут уже видимо просмотры с ботами).&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;В лидерах по популярности все те же 2 заметки про моки и ресурсы для тестировщиков (имхо далеко не самые интересные).&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2012/03/mock-vs-stub.html&quot; target=&quot;_blank&quot;&gt;Mock vs Stub &lt;/a&gt;83тыс&amp;nbsp; (регулярно в топе выдачи по этому запросу в гугле, продолжительное время висела на 1 месте, не согласен с ее популярностью, но с названием угадал)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2016/06/useful-testers-resources.html&quot; target=&quot;_blank&quot;&gt;Полезные ресурсы для молодых (и не только) тестировщиков&lt;/a&gt;&amp;nbsp; 61тыс - с апреля этого года снова стала посещаемой, видимо где-то на популярном ресурсе появилась, но по статистике не видно откуда.&lt;/li&gt;&lt;li&gt;Смешная история с &quot;&lt;a href=&quot;https://www.maxshulga.ru/2011/12/blog-post.html&quot; target=&quot;_blank&quot;&gt;План &quot;Б&quot; или как прикольно провести субботний день&lt;/a&gt;&quot; (30 тыс). Она была очень популярна в выдаче, видимо из-за удачного названия, потому что контент ни о чем. После смены названия - наконец-то ее перестали смотреть ))&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2023/04/notes-green-test-results.html&quot; target=&quot;_blank&quot;&gt;Заметки на коленке - 3. Что еще делать, если ваши тесты уже &quot;зеленые&quot;? &lt;/a&gt;(12 тыс) - вот это порадовало, видать тоже куда-то залетела. Потому что название не seo-шное.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2018/03/testing-in-production.html&quot; target=&quot;_blank&quot;&gt;Тестирование в продакшене - миф или реальность?&lt;/a&gt; (8 тыс)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2012/04/blog-post_21.html&quot; target=&quot;_blank&quot;&gt;Автоматизация тестирования. С чего начинать, возможные проблемы.&amp;nbsp;&lt;/a&gt;&amp;nbsp;(7 тыс), старая статья перестали смотреть&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2016/12/popular-psychology.html&quot; target=&quot;_blank&quot;&gt;Популярная психология в IT и не только&lt;/a&gt;&amp;nbsp;(5 тыс)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2020/08/engineering-manager-interview.html&quot; target=&quot;_blank&quot;&gt;Обычные и не очень вопросы к собеседованию на позицию Engineering Manager &lt;/a&gt;(5 тыс)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2020/02/google-oxygen-project.html&quot; target=&quot;_blank&quot;&gt;Как Google от менеджеров пытался отказаться&lt;/a&gt;&amp;nbsp;(4 тыс)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2017/12/hiring-interview-probation.html&quot; target=&quot;_blank&quot;&gt;Немного про наём, собеседование и испытательный срок от вашего КО&lt;/a&gt; (4 тыс)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Свежие статьи &lt;a href=&quot;https://t.me/IT_without_miracles&quot; target=&quot;_blank&quot;&gt;на базе телеги&lt;/a&gt; почти не смотрят, да в целом и не для этого сюда сейчас пишу.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/3845589788587916944/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2024/11/13-years.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/3845589788587916944'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/3845589788587916944'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2024/11/13-years.html' title='Для истории: блогу 13 лет (статистика)'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjlB7PxD9OjjztFlfw4eGgvN3Lpnj849nZkqFWz1ZezFxPiND3J3jad2i7IlyH3TPb03PkuRJZtEqU1_B10Gl8qmOzptvtFhH7PJG8MkBkvoDJP-hsNmhJwt1KGjs4-vdfJAuDWP35Benl7eIvK3O_xI8J8ONZF0_WmJMpWZ1F1CztilJlJ7DDxRODyz4wu=s72-w640-h224-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-8208923096703464482</id><published>2024-04-23T22:53:00.001+03:00</published><updated>2024-04-23T22:53:55.958+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="NoEstimates"/><title type='text'>Как меньше лажать с оценкой задач?</title><content type='html'>&lt;p&gt;&lt;a href=&quot;https://www.maxshulga.ru/2016/03/noestimates.html&quot; target=&quot;_blank&quot;&gt;Мое определение оценки&lt;/a&gt;:&lt;/p&gt;&lt;p&gt;“Процесс в рамках которого, мы разбираемся, что от нас ждут, что нам для этого надо сделать и в каких частях нашего приложения, какие у нас зависимости, готовы ли они к нашим задачам, какие риски и тдтп. А &quot;оценка времени&quot; - это лишь один из артефактов процесса оценки.”&lt;/p&gt;&lt;p&gt;Я тут не хочу писать подробности про сторипойнты (попугаев, слоников, чашки кофе, размеры маек), планинг-покер и тд. Очень много инфы по этой теме.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Тут будут просто советы и немного про собственно процесс, как я его вижу.&lt;/p&gt;&lt;p&gt;1. У всех, кто участвует в процессе, должно быть одинаковое понимание того, что именно они оценивают и с какой точностью эта оценка делается (подробнее смотри &lt;a href=&quot;https://www.mountaingoatsoftware.com/blog/how-can-we-get-the-best-estimates-of-story-size&quot; target=&quot;_blank&quot;&gt;совет 1 отсюда&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;2. Важно понимать, что ошибки оценки все равно будут. И поэтому должны быть:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; • процесс работы над этими ошибками (расширяем базу знаний и подходы для следующих оценок) с тем, чтобы в следующий раз оценка была точнее&lt;/p&gt;&lt;p&gt;&amp;nbsp; • процесс информирования о возникающих из-за ошибок рисках (не тянем до последнего)&lt;/p&gt;&lt;p&gt;3. При запуске/перестройке процесса оценки очень помогают эталонные (референтные) задачи, сравнивая с которыми мы пытаемся оценить наши текущие задачи&lt;/p&gt;&lt;p&gt;4. Оценка в сторипойнтах - это в том числе способ избежать необходимости точной оценки: когда оценивается, например, в часах, сразу возникает ситуация, когда было запланировано например 3 часа, а задача сделана за 3.5. Это хорошая оценка или продолб? А 4 часа? А как это время измерялось и что в него входило?&lt;/p&gt;&lt;p&gt;5. &lt;a href=&quot;https://t.me/IT_without_miracles/127&quot; target=&quot;_blank&quot;&gt;Не бывает “копеечных” задач&lt;/a&gt;. Вообще не используйте это обозначение. Оно мешает запускать в голове комплексный процесс оценки задачи, зато очень помогает забыть про важные вещи.&lt;/p&gt;&lt;p&gt;6. БОльшая декомпозиция помогает точности оценки&lt;/p&gt;&lt;p&gt;7. Постепенный уход в сторону простого кол-ва задач, тогда можно просто считать кол-во задач и меньше думать про их оценивание.&lt;/p&gt;&lt;p&gt;Кстати, в очередной раз “эффект инфополя”: пишу заметку, а в недавней рассылке пришла &lt;a href=&quot;https://www.mountaingoatsoftware.com/blog/how-can-we-get-the-best-estimates-of-story-size&quot; target=&quot;_blank&quot;&gt;хорошая статья по теме оценки&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;И еще &lt;a href=&quot;https://t.me/IT_without_miracles/35&quot; target=&quot;_blank&quot;&gt;тут у меня было про этой теме&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Теперь про простой способ организации процесса оценки, чтобы она начиналась хоть с какими-то артефактами на входе.&lt;/p&gt;&lt;div&gt;&lt;div&gt;Если оценку задач делает не &quot;специально обученный быть крайним человек&quot; а-ка лид, а решение принимается на командной встрече, то предлагаю такой вполне рабочий процесс:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjio5HP2GN6lLQwqQbok6zVSUjjmbyaSre1hWD6JqLqAd8gR-XxNdshima6JdIMnYhMR2Lu2EVk9cyXaccw3L58sLKwxelnPzQpFqj66PrSXB-0T2wXm23vv96DZ-8xV-A2T8XZRDmOruYgAxAwzyLYO10UFfpqod-A9EPl4yPHqP1pqbcVZFvf3-Hjt2jS/s960/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%20%D0%BE%D1%86%D0%B5%D0%BD%D0%BA%D0%B8.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;720&quot; data-original-width=&quot;960&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjio5HP2GN6lLQwqQbok6zVSUjjmbyaSre1hWD6JqLqAd8gR-XxNdshima6JdIMnYhMR2Lu2EVk9cyXaccw3L58sLKwxelnPzQpFqj66PrSXB-0T2wXm23vv96DZ-8xV-A2T8XZRDmOruYgAxAwzyLYO10UFfpqod-A9EPl4yPHqP1pqbcVZFvf3-Hjt2jS/w640-h480/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%20%D0%BE%D1%86%D0%B5%D0%BD%D0%BA%D0%B8.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Работу над оценкой задач на следующий спринт начинаем в текущем спринте.&lt;/div&gt;&lt;div&gt;Встреча 1 (30-45 мин):&amp;nbsp;&lt;/div&gt;&lt;div&gt;• смотрим на ожидаемый список историй/задач (формирует PO исходя из целей спринта, но возможно участие команды, особенно по техническим задачам)&lt;/div&gt;&lt;div&gt;• определяем задачи, по которым недостаточно информации для их оценки (по остальным сразу делаем оценку)&lt;/div&gt;&lt;div&gt;• у каждой такой задачи появляется ответственный, который до проведения следующей встречи собирает нужную для оценки информацию (корректность проработки, место(-а) в коде, которые надо изменить/дописать, синхронизация со смежной командой и тд) и делает на базе этого предварительную оценку* (см дальше пояснения)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Встреча 2 (30-45 мин), лучше через неделю после первой:&lt;/div&gt;&lt;div&gt;• каждый ответственный рассказывает про свою задачу&lt;/div&gt;&lt;div&gt;• информация обсуждается&lt;/div&gt;&lt;div&gt;• делаются итоговые оценки&amp;nbsp;&lt;/div&gt;&lt;div&gt;• обсуждаются вновь прилетевшие (с момента встречи 1) задачи, которые хочется затащить в спринт. Если нужно, то по ним тоже запускается работа по их оценке&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Встреча планирования спринта (15 мин**):&lt;/div&gt;&lt;div&gt;• если за время после 2й встречи ничего нового не прилетело, то в спринт просто берутся задачи согласно текущей “скорости прожевывания сторипойнтов” (ака velocity) и их приоритетов&lt;/div&gt;&lt;div&gt;• если что-то прилетело и оно важно, то это обсуждается уже на планировании. Но лучше бы конечно это все же сделать предварительно, иначе оценка будет скорее “пальцем в небо”.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Все, запускаем спринт и пошли работать. На финише, на спринт-ревью анализируем сделанные оценки и выясняем, поменялась бы оценка, исходя из того, что мы сейчас знаем про задачу.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;*По опыту, самая холиварная тема - это “а как я буду что-то ресечить, если у меня куча задач по текущему спринту?”. Все просто - время на ресеч “закладывается” при планировании через анализ текущей скорости прожевывания сторипойнтов командой. Речь не про то, что этим надо заниматься по ночам. Для трепетно относящихся к учету времени для такие ресечей на оценку можно заводить задачи с фиксированными значениям сторипойнтов.&lt;/div&gt;&lt;div&gt;** вторая по популярности тема &quot;это ж нафига столько встреч?&quot;&lt;/div&gt;&lt;div&gt;Ну, во-первых, суммарно по времени получается не больше, чем одна большая встреча планинга (где большей частью все &quot;играют в покер&quot;, а не планируют). Во-вторых, обычно в этом случае мы получаем более осознанную и точную оценку, часто выясняются неочевидные вещи, требующие дополнительного ресеча и задача в этом случае просто не берется в работу в текущий спринт. Что, в конечном итоге, тоже экономит время. Ну и в третьих, первую встречу вполне можно проводить &quot;заочно&quot; и асинхронно, если речь про встречу для распределения задач, а не их оценки.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Почему такой процесс редко можно встретить в реале? :)&amp;nbsp;&lt;/div&gt;&lt;div&gt;Да фиг его знает, я ставлю на &quot;лень-матушка раньше нас родилась...&quot;. Всегда ведь проще погадать на планинге не делая предварительного исследования.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/IT_without_miracles/193&quot; target=&quot;_blank&quot;&gt;Подключайтесь к комментам в телеге&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/8208923096703464482/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2024/04/about-tasks-estimation.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/8208923096703464482'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/8208923096703464482'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2024/04/about-tasks-estimation.html' title='Как меньше лажать с оценкой задач?'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjio5HP2GN6lLQwqQbok6zVSUjjmbyaSre1hWD6JqLqAd8gR-XxNdshima6JdIMnYhMR2Lu2EVk9cyXaccw3L58sLKwxelnPzQpFqj66PrSXB-0T2wXm23vv96DZ-8xV-A2T8XZRDmOruYgAxAwzyLYO10UFfpqod-A9EPl4yPHqP1pqbcVZFvf3-Hjt2jS/s72-w640-h480-c/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%20%D0%BE%D1%86%D0%B5%D0%BD%D0%BA%D0%B8.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-5713914830904493122</id><published>2024-04-08T09:00:00.006+03:00</published><updated>2024-04-08T12:48:16.090+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="найм"/><category scheme="http://www.blogger.com/atom/ns#" term="собеседования"/><title type='text'>Про достижения в числах в резюме</title><content type='html'>&lt;p&gt;&lt;a href=&quot;https://t.me/IT_without_miracles/185&quot; target=&quot;_blank&quot;&gt;Копия поста в телеге&lt;/a&gt;&amp;nbsp;(подключайтесь 🙂)&lt;br /&gt;&lt;br /&gt;Навеяло &lt;a href=&quot;https://twitter.com/kuzmenko_kira/status/1770808981360894294&quot; target=&quot;_blank&quot;&gt;постом&lt;/a&gt;&amp;nbsp;в тви с советам для резюме для поиска работы за рубежом.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjKXDlp4UNCQZE7D-kMKSxR6jTpXxoTokndZE8vHIRrsBMs4vJJJo1gmQOxFM9rFPfhBFasmcEHhEP7BiIqhmMsjTPQFCyNHTy6_noo5WqjEXWV5u8K83eRp6FZqUzTY0H2_-hvqYRfruuClQn502dNwMEmZSgVz6aeGtdC5f21Z-3s5eGUaKMJtv6M4quS&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1042&quot; data-original-width=&quot;1034&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjKXDlp4UNCQZE7D-kMKSxR6jTpXxoTokndZE8vHIRrsBMs4vJJJo1gmQOxFM9rFPfhBFasmcEHhEP7BiIqhmMsjTPQFCyNHTy6_noo5WqjEXWV5u8K83eRp6FZqUzTY0H2_-hvqYRfruuClQn502dNwMEmZSgVz6aeGtdC5f21Z-3s5eGUaKMJtv6M4quS=w397-h400&quot; width=&quot;397&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Я бы выбрал скорее выбрал 3 (и именно такое часто и вижу). Хотя и 4, и 5 тоже норм, но есть нюансы.&lt;p&gt;&lt;/p&gt;&lt;p&gt;Совет Киры (см. детали в комментах) касался в первую очередь поиска работы в международных компаниях, а я смотрю через призму отечественных, но думаю, что мои советы ниже могут быть полезны для всех.&lt;/p&gt;&lt;p&gt;Но сначала небольшой экскурс в историю (ну, так принято в высших сферах).&lt;br /&gt;*и да, еще раз, речь по отечественный IT, я хз че там происходит сейчас в других интернетах, но подозреваю, что люди в культуре могут отличаться, но в своей сути похожи.&lt;/p&gt;&lt;p&gt;Я застал те времена, когда тестировщики в резюме писали &quot;инженер по тестированию&quot; и в вакансиях писали ровно это же.&lt;/p&gt;&lt;p&gt;Потом какие-то умники, глядя на &quot;как там&quot; начали активно форсить тему с QC, почти мгновенно переключившись на использование букв QA.&lt;/p&gt;&lt;p&gt;При этом никто даже не парился над тем, чтобы люди в головах осознали, что значат эти буквы. Просто во всех резюме и вакансиях появилось QA и все. Я абсолютно уверен, что &quot;раскрутка&quot; была через вакансии, на которую среагировали те, кто пишут резюме.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Потом та же история повторилась с DevOps (которые сначала просто админы с большими ЗП, а потом СИАЙ-админы и админа в КУБЕ). И снова раскрутка через вакансии и отражение в резюме.&lt;/p&gt;&lt;p&gt;Теперь вот та же фигня с цифрами по результатам в резюме, которая 100% пришла из резюме сейлзов/маркетологов и прочих продаванов.&lt;/p&gt;&lt;p&gt;Все рекрутеры теперь ждут числа в резюме инженеров (и уж тем более инженерных менеджеров) и предлагают всем это использовать.&lt;/p&gt;&lt;p&gt;И все кандидаты будут писать вот такую фигню, типа &quot;разработал и успешно внедрил новую систему рекомендаций для e-commerce проекта, используя Python (Scikit-learn, NumPy, SciPy, PyTorch, Surprise), PostgreSQL, что позволило увеличить продажи на 15% за первые три месяца после запуска&quot;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Что не так с такими циферками в резюме?&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Есть риск попасть в анекдот &quot;Это ребята курили. Я просто рядом стоял&quot;&lt;/p&gt;&lt;p&gt;1. Если вы не знаете, как именно ваша работа повлияла на эти циферки - не надо это писать&lt;/p&gt;&lt;p&gt;2. Если вы не знаете, как эти циферки меряются - не надо это писать&lt;/p&gt;&lt;p&gt;3. Если вы не можете рассказать, сколько времени занял рост до этих циферок, сколько людей и как в этом участвовало - не надо это писать&lt;/p&gt;&lt;p&gt;И чем больше была команда - тем меньше вероятность, что это надо писать...&lt;/p&gt;&lt;p&gt;&lt;b&gt;Что же можно писать вместо этого, чтобы сделать резюме более привлекательным?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Только про то, что сам сделал, предложил и протащил, а ты можешь объяснить ход истории этого проекта.&lt;/p&gt;&lt;p&gt;Примеры:&lt;/p&gt;&lt;p&gt;- обучил 100500 падаванов&lt;/p&gt;&lt;p&gt;- проработал изменение архитектуры, которое привело к ускорению (циферка), повышению RPS, повышение производительности и тдтп&lt;/p&gt;&lt;p&gt;- затащил новый подход к написанию тестов и скорость написания тестов увеличилась с X до Y&lt;/p&gt;&lt;p&gt;- ускорение выполнения тестов с N до M&lt;/p&gt;&lt;p&gt;- протащил проект изменений через X команд&lt;/p&gt;&lt;p&gt;- провел X собесов из них Y прошли испытательный срок (или заонбордил 100 чуваков)&lt;/p&gt;&lt;p&gt;- запустил 300 новых команд&amp;nbsp;&lt;/p&gt;&lt;p&gt;Главное помнить, с высокой вероятностью, все это произошло благодаря командной работе. Важно понимать и уметь объяснить свою роль во всем этом и то, что именно делал ты.&lt;/p&gt;&lt;p&gt;Иначе цифрами в резюме рекрутера/нанимающего менеджера то ты зацепишь, а на собесе будешь выглядеть треплом (а нахер ты такой нужен).&lt;/p&gt;&lt;p&gt;В целом, работающий подход - это тюнить резюме, в зависимости от того, куда его подаешь. С высокой вероятностью, числа могут выглядеть привлекательно для стартапа, но могут помешать, если ищут в большую компанию: нанимающие менеджеры там более циничны, а деньги чаще всего приносят люди в костюмах, которые просто продают то, чего еще нет (и хорошо, если оно хоть было в планах).&lt;/p&gt;&lt;p&gt;ЗЫ&lt;br /&gt;Для тех, у кого могут быть вопросы, зачем такое в резюме в принципе.&lt;/p&gt;&lt;p&gt;Числа про деньги интересны с точки зрения:&lt;/p&gt;&lt;p&gt;1) косвенно показывают, что инженер знает про то, как меняются бизнес-метрики его продукта&lt;/p&gt;&lt;p&gt;2) можно предположить, что насколько человек вовлечен в культуру product engineering&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/5713914830904493122/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2024/04/numbers-in-cv.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/5713914830904493122'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/5713914830904493122'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2024/04/numbers-in-cv.html' title='Про достижения в числах в резюме'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjKXDlp4UNCQZE7D-kMKSxR6jTpXxoTokndZE8vHIRrsBMs4vJJJo1gmQOxFM9rFPfhBFasmcEHhEP7BiIqhmMsjTPQFCyNHTy6_noo5WqjEXWV5u8K83eRp6FZqUzTY0H2_-hvqYRfruuClQn502dNwMEmZSgVz6aeGtdC5f21Z-3s5eGUaKMJtv6M4quS=s72-w397-h400-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-5475084312982799543</id><published>2023-10-30T08:08:00.001+03:00</published><updated>2023-10-30T08:08:41.511+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Code Review"/><title type='text'>Про code review 9 лет спустя</title><content type='html'>&lt;p&gt;Если совсем коротко, то, на мой скромный взгляд, одна из самых переоцененных, но часто используемая практика, которой пытаются чего-то достичь. И как в нее не умели, так и не умеют.&lt;/p&gt;&lt;p&gt;Почти никто не думает о реальных целях, форматах проведения, реальном ее влиянии на итоговое качество продукта и кода, скорость доведения фичи до прода, но все проводят. (&lt;i&gt;Потом правда на каждом ретро обсуждают &quot;почему у нас MR висят на ревью целыми днями&quot;&lt;/i&gt;)&lt;/p&gt;&lt;p&gt;Хотя на самом деле, в большинстве своем, у многих, она сейчас больше мешает, чем помогает.&lt;/p&gt;&lt;p&gt;Имхо, популярность практики связана не с ее ценностью, а человеческой психологией: всегда удобно просто покритиковать кого-то.&lt;/p&gt;&lt;p&gt;С другой стороны, ревью кода в виде обозначения &quot;экспертиза исходного кода программы&quot; входит в ГОСТ по безопасной разработке, что как минимум требует формальной галки проведенного ревью, как максимум ожидает настроенного процесса. То есть вроде полезная штука, в чем же подстава?&lt;/p&gt;&lt;p&gt;Подстава в последовательности шагов ревью и квалификации команды. Остальное вторично.&lt;/p&gt;&lt;p&gt;Интуитивно: если мы делаем ревью чего-то, то мы предполагаем существование этого чего-то. То есть сначала пишем код, потом его анализируем. Потом, по комментам, код меняется и снова ревью. Кто-нибудь анализирует основные причины комментариев? Что заставляет сильно менять код? Как часто находятся проблемы? Могли бы эти проблемы найдены статическими анализаторами, линтерами и тестами (рядом с кодом)?&lt;/p&gt;&lt;p&gt;По моему опыту (давнему разработческому и текущему наблюдающему), если настроен автоматический анализ кода + пишутся тесты, то это намного эффективнее находит проблемы, чем глаз коллеги, особенно, если его экспертиза в разработке или доменной области решаемой кодом сильно разнятся от вашей.&lt;/p&gt;&lt;p&gt;Что нельзя отловить анализаторами и тестами? Ошибки проектирования (хотя считается, что юнит-тесты как-то помогают). Значит добавляем промежуточный шаг, когда разработчик предлагает сделать ревью не готового кода в 100500 изменений, а драфта возможного решения: набросок кода, схемы предполагаемого взаимодействия (data flow, межкомпонентного и тдтп). Это смотрится, обсуждается, дальше реализация, а потом уже или быстрое ревью, или только автоматизация.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Вот кажется, это единственно разумный вид процесса code review. Все остальное - бесполезная трата времени.&lt;/p&gt;&lt;p&gt;Полезные ссылки:&lt;/p&gt;&lt;p&gt;• &lt;a href=&quot;https://qase.io/blog/code-review-alternatives/&quot; target=&quot;_blank&quot;&gt;Stop doing code reviews and try these alternatives&lt;/a&gt; (там хороший анализ с примерами исследований и возможных альтернатив)&lt;/p&gt;&lt;p&gt;• &lt;a href=&quot;https://www.maxshulga.ru/2014/08/dont-waste-time-on-code-review.html&quot; target=&quot;_blank&quot;&gt;И снова про code review или новая единица измерения качества (WTF/minute)&lt;/a&gt; (самопис в мою бытность ревьювера)&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtZNmImuDs99CL-eGOadvGprMkB-v19dYe_QuBEQTdyRsswFmWjSPVso00tRRqC3wSTxDuChaM8_NgtYUe_SyaJrVvD9du5spNkd9Er_ASaqPBbW2h6v08viTLX5V63SXkRecTqJneT7fMh80hO6lAYbQjcP31vHV_UCFFiJFUF0n9mggiNe9DBHp_a6PX/s735/code%20review.jpeg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;735&quot; data-original-width=&quot;599&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtZNmImuDs99CL-eGOadvGprMkB-v19dYe_QuBEQTdyRsswFmWjSPVso00tRRqC3wSTxDuChaM8_NgtYUe_SyaJrVvD9du5spNkd9Er_ASaqPBbW2h6v08viTLX5V63SXkRecTqJneT7fMh80hO6lAYbQjcP31vHV_UCFFiJFUF0n9mggiNe9DBHp_a6PX/w326-h400/code%20review.jpeg&quot; width=&quot;326&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/5475084312982799543/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2023/10/code-review-9.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/5475084312982799543'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/5475084312982799543'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2023/10/code-review-9.html' title='Про code review 9 лет спустя'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtZNmImuDs99CL-eGOadvGprMkB-v19dYe_QuBEQTdyRsswFmWjSPVso00tRRqC3wSTxDuChaM8_NgtYUe_SyaJrVvD9du5spNkd9Er_ASaqPBbW2h6v08viTLX5V63SXkRecTqJneT7fMh80hO6lAYbQjcP31vHV_UCFFiJFUF0n9mggiNe9DBHp_a6PX/s72-w326-h400-c/code%20review.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-5826949041483289181</id><published>2023-10-23T09:17:00.002+03:00</published><updated>2023-10-23T09:17:30.598+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="найм"/><category scheme="http://www.blogger.com/atom/ns#" term="собеседования"/><title type='text'>Резюме - что в слове том?</title><content type='html'>&lt;p&gt;&lt;i&gt;Дисклеймер: знать, как правильно писать резюме, как быстро его читать и потом им пользоваться на собесе, не равно иметь правильное написанное свое резюме &lt;/i&gt;🫠&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Сейчас снова подключился к анализу резюме кандидатов и собесам (как ни странно, DevOps-в).&lt;/p&gt;&lt;p&gt;Что можно сказать? А то, что люди, как и раньше, как не “умели” писать резюме, так и не “умеют”.&lt;br /&gt;Просто набор ключевых слов обрамленный глаголами “применял”, “настраивал”, “мониторил” и тп.&lt;/p&gt;&lt;p&gt;А что такое “уметь” писать резюме? Важный ли это навык? (&lt;a href=&quot;https://t.me/IT_without_miracles/67&quot; target=&quot;_blank&quot;&gt;присоединяйтесь&lt;/a&gt; к обсуждению в телеге)&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Имхо, влияние качества резюме на итог поиска работы* сильно переоценено: в 80% случаев на собесе ты будешь его пересказывать и половина собеседующих его даже не прочитают. Важно пройти фильтр, тут помогут ключевые слова и, иногда, имена предыдущих компаний. Фсе.&amp;nbsp;&lt;/p&gt;&lt;p&gt;*если речь про первую работу (джун), то не все так “просто”. Там придется потрудится сначала над тем, что ты сможешь описать (приобрести знания/умения), а потом, как это подать.&lt;/p&gt;&lt;p&gt;Тут вот статья &quot;&lt;a href=&quot;https://interviewing.io/blog/resumes-suck-heres-the-data&quot; target=&quot;_blank&quot;&gt;Resumes suck. Here&#39;s the data&lt;/a&gt;&quot; (автор ее недавно подкорректировал, раньше она была жестче и категоричней) с описанием эксперимента по качеству отбора по резюме, которая предвещала чуть ли не “смерть” резюме еще 9 лет назад. Но они все еще живее всех живых.&amp;nbsp;&lt;/p&gt;&lt;p&gt;И это логично - это самый популярный и простой способ себя проиндексировать, классифицировать и отобраться в качестве кандидата на собес (я знаю только 3 способа: резюме, личный бренд, “по блату”)&lt;/p&gt;&lt;p&gt;Резюме сейчас - это просто набор метаданных к тебе, как соискателю. А дальше получается, что важен навык структуризации этих данных в удобочитаемом формате без синтаксических ошибок.&lt;/p&gt;&lt;p&gt;Само “умение писать резюме” в целом - это умение описать свои задачи и их результаты (это важнее) интересно, зацепить. Но на фоне дефицита опытных IT-шников спокойно приглашаешь даже просто по “ранжированию ключевых слов” из технологий, задач и прошлых компаний.&lt;/p&gt;&lt;p&gt;Давайте попробуем почитать резюме традиционного HeadHunter формата (у LinkedIn тоже есть свои приколы). Иногда складывается ощущение, что HH целенаправленно делает (ничего личного, бизнес: “дольше ищешь-дольше платишь”) критикуемый многими формат резюме, где раздел “обо мне” (который как раз можно сделать чуть ли не единственным), находится глубоко внизу.&amp;nbsp;&lt;/p&gt;&lt;p&gt;В итоге до него мало кто и доходит, если вспомнить с какой частотой сегодня IT-шники меняют работу, а значит все смотрящие застревают на перечислении компаний с одинаковыми задачами. Обычно я быстро пролистываю до конца и смотрю, есть ли там в “обо мне” что-то обобщенное о кандидате, его задачах и предпочтениях. Это то, от чего отталкиваюсь.&lt;/p&gt;&lt;p&gt;Дальше смотрим последние пару мест работы: выполняемые задачи и какими инструментами (речь не только про инженеров, у менеджера тоже есть свои инструменты, и это не Jira 😃). Про достижения мало кто пишет, но если есть, дополнительный “+” к вопросу приглашения. Из остального формируются будущие вопросы на собесе.&lt;/p&gt;&lt;p&gt;Частота смены работ: я старовер, считаю, что ничего толкового за срок меньше чем за год-полтора (зависит от роли, у кого-то и дольше) сделать нельзя: просто задачеклепатель. Если товарищ регулярно меняет работу чаще, то дополнительный “?”.&lt;/p&gt;&lt;p&gt;Что очень редко смотрю в резюме: образование. Обычно на него смотрю, когда специалист начального уровня, дальше уже все равно. Были случаи, когда уже после выхода на работу и пары месяцев работы, я узнавал, что у новенького нет высшего образования. Знаю менеджеров, которые, наоборот, уделяют этому разделу большое внимание и ищут там любимые ВУЗы, которые по их мнению отражают квалификацию кандидата. И если нет таких вузов, значит кандидат не годится.&lt;/p&gt;&lt;p&gt;В Питере раньше была фишка, выпускники “ФМЛ 239” (очень продвинутая, но школа) всегда его писали в резюме. Есть подозрение, что это такая метка для своих 😉 Потому что я чаще всего триггерился в обратную сторону.&lt;/p&gt;&lt;p&gt;Ссылки на дополнительные ресурсы соискателя (GitHub, блог и тп) тоже люблю смотреть. Нужны ли они в принципе в резюме? Если там есть что-то, чем вы гордитесь и лично вам нравится - пишите. Если в гитхабе, кроме пары тестовых больше ничего нет, а в блоге все заброшено 3 года назад, то бесполезная затея (лично меня раздражает).&amp;nbsp;&lt;/p&gt;&lt;p&gt;По собеседованиям меня могу сказать, что еще ни разу на собесах никто не сказал про мой блог, а многие еще и удивлялись, когда речь про него заходила, так что лично сам не переоцениваю важность этого ресурса в резюме.&lt;/p&gt;&lt;p&gt;Возраст. Смотрю только лишь для того, чтобы пресечь моменты игнора, эмм, возрастных кандидатов командами. Такое иногда бывало, к сожалению, и&amp;nbsp;если в качестве отказа от рассмотрения фигурирует только возраст (а такое случается), то это повод пообщаться подробнее с тем, кто такое пишет.&lt;/p&gt;&lt;p&gt;И вот это все смотрится и читается через призму потенциальных задач, которые будет решать у нас кандидат, когда выйдет на работу. Через призму культуры и процессов в команде и ее состава. И если “+” перевесили “?“ - погнали общаться.&lt;/p&gt;&lt;p&gt;Полезные ссылки:&lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=856IAFo59LM&quot; target=&quot;_blank&quot;&gt;Стрим про резюме и подготовку к интервью&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/IT_without_miracles&quot; target=&quot;_blank&quot;&gt;В IT чудес не бывает (мой телеграмм-канал)&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz-szqro2U_Ul6P216B7p84q-ENS5toWaFUGVTc1eOX2jgUen3MmTT1lbzJtDbZbyOdif-TpBecsPPsEOAjukU-ASrmz16G9iMFX8AYvsF5TZ1g1tm5BjfQu3dYlTBBsS_F9ADuNtWcQgi74kg6jUEqHpWRdfTY3bST-ZRzJmaxHHuQ01mtNB1f08p-SFx/s1099/resume.jpeg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;826&quot; data-original-width=&quot;1099&quot; height=&quot;301&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz-szqro2U_Ul6P216B7p84q-ENS5toWaFUGVTc1eOX2jgUen3MmTT1lbzJtDbZbyOdif-TpBecsPPsEOAjukU-ASrmz16G9iMFX8AYvsF5TZ1g1tm5BjfQu3dYlTBBsS_F9ADuNtWcQgi74kg6jUEqHpWRdfTY3bST-ZRzJmaxHHuQ01mtNB1f08p-SFx/w400-h301/resume.jpeg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/5826949041483289181/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2023/10/resume.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/5826949041483289181'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/5826949041483289181'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2023/10/resume.html' title='Резюме - что в слове том?'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz-szqro2U_Ul6P216B7p84q-ENS5toWaFUGVTc1eOX2jgUen3MmTT1lbzJtDbZbyOdif-TpBecsPPsEOAjukU-ASrmz16G9iMFX8AYvsF5TZ1g1tm5BjfQu3dYlTBBsS_F9ADuNtWcQgi74kg6jUEqHpWRdfTY3bST-ZRzJmaxHHuQ01mtNB1f08p-SFx/s72-w400-h301-c/resume.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-6902205051511065982</id><published>2023-10-16T09:33:00.000+03:00</published><updated>2023-10-16T09:33:14.370+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TDD"/><category scheme="http://www.blogger.com/atom/ns#" term="автоматизация"/><category scheme="http://www.blogger.com/atom/ns#" term="тестирование"/><title type='text'>Про юнит-тесты и не только</title><content type='html'>&lt;p&gt;Собрал в кучку разбросанные по чертогам памяти мысли про юнит-(и не только)-тестирование (копия &lt;a href=&quot;https://t.me/IT_without_miracles/59&quot; target=&quot;_blank&quot;&gt;недельного &quot;марафона&quot;&lt;/a&gt; из телеги, присоединяйтесь).&lt;/p&gt;&lt;p&gt;TLTR: “Бей вперед - игра придет” (просто начните, если еще нет, хоть с какими-то автотестами).&lt;/p&gt;&lt;p&gt;Мне последние несколько лет нравится&lt;a href=&quot;(https://ru.wikipedia.org/wiki/%D0%A1%D1%8E%D1%85%D0%B0%D1%80%D0%B8&quot; target=&quot;_blank&quot;&gt; концепция сю-ха-ри&lt;/a&gt;, основная мысль которой заключается в том, что ты не можешь нарушать правила, пока не изучил базу, идеи и мысли других, придумал свои правила, а только потом можешь освобождаться от любых правил.&lt;/p&gt;&lt;p&gt;Если спроецировать этот подход на автоматизацию проверок, то получается, что сначала ты должен научиться писать тесты, как их видят в отрасли, а только потом точить подходы под себя.&lt;/p&gt;&lt;p&gt;Но фишка в том, что подходов очень много.&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;Например, кто-то считает, что модульные тесты мешают (&lt;a href=&quot;https://t.me/orgprog/37&quot; target=&quot;_blank&quot;&gt;недавние рассуждения Кирилла Мокевнина&lt;/a&gt;), кто-то считает, что интеграционные (интегрированные?) тесты - фигня, а модульные тесты рулят (&lt;a href=&quot;https://youtu.be/VDfX44fZoMc&quot; target=&quot;_blank&quot;&gt;JB Rainsberger Integrated Tests Are A Scam HD&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;Каждый подход и мнение имеет в своей основе мысли, с которыми можно согласиться, с какими-то поспорить, но потом все равно прийти к философскому &quot;зависит от&quot;.&lt;/p&gt;&lt;p&gt;Начнем с того, что многие в принципе не считают такие тесты классическими тестами. Оно и правда, если юнит-тесты написаны по канонам: “проверяется лишь одна функция одного юнита”, “все строго изолированно” и тп, то это лишь скорее просто инструмент разработчика.&lt;/p&gt;&lt;p&gt;Что он дает?&amp;nbsp;&lt;/p&gt;&lt;p&gt;1. возможность запускать части кода без запуска всей системы, что обеспечивает:&lt;/p&gt;&lt;p&gt;• быструю обратную связь от вносимых изменений&lt;/p&gt;&lt;p&gt;• уверенность в вносимых изменениях&lt;/p&gt;&lt;p&gt;2. документация к коду&lt;/p&gt;&lt;p&gt;3. помощь в проектировании&lt;/p&gt;&lt;p&gt;Разберем коротенько по пунктам (заметки Капитана Очевидность, но я как-то не хочу их проскакивать)&lt;/p&gt;&lt;p&gt;1. &lt;b&gt;Быстрый запуск кода&lt;/b&gt; - тут речь как про возможность “засунуть датчик” непосредственно в кишочки кода, так и про скорость выполнения самой проверки.&lt;/p&gt;&lt;p&gt;Когда у тебя есть возможность здесь и сейчас, без дополнительного окружения и ресурсов проверить, как выполняет свои задачи свеженаписанный код - это то, что нужно. К примеру, если функция по бинарному блобу определяет тип данных в нем, то не нужно проверять эту функцию запуская и дергая API сервиса, который где-то внутри себя использует эту функцию. Банальность и очевидность, но сплошь и рядом наблюдается (о причинах не сегодня). А если функция вызывается внутри десктоп приложения? Там с проверкой функции ”через приложение” вообще будет веселый аттракцион.&amp;nbsp;&lt;/p&gt;&lt;p&gt;2. &lt;b&gt;Документация&lt;/b&gt;. Есть интересная особенность памяти среднестатистического разработчика - она обнуляется по отношению к коду буквально через месяц (+/-). Некоторые только по истории гита определяют, что какое-то конкретное изменение кода было сделано именно ими. А уж про то, что именно код делает и для чего, так и подавно не помнят. Так вот тесты расположенные близко к коду (чаще всего те самые юнит-тесты), как раз помогают быстрее восстановить понимание предназначения кода и логики его работы. И да, конечно, это можно сделать и просто читая код. Но читая юнит-тесты, тем более хорошо написанные тесты с правильными названиями, сделать это намного быстрее. Тем более, что обычную документацию то редко кто пишет, а еще реже обновляет.&lt;/p&gt;&lt;p&gt;3. &lt;b&gt;Проектирование&lt;/b&gt;. Использование юнит-тестов способствует (но не гарантирует) тому, что проверяемый ими код будет написан удобно, понятно, расширяемо. Потому что способность кода быть удобно тестируемым (тестируемость) напрямую связана с такими характеристиками качества кода, как изменяемость и поддерживаемость.&lt;/p&gt;&lt;p&gt;В этом месте можно было бы ввернуть про TDD (и я таки ввернул), но забавно, что сейчас это буквосочетание куда-то исчезло (только из моей инфоленты?). А то ли дело ра-а-аньше, трава зеленее, &quot;&lt;a href=&quot;https://www.maxshulga.ru/2015/04/software-engineering-myth-busters-tdd.html&quot; target=&quot;_blank&quot;&gt;TDD помогает&lt;/a&gt;&quot; vs &quot;&lt;a href=&quot;http://reangdblog.blogspot.com/2015/05/tdd.html&quot; target=&quot;_blank&quot;&gt;TDD есть опиум для народа&lt;/a&gt;&quot; и такие батлы в комментариях (&lt;a href=&quot;https://www.maxshulga.ru/2015/05/no-tdd.html#comment-2035303480&quot; target=&quot;_blank&quot;&gt;тут тоже есть&lt;/a&gt;, если вы любитель попкорна).&lt;/p&gt;&lt;p&gt;Короче, юнит-тесты - это лишь инструмент разработчика: написал код так, чтобы потом его протестировать, проверил локально, остались какие-то артефакты имитирующие документацию. Работает в моменте здесь и сейчас.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Если юнит-тесты написаны канонично, то с вероятностью 99% их надо выкинуть (=сильно переписать) при изменении того кода, который они проверяют. И именно от последнего всех и бомбит.&lt;/p&gt;&lt;p&gt;Давайте немного вернемся к началу и поразмышляем на тему собственно юнита (модуля). &lt;br /&gt;Что это такое? Какие тесты еще можно называть модульным, а какие уже не являются таковыми, потому что уже тестируют несколько юнитов?&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://martinfowler.com/bliki/UnitTest.html&quot; target=&quot;_blank&quot;&gt;Обратимся к классику&lt;/a&gt; (Мартин Фаулер) :&lt;/p&gt;&lt;p&gt;“Объектно-ориентированный подход рассматривает класс как юнит, процедурные или функциональные подходы могут рассматривать одну функцию как юнит. Но на самом деле команда решает, что такое юнит исходя из их понимания системы и ее тестирования&quot; (вольный перевод, а статья кстати хорошая, почитайте)&lt;/p&gt;&lt;p&gt;Хмм, получается, что нет строгого определения, что считать юнитом?&lt;/p&gt;&lt;p&gt;Да, но есть нюансы.&lt;/p&gt;&lt;p&gt;Вы знали, что существует 2 школы&lt;strike&gt; боевого кунг-фу&lt;/strike&gt; юнит-тестов?&lt;/p&gt;&lt;p&gt;Лондонская и Детройтская (она же Чикагская).&lt;/p&gt;&lt;p&gt;Что самое забавное, когда говорят про недостатки юнит-тестов, то чаще всего указывают на проблемы, которые возникают при лондонском подходе.&lt;/p&gt;&lt;p&gt;Чем же они отличаются?&lt;/p&gt;&lt;p&gt;Одно из отличий - это как раз определение размеров юнита.&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho55LbVXmKFVZDDB5WHlFJrtRaavL241VMcrMwoYgHzIB1DfifyGeIEe2uv3jDBOeneyS0keGZawjc0LvSKYkijCj44YfIKs6AWv7ASyWffchIzI0uNdfY7LASjaDasJ3o_LE5PU6AwgednW2lWs8Tu2G0rPr9OHhxAHFfXNrAvAirUm4Pg38sahRoBjlh/s1336/what&#39;s-unit.jpeg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;764&quot; data-original-width=&quot;1336&quot; height=&quot;366&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho55LbVXmKFVZDDB5WHlFJrtRaavL241VMcrMwoYgHzIB1DfifyGeIEe2uv3jDBOeneyS0keGZawjc0LvSKYkijCj44YfIKs6AWv7ASyWffchIzI0uNdfY7LASjaDasJ3o_LE5PU6AwgednW2lWs8Tu2G0rPr9OHhxAHFfXNrAvAirUm4Pg38sahRoBjlh/w640-h366/what&#39;s-unit.jpeg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Лондонская школа определяет юнит, как класс/функцию и предполагает изоляцию SUT (system under test) от всего того, с чем он взаимодействует через test doubles (тест-дублеры, на старославянском - моки, &lt;a href=&quot;https://www.maxshulga.ru/2012/03/mock-vs-stub.html&quot; target=&quot;_blank&quot;&gt;что неправильно, но все привыкли&lt;/a&gt;). То есть, мы проверяем строго то, как работает SUT ориентируясь на его публичный интерфейс и поведение нужное нам для реализации пользовательского сценария. А все его внешние зависимости замокированы. Это как раз и приводит к тому самому “цементированию” кода тестами, затрудняющего его модификацию.&lt;/p&gt;&lt;p&gt;В Детройтской школе юнит может быть любого размера, от класса до компонента из нескольких связанных между собой классов, при написании тестов избегают использования тест-дублеров и ориентируются в первую очередь на проверку состояния SUT.&lt;/p&gt;&lt;p&gt;Считается, что это &quot;кунг-фу&quot; несет риск появления кода, который потом не будет использоваться (нарушение принципа YAGNI), потому что мы не отталкиваемся от пользовательского сценария.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Но на моей практике, при сильном желании и достаточном умении, накостылить лишнего кода можно при любом подходе.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Мне больше импонирует детройтский подход, в первую очередь из-за низкой связности тестов с кодом (в сравнении с лондонским вариантом).&lt;/p&gt;&lt;p&gt;Итого: если отбросить в сторону #holywar со школами, то &lt;b&gt;юнитом можно считать минимальное логическое объединение кода ориентированного на реализацию конкретной функциональности, которое мы хотим и можем проверить отдельно от других таких объединений&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;При этом проектировать код нужно так, чтобы иметь возможность вносить нужную нам для тестов реализацию его зависимостей.&lt;/p&gt;&lt;p&gt;Заканчиваем.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Вредные советы&lt;/b&gt;:&lt;/p&gt;&lt;p&gt;• пишите юнит-тесты на чужой код после того, как код написан, просто для покрытия (мероприятие искажающее ценность таких тестов)&lt;/p&gt;&lt;p&gt;• не пишите юнит-тесты на чужой код (если тестов нет) перед тем, как меняешь код (зависит от объема изменений, возможно нужно писать другого уровня тесты)&lt;/p&gt;&lt;p&gt;• активно используйте привычные и традиционные программерские приемы типа удаления дублирования (приводит к ухудшению читаемости тестов, хотя пункт ооочень холиварный)&lt;/p&gt;&lt;p&gt;• продолжайте игнорировать книги по юнит-тестам и тестированию вообще&lt;/p&gt;&lt;p&gt;• открывайте вакансию “Unit Test Writer” (клянусь - реальность, погуглите, я рыдал, особенно над требованиями)&lt;/p&gt;&lt;p&gt;&lt;b&gt;Полезные советы&lt;/b&gt;:&lt;/p&gt;&lt;p&gt;• почитать про мутационное тестирование&lt;/p&gt;&lt;p&gt;• всегда думать, какие тесты для чего лучше* подходят&amp;nbsp;&lt;/p&gt;&lt;p&gt;• всегда думать (всех обнимаю)&lt;/p&gt;&lt;p&gt;*Критерии “лучшести”: скорость написания, скорость обратной связи (запуск, скорость выполнения и диагностика проблем)&lt;/p&gt;&lt;p&gt;По опыту: надо меньше зацикливаться на том, как тесты называются. А больше над тем, сколько они выполняются, как стабильно, какое окружение требуется и как быстро можно найти проблему, если что-то пошло не так.&lt;/p&gt;&lt;p&gt;Поэтому сильно плюсую к &lt;a href=&quot;https://t.me/heisenbugconf/27646&quot; target=&quot;_blank&quot;&gt;этому автору&lt;/a&gt;:&amp;nbsp;&lt;/p&gt;&lt;p&gt;“Вообще мне кажется, что разделение на юнит, интеграционные, е2е и т.п. тесты устарело. Сейчас стоит придерживаться другой таксономии: тесты, которые можно прогонять при каждом пулл реквесте, и тесты, которые можно прогонять только собрав релиз.&lt;/p&gt;&lt;p&gt;И &lt;a href=&quot;https://testcontainers.com/&quot; target=&quot;_blank&quot;&gt;тестконтейнерс&lt;/a&gt; - один из способов перетащить часть тестов из второй категории в первую.”&lt;/p&gt;&lt;p&gt;Ну и уже от меня, само по себе разделение на “слои” провоцирует на разделение зон ответственности и появление вопроса “кто пишет”: типа разрабы это только юнит-тесты, а e2e - автоматизаторы. Еще один из примеров закона Конвея.&lt;/p&gt;&lt;p&gt;Полезные ссылки:&lt;/p&gt;&lt;p&gt;• &lt;a href=&quot;https://youtu.be/_S5iUf0ANyQ&quot; target=&quot;_blank&quot;&gt;Are You Chicago Or London When It Comes To TDD?&amp;nbsp;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;• &lt;a href=&quot;https://devlead.io/DevTips/LondonVsChicago&quot; target=&quot;_blank&quot;&gt;London vs Chicago&lt;/a&gt;&lt;/p&gt;&lt;p&gt;• &lt;a href=&quot;https://zone84.tech/architecture/london-and-detroit-schools-of-unit-tests/&quot; target=&quot;_blank&quot;&gt;London and Detroit schools of unit tests&lt;/a&gt;&amp;nbsp;(похоже недоступно из РФ, есть &lt;a href=&quot;https://webcache.googleusercontent.com/search?q=cache:FFSlL9beVJAJ:https://zone84.tech/architecture/london-and-detroit-schools-of-unit-tests/&amp;amp;cd=12&amp;amp;hl=ru&amp;amp;ct=clnk&amp;amp;gl=ru&quot; target=&quot;_blank&quot;&gt;копия из кэша&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;• &lt;a href=&quot;https://www.maxshulga.ru/2022/10/notes-testing-books.html&quot; target=&quot;_blank&quot;&gt;Литература по тестированию (с акцентом на разработку)&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;• Если кому-то нужно &lt;a href=&quot;https://pragprog.com/titles/lotdd/modern-c-programming-with-test-driven-development/&quot; target=&quot;_blank&quot;&gt;про юнит-тесты на C++ (ну вдруг), то вот эта норм&lt;/a&gt;, я ее в свое время даже переводить собирался, так понравилась.&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd2NjjwivsXeebyBLAj9RFWSR0waPMyTW67D0TBYovGqpID8gk-TsVRNLRRJYPXOs4Cwcvjz4Y7s24S5zkHghh3T9eqqhIXsoMe7X7nOzjv9qGtUFuxa9pzQHHGavGSuJcbJO2sjpR9a5GJvmHYoCgmmFLMqVKG92UaNYHy8wG68MZDKK82lUGR5cDjjxh/s280/UnitTests.gif&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;204&quot; data-original-width=&quot;280&quot; height=&quot;291&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd2NjjwivsXeebyBLAj9RFWSR0waPMyTW67D0TBYovGqpID8gk-TsVRNLRRJYPXOs4Cwcvjz4Y7s24S5zkHghh3T9eqqhIXsoMe7X7nOzjv9qGtUFuxa9pzQHHGavGSuJcbJO2sjpR9a5GJvmHYoCgmmFLMqVKG92UaNYHy8wG68MZDKK82lUGR5cDjjxh/w400-h291/UnitTests.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Не забывайте, ради чего все тесты пишутся&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/6902205051511065982/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2023/10/unit-testing.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/6902205051511065982'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/6902205051511065982'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2023/10/unit-testing.html' title='Про юнит-тесты и не только'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho55LbVXmKFVZDDB5WHlFJrtRaavL241VMcrMwoYgHzIB1DfifyGeIEe2uv3jDBOeneyS0keGZawjc0LvSKYkijCj44YfIKs6AWv7ASyWffchIzI0uNdfY7LASjaDasJ3o_LE5PU6AwgednW2lWs8Tu2G0rPr9OHhxAHFfXNrAvAirUm4Pg38sahRoBjlh/s72-w640-h366-c/what&#39;s-unit.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-9100252690473574503</id><published>2023-09-15T08:08:00.001+03:00</published><updated>2023-09-15T08:08:22.278+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="management"/><category scheme="http://www.blogger.com/atom/ns#" term="мотивация"/><category scheme="http://www.blogger.com/atom/ns#" term="найм"/><category scheme="http://www.blogger.com/atom/ns#" term="работа с командой"/><category scheme="http://www.blogger.com/atom/ns#" term="тестирование"/><title type='text'>Мой канал в телеграмме, тоже без чудес</title><content type='html'>&lt;p&gt;В блог стал меньше писать, потому что он в моей голове предполагает сейчас какую-то долгую предварительную работу со статьей. Черновики у меня годами лежат.&lt;br /&gt;Поэтому, встречайте телеграмм-канал, лайт-версию блога: появилась мысль - отправляется в канал.&lt;br /&gt;&lt;br /&gt;Тематика та же самая, &lt;a href=&quot;https://t.me/IT_without_miracles&quot; target=&quot;_blank&quot;&gt;Подключайтесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Из мариновавшегося годами тут, но уже появившееся в телеге:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/IT_without_miracles/29&quot; target=&quot;_blank&quot;&gt;Team- vs TechLead&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://t.me/IT_without_miracles/13&quot; target=&quot;_blank&quot;&gt;Ошибки приводящие к проблемам в IT&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Про календари &lt;a href=&quot;https://t.me/IT_without_miracles/15&quot; target=&quot;_blank&quot;&gt;менеджера&lt;/a&gt; и &lt;a href=&quot;https://t.me/IT_without_miracles/17&quot; target=&quot;_blank&quot;&gt;инженера&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWEnNZgSAaSNYJpH8IVmkLbspz-clfTbepOrqHMNmowVndb3_HgQOiXpEUlT15DYqDr5XAVX3psngUjt0tXfmsWfRpkvFl2qRddgDKoKwSd47LitA5D_ppDOFVW2roKlVxlC3Cyxwb7tHAZ20AfzdKHb6nk-uD6cX6jQ-s0BIw4xdNqLEoXu2Pxjh79Taq/s640/IT-without-miracles.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;640&quot; data-original-width=&quot;640&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWEnNZgSAaSNYJpH8IVmkLbspz-clfTbepOrqHMNmowVndb3_HgQOiXpEUlT15DYqDr5XAVX3psngUjt0tXfmsWfRpkvFl2qRddgDKoKwSd47LitA5D_ppDOFVW2roKlVxlC3Cyxwb7tHAZ20AfzdKHb6nk-uD6cX6jQ-s0BIw4xdNqLEoXu2Pxjh79Taq/s320/IT-without-miracles.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/9100252690473574503/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2023/09/ITwithoutmiracles-channel.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/9100252690473574503'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/9100252690473574503'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2023/09/ITwithoutmiracles-channel.html' title='Мой канал в телеграмме, тоже без чудес'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWEnNZgSAaSNYJpH8IVmkLbspz-clfTbepOrqHMNmowVndb3_HgQOiXpEUlT15DYqDr5XAVX3psngUjt0tXfmsWfRpkvFl2qRddgDKoKwSd47LitA5D_ppDOFVW2roKlVxlC3Cyxwb7tHAZ20AfzdKHb6nk-uD6cX6jQ-s0BIw4xdNqLEoXu2Pxjh79Taq/s72-c/IT-without-miracles.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-8148642750458560453</id><published>2023-09-04T13:30:00.000+03:00</published><updated>2023-09-04T13:30:01.591+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="legacy"/><category scheme="http://www.blogger.com/atom/ns#" term="тестирование"/><title type='text'>Legacy code and tests</title><content type='html'>&lt;p&gt;&lt;a href=&quot;https://qameta.io/blog/legacy-code/&quot; target=&quot;_blank&quot;&gt;Побеседовали&lt;/a&gt; с Мишей про эту &quot;магическую&quot; сущность, а он смог классно переработать содержимое нашей беседы и кучи других материалов.&lt;/p&gt;&lt;p&gt;Я теперь даже не уверен, какие именно мысли мои :) Но там все по делу.&lt;/p&gt;&lt;p&gt;Ну и самое главное про легаси:&lt;/p&gt;&lt;p&gt;1. это про то, что нужно (иначе бы выкинули)&lt;/p&gt;&lt;p&gt;2. это то, что с вами всегда* **&lt;/p&gt;&lt;p&gt;*если вы не меняете работу каждые полгода после написания нового кода&lt;/p&gt;&lt;p&gt;**но уровень боли от легаси можно уменьшить - статья как раз про это&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/8148642750458560453/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2023/09/thoughts-on-legacy.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/8148642750458560453'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/8148642750458560453'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2023/09/thoughts-on-legacy.html' title='Legacy code and tests'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-6896576120481421976</id><published>2023-04-07T14:49:00.011+03:00</published><updated>2023-04-09T14:43:24.184+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="автоматизация"/><category scheme="http://www.blogger.com/atom/ns#" term="заметки"/><category scheme="http://www.blogger.com/atom/ns#" term="полезные ссылки"/><category scheme="http://www.blogger.com/atom/ns#" term="тестирование"/><title type='text'>Заметки на коленке - 3. Что еще делать, если ваши тесты уже &quot;зеленые&quot;?</title><content type='html'>&lt;p&gt;&quot;Lately I find I&#39;m working on automated tests that return non-binary results. Tests that neither pass nor fail&quot; by&amp;nbsp;&lt;a href=&quot;https://twitter.com/noahsussman/status/715984409892143104&quot; target=&quot;_blank&quot;&gt;@noahsussman&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Отличная мысль, которую я ретвитил еще в 2016. Но давайте вместе подумаем, что за этим может скрываться? (&lt;i&gt;кстати, не знаю, что при этом думал Noah&lt;/i&gt;)&lt;br /&gt;&lt;br /&gt;Ваши тесты прошли и прошли &quot;успешно&quot;. Все хорошо или все же есть, куда еще посмотреть? &lt;br /&gt;&lt;br /&gt;Дальше то, что использовал я лично и то, что еще можно прикрутить дополнительно. Естественно все шаги ниже должны быть автоматизированны.&lt;br /&gt;&lt;br /&gt;1. Контролируйте время выполнения тестов. Если набор проверок не меняется (а такое часто бывает, к сожалению), то рост времени выполнения может говорить о проблемах в продакшен коде (чаще всего) или проблемах с окружением.&lt;br /&gt;&lt;br /&gt;2. Контроль за количеством выполняемых тестов. &quot;Все зеленое&quot; не значит, что сегодня выполняли те же Х тестов, что и вчера. Смешно(нет), но случается такое, что какие-то проверки &quot;исчезают&quot; из запуска из-за того, что у кого-то &quot;дрогнула рука&quot; и про это узнают только после разбора прод бага.&lt;br /&gt;&lt;br /&gt;3. Контроль за занимаемыми SUT (system under test) ресурсами во время выполнения тестов:&lt;br /&gt;• оперативка = утечки&lt;br /&gt;• место на диске = резкий рост размера БД, большие логи, &quot;забытые&quot; временные файлы&lt;br /&gt;• другие технические метрики&lt;br /&gt;&lt;br /&gt;4. Тесты запускаемые всегда в одном и том же порядке могут работать успешно только &quot;благодаря&quot; этому порядку. И не работать, если просто начать их запускать в условно произвольном порядке*. &quot;Война тестов&quot; помогает найти проблемы в продакшене.&lt;br /&gt;*с учетом настроек SUT и окружения.&lt;br /&gt;&lt;br /&gt;5. Если у вас в SUT есть, например, http-запросы между клиентом и сервером, то встройте между ними, например, &lt;a href=&quot;https://zaproxy.org/docs/api/#overview&quot; target=&quot;_blank&quot;&gt;OWASP Zed Attack Proxy&lt;/a&gt;. Получите возможность дополнительной секьюрити проверки вашего API (как в пассивном, так и активном режиме)&lt;br /&gt;&lt;br /&gt;6. Тест который сегодня &quot;зеленый&quot;, а вчера был &quot;красный&quot; и никто его вчера не чинил, скорее всего предвестник &quot;веселой&quot; регулярной активности &quot;а давайте его перезапустим&quot;. &lt;a href=&quot;https://www.maxshulga.ru/2021/04/flaky-tests-or-random-success.html&quot; target=&quot;_blank&quot;&gt;Подробнее про flaky tests&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. Если ваши тесты &quot;вечнозеленые&quot;, проверьте не видите ли вы результаты одного и того же запуска, а тесты на самом деле не запускаются 🤣&lt;br /&gt;&lt;br /&gt;Ну и подумайте, а стоит ли их запускать вообще. А может просто запускать реже.&lt;br /&gt;&lt;br /&gt;Какие еще пункты &lt;a href=&quot;https://twitter.com/maxbeard12/status/1644228857581404160&quot; target=&quot;_blank&quot;&gt;можно добавить?&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSoqfHISwa3CiiSfpX8sziIC7kieQmi-QvzZS0LW3mZhNroG3E6esr2KStNi_SKOVk93awFNHvpftgZR_ZnW6ycVA_HbWKYqxj2bqmNQKh3Ms1iVM6DRq8gy0QJfBZC3HBqyCYkKAPSHooOcDzcbiMct_FOPG6q9QMNcqNVq1tk3b3x6pOXaIfQGQhHg/s713/green%20tests.jpeg&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;713&quot; data-original-width=&quot;499&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSoqfHISwa3CiiSfpX8sziIC7kieQmi-QvzZS0LW3mZhNroG3E6esr2KStNi_SKOVk93awFNHvpftgZR_ZnW6ycVA_HbWKYqxj2bqmNQKh3Ms1iVM6DRq8gy0QJfBZC3HBqyCYkKAPSHooOcDzcbiMct_FOPG6q9QMNcqNVq1tk3b3x6pOXaIfQGQhHg/w280-h400/green%20tests.jpeg&quot; title=&quot;А тесты прошли успешно...&quot; width=&quot;280&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;А тесты прошли успешно...&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;a href=&quot;https://www.maxshulga.ru/search/label/%D0%B7%D0%B0%D0%BC%D0%B5%D1%82%D0%BA%D0%B8&quot; target=&quot;_blank&quot;&gt;Все заметки этой серии.&lt;/a&gt;&lt;a href=&quot;https://twitter.com/maxbeard12/status/1644228857581404160&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/6896576120481421976/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2023/04/notes-green-test-results.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/6896576120481421976'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/6896576120481421976'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2023/04/notes-green-test-results.html' title='Заметки на коленке - 3. Что еще делать, если ваши тесты уже &quot;зеленые&quot;?'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSoqfHISwa3CiiSfpX8sziIC7kieQmi-QvzZS0LW3mZhNroG3E6esr2KStNi_SKOVk93awFNHvpftgZR_ZnW6ycVA_HbWKYqxj2bqmNQKh3Ms1iVM6DRq8gy0QJfBZC3HBqyCYkKAPSHooOcDzcbiMct_FOPG6q9QMNcqNVq1tk3b3x6pOXaIfQGQhHg/s72-w280-h400-c/green%20tests.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-7179108841919583452</id><published>2022-12-23T17:21:00.005+03:00</published><updated>2022-12-24T09:28:32.479+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="management"/><category scheme="http://www.blogger.com/atom/ns#" term="работа с командой"/><title type='text'>О чем подумать при разделении команды</title><content type='html'>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7bJ81aCZy4uSQq-3KCJ6IKUKPyOGtZVztUsHxAQ-AlhI3ML7lyKfawOwAcCosmqOkFGx_roqLYBVkdn4LkIwnr1M_9rv55y1bsZVBVtsnpKrPkt8KX2Oqn2siJmSMTvyIs8npr_N1lWOb-7T0g9AnZzTwzFzt-kYb_2eIafnSIzrPeXAH6GkY6SwqEg/s3579/%D0%9C%D0%B8%D1%82%D0%BE%D0%B7.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1532&quot; data-original-width=&quot;3579&quot; height=&quot;171&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7bJ81aCZy4uSQq-3KCJ6IKUKPyOGtZVztUsHxAQ-AlhI3ML7lyKfawOwAcCosmqOkFGx_roqLYBVkdn4LkIwnr1M_9rv55y1bsZVBVtsnpKrPkt8KX2Oqn2siJmSMTvyIs8npr_N1lWOb-7T0g9AnZzTwzFzt-kYb_2eIafnSIzrPeXAH6GkY6SwqEg/w400-h171/%D0%9C%D0%B8%D1%82%D0%BE%D0%B7.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Митоз &lt;strike&gt;клетки&lt;/strike&gt; команды&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;Если продукт или набор сервисов, которым занимается команда, успешно развивается, задач становится все больше, размер команды растет, рано или поздно вы приходите к мысли о трансформировании команды в несколько команд.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;Иногда это происходит &quot;органически&quot; - в продукте есть свободно отделяемая часть, которую можно передать новой команде. Иногда все сложнее - продукт разделить тяжело и само разделение драйвится тем, что просто людей становится много (или нужно больше) и текущие процессы становятся неэффективными, а результат работы сложно прогнозируемым.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;Я наблюдал 3 варианта &quot;рождения&quot; новой дополнительной команды для существующих задач (речь здесь и дальше не про запуск нового продукта, а про дополнительный импульс в развитии существующего):&lt;br /&gt;- команда формируется с нуля. Самый сложный вариант, который скорее всего подойдет, когда процесс работы уже заточен под &quot;многокомандность&quot; и новая команда - это лишь еще одна шестеренка в настроенной машине успешно перемалывающей бэклог задач.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- команда формируется на базе какого-то человека из &quot;старой&quot; команды.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- N новых команд получаются в результате разделения &quot;старой&quot;.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;Мне, чаще всего, приходилось заниматься третьим вариантом, поэтому ниже немного вопросов/тезисов, про которые надо подумать при разделении команд:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;b&gt;Если делиться, то как?&amp;nbsp;&lt;/b&gt;Это все влияет на новые процессы работы и их формат&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- функционально (у каждой команды свой кусок функциональности, свой бэклог и код).&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- кроссфункционально (беклог остается общим, команды работают над одной кодовой базой).&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;b&gt;Как делить людей (кого в какую команду)?&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;По желанию, &quot;насильно&quot;, будет ли возможность перехода между новыми командами. У меня в опыте были все эти варианты. Каких ролей не хватает в новых командах и какой план по закрытию потребности в них.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;b&gt;Код, скорее всего, сейчас общий, что дальше?&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- остаемся в одном репозитории: кто в итоге &quot;владелец кода&quot; и какие правила работы с ним?&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- если репу/репы нужно таки разделять репу/репы, то как, сколько может занять?&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;b&gt;Тот же вопрос по тест-кейсы и прочие артефакты разработки.&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;b&gt;Что с каналами коммуникаций?&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;Обычно у команды есть один канал для внешних запросов и нужно в первую очередь подумать, как он будет функционировать дальше, будут ли создаваться новые каналы для новых команд, как про это узнают все заинтересованные.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;b&gt;Кто ответственен за внешние запросы в команду/команды и обработку мониторинговых алертов, если разделение кода/сервисов не произошло?&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;Какая из команд, в каком порядке, за что именно отвечает?&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;b&gt;К чему нужно быть готовым?&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- шторминг команд. Даже если люди давно работали в одной старой команде, есть большая вероятность, что новую все равно поштормит.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- персональная неудовлетворенность некоторых членов команд.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;b&gt;Советы от КО&lt;/b&gt;:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- Обратиться за опытом к коллегам. Скорее всего кто-то из коллег или знакомых уже &lt;strike&gt;огребал от разделений&lt;/strike&gt;&amp;nbsp;сталкивался с этим вопросом и готов поделиться с вами своими опытом и попоболями.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- &lt;a href=&quot;https://teamtopologies.com/key-concepts&quot; target=&quot;_blank&quot;&gt;Концепт топологии команды на команды/группы&amp;nbsp;&lt;/a&gt;. Кстати, возможно, ваш вариант не отдельные команды, а рабочие группы в рамках одной команды.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- Посмотреть&amp;nbsp;&lt;a href=&quot;https://www.youtube.com/watch?v=pw686Oyeqmw&quot; target=&quot;_blank&quot;&gt;Why Your Software Team CAN’T Scale&lt;/a&gt;.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- Учесть, что уже есть применяемые многими процессы для организации совместной работы команд (&lt;a href=&quot;https://www.scrum.org/resources/scaling-scrum&quot; target=&quot;_blank&quot;&gt;Nexus&lt;/a&gt;, &lt;a href=&quot;https://scrumtrek.ru/blog/enterprise-agility/355/less-scrum-na-bolshih-masshtabah/&quot; target=&quot;_blank&quot;&gt;LeSS&lt;/a&gt;). Возможно не нужно придумывать свои &quot;велосипеды&quot;.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;- в &lt;a href=&quot;https://twitter.com/IgorKurochkin/status/1606443450554937344&quot; target=&quot;_blank&quot;&gt;комментах&lt;/a&gt; в тви подкинули интересную концепцию по этой теме: &quot;&lt;a href=&quot;https://www.heidihelfand.com/dynamic-reteaming/&quot; target=&quot;_blank&quot;&gt;Dynamic Reteaming&lt;/a&gt;&quot;. По описанию очень укладывается в обсуждаемый тут вопрос.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/7179108841919583452/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2022/12/team-scaling.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/7179108841919583452'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/7179108841919583452'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2022/12/team-scaling.html' title='О чем подумать при разделении команды'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7bJ81aCZy4uSQq-3KCJ6IKUKPyOGtZVztUsHxAQ-AlhI3ML7lyKfawOwAcCosmqOkFGx_roqLYBVkdn4LkIwnr1M_9rv55y1bsZVBVtsnpKrPkt8KX2Oqn2siJmSMTvyIs8npr_N1lWOb-7T0g9AnZzTwzFzt-kYb_2eIafnSIzrPeXAH6GkY6SwqEg/s72-w400-h171-c/%D0%9C%D0%B8%D1%82%D0%BE%D0%B7.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-3546105622231461134</id><published>2022-12-02T11:29:00.000+03:00</published><updated>2022-12-02T11:29:00.607+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="философия"/><title type='text'>Как это - работать с коллегами возраста твоих детей?</title><content type='html'>&lt;p&gt;Возрастной философии &lt;a href=&quot;https://twitter.com/maxbeard12/status/1359434685869359104&quot; target=&quot;_blank&quot;&gt;твиттер-тред&lt;/a&gt;, который я решил переложить в статью, заодно попытавшись поправить правописание. Ну и ссылку на заметку сейчас удобнее отправлять, чем ссылку на твиттер. А желание ее кому-нибудь отправить по-прежнему иногда возникает.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Уже даже не помню, чем было навеяно. В лучших традициях твиттерского жанра &quot;дед ноет&quot;. Все как положено: нытье, без конкретных примеров действий и противодействий.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Где-то плюс/минус несколько дней в это время 20 лет назад (тред писался в феврале 2021) заканчивалась моя военная служба и я уже официально (а не в самоволку, как было несколько месяцев до этого) ходил писать новые компоненты для Delphi-библиотек. С тех пор много чего (все?) поменялось в IT-отрасли, но речь сегодня пойдет не про технику.&amp;nbsp;&lt;/p&gt;&lt;p&gt;А будет про людей. Даже скорее про конкретного человека в моем лице, как и что менялось во мне за эти 20 лет, отношение к возрасту, возрастные фобии если хотите :)&lt;/p&gt;&lt;p&gt;После увольнения, наверное около 10 лет кряду, возраст коллег не заставлял чувствовать себя &quot;белой вороной&quot;. Все плюс/минус &quot;из одной песочницы&quot;, с похожим эмоциональным развитием и ожиданиями от жизни. Потом постепенно и как-то неожиданно для меня, картина начала меняться.&lt;/p&gt;&lt;p&gt;Коллеги становились все моложе, у меня начала пробиваться седина, а вместе с ней и мысли &quot;а как это работать с коллегами возраста твоих детей&quot;? Сначала это были просто мысли, реально таких коллег не было. Но пару лет назад такое случилось в первый раз, а теперь это уже постоянная реальность.&lt;/p&gt;&lt;p&gt;И дальше немного из моей текущей реальности, когда мои рабочие будни иногда выглядят, как начало анекдота&amp;nbsp; про молодого и старого быков на вершине холма.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Анекдот&amp;nbsp;скабрезный, но хорошо отражает ситуацию, когда часто все бегут в одну сторону, потом в другую, а ты просто ждешь, когда они все вернутся обратно и мы вернемся к обсуждению проблемы. Которая, как часто выясняется, и не проблема вовсе, а настоящая проблема у нас в другом.&lt;/p&gt;&lt;p&gt;В этот момент сложно не упрекать себя в отсутствии активной позиции, когда &quot;надо пробовать, чего боятся&quot;. А ты просто это уже много раз пробовал, и каждый следующий раз, когда пробовал говорил себе &quot;но может в прошлый раз ты не все предусмотрел, плохо подготовились, контекст другой был, люди другие&quot;. А во-о-от сейча-а-ас то все пучком, люди заряжены, кони запряжены. И не хочется даже добавлять сомнений в эту идиллическую картину.&lt;/p&gt;&lt;p&gt;Кстати, про сомнения. Самое сложное, что лично мне приходится постоянно контролировать в себе, это не выдавать сомнения в лоб. Часто это воспринимают, как негатив. Особенно, если у тебя нет никаких других аргументов, кроме как &quot;мы так пробовали, тогда не сработало&quot;. Вроде неконструктивно.&lt;/p&gt;&lt;p&gt;Иногда, когда прошлый опыт сильно отдается в заднице, начинаешь спорить. И тут уже забываешь про конструктивные аргументы и здравствуй, &quot;токсик-дед&quot;.&lt;br /&gt;ЗЫ интересно, как часто меня так называют? :)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;-----&lt;/p&gt;&lt;p&gt;Иногда спорить бесполезно, юношеская страсть и &quot;вот это все&quot;. Люди в принципе не учатся на чужих ошибках, поэтому в этот момент ты просто проверяешь, что грабли лежат под правильным углом, поэтому ебанет сильно, но не смертельно. И ждешь момента, когда к тебе придут с шишкой и &quot;а че ты там говорил про...&quot;.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg44ATWrAZY1wfQQlrtmNJJsSV2Ku8U6uvVpIg83VKlJEWn-5K3nIFYaS-brXox0vee-2TFXDDnvk6PmpvexkGg9nqyXj1nO_UONQVEIyRnTY3C8nlOyelurA6l2yeefH-W4Jqzl6Ww6syYt2VuyJYYyrQvgkqJkloNgobXlNXbcm6xwhDVn_pI7vfSoA/s554/dobrota.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;492&quot; data-original-width=&quot;554&quot; height=&quot;178&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg44ATWrAZY1wfQQlrtmNJJsSV2Ku8U6uvVpIg83VKlJEWn-5K3nIFYaS-brXox0vee-2TFXDDnvk6PmpvexkGg9nqyXj1nO_UONQVEIyRnTY3C8nlOyelurA6l2yeefH-W4Jqzl6Ww6syYt2VuyJYYyrQvgkqJkloNgobXlNXbcm6xwhDVn_pI7vfSoA/w200-h178/dobrota.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;В особо сложных случаях, цинично крепишь к граблям топор, потому что патологии не лечатся, а свои нервы дороже. Опять же возраст, себя беречь надо.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguws0e4L9S7LDnDKN_LQou9EO3AEvGTPFGZUW2WFkb8e-QyrOFHUi5fYOrpYZxFUEH9JsrJqHnbVEMcKBXo7PM1BtdcaibYTPmeKsML_xyjtC2ElkHCLYPdvba8KKMwkaUdObh7CWg3gFaWrjcvxWDVqXLIuiOIYtEpmjJF1OEcuerei0GNVr5-SHT2g/s800/grable-topor.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;800&quot; data-original-width=&quot;579&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguws0e4L9S7LDnDKN_LQou9EO3AEvGTPFGZUW2WFkb8e-QyrOFHUi5fYOrpYZxFUEH9JsrJqHnbVEMcKBXo7PM1BtdcaibYTPmeKsML_xyjtC2ElkHCLYPdvba8KKMwkaUdObh7CWg3gFaWrjcvxWDVqXLIuiOIYtEpmjJF1OEcuerei0GNVr5-SHT2g/s320/grable-topor.png&quot; width=&quot;232&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;i&gt;Лирическое отступление: &quot;юность&quot; сейчас для меня это, простите, до 30 точно, иногда и позже продолжается&lt;/i&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Я часто пишу &quot;опыт&quot;, а начинал ведь про &quot;возраст&quot;. Как это между собой коррелирует? Теоретически богатый опыт можно получить в условиях &quot;год за два&quot;, по ускоренной программе. Но жизненный опыт, скорее мудрость, приходит именно с возрастом, когда у тебя что-то меняется в мозгах. ХЗ что именно, надо порефлексировать.&lt;/p&gt;&lt;p&gt;При этом очень хорошо, как мне кажется, срабатывает история, когда к тебе самостоятельно приходят за советом. В этот момент человек открыт и твой опыт и слова ему ценны. Последнее время такие сеансы часто заканчиваются словами &quot;это было здорово, прям мотивирующе&quot;, &quot;получил дозу мотивации&quot;. Ну и сам весь такой замотивировался, есть еще &quot;порох в пороховницах&quot;.&lt;/p&gt;&lt;p&gt;Получается, что работа &quot;деда&quot; быть в балансе между &quot;добиться, чтобы человек был готов внимать совету&quot; и &quot;все развалилось к херам, пока ты тут воспитанием занимался&quot;. Ну и самому кукухой не уехать раньше времени. Но это уже совсем другая история... И кажется я тут про менеджера, а не про деда. Хотя воспитание детей, которым уже условно сильно больше 15 лет, &lt;a href=&quot;https://www.maxshulga.ru/2013/03/blog-post.html&quot; target=&quot;_blank&quot;&gt;тоже где-то про это&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;----&lt;/p&gt;&lt;p&gt;Есть еще психологический момент связанный именно с возрастом. Я уже привык общаться с коллегами ровесниками сына и не думать про возраст. Иногда правда &quot;стреляет&quot; в мозгах и очень хочется &quot;сделать а-я-я-яй, ремнем по попе&quot;. Но непонятно, что про это общение думает коллега и что он вообще про тебя думает, &quot;про пенса&quot; :)&lt;/p&gt;&lt;p&gt;Еще одна штука про возраст и опыт. Ожидания от тебя. Ведь ты так долго работаешь, много знаешь (наверное), ты просто должен взять и просто уххх, как хорошо все сделать. А если ты так не делаешь, то...&lt;br /&gt;&lt;br /&gt;Или наоборот, &quot;че от него уже можно ожидать, он же уже давно код не пишет, все IT-психологией балуется&quot;&lt;/p&gt;&lt;p&gt;А может такая картинка ожиданий только у тебя в голове. И то, что тебе говорят коллеги, это просто уважительное отношение, простите, к возрасту :)&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/3546105622231461134/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2022/05/ded-burchit-pro-vozrast.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/3546105622231461134'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/3546105622231461134'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2022/05/ded-burchit-pro-vozrast.html' title='Как это - работать с коллегами возраста твоих детей?'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg44ATWrAZY1wfQQlrtmNJJsSV2Ku8U6uvVpIg83VKlJEWn-5K3nIFYaS-brXox0vee-2TFXDDnvk6PmpvexkGg9nqyXj1nO_UONQVEIyRnTY3C8nlOyelurA6l2yeefH-W4Jqzl6Ww6syYt2VuyJYYyrQvgkqJkloNgobXlNXbcm6xwhDVn_pI7vfSoA/s72-w200-h178-c/dobrota.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-3594551144166636166</id><published>2022-11-17T13:13:00.008+03:00</published><updated>2022-12-22T16:25:55.502+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="1:1"/><category scheme="http://www.blogger.com/atom/ns#" term="management"/><title type='text'>Встречи 1:1</title><content type='html'>&lt;p&gt;На базе &lt;a href=&quot;https://twitter.com/maxbeard12/status/1492080422725066766&quot; target=&quot;_blank&quot;&gt;треда&lt;/a&gt; в тви.&lt;/p&gt;&lt;p&gt;Признаться, я давно не провожу &quot;каноничные&quot; 1:1.&amp;nbsp;&lt;/p&gt;&lt;p&gt;В 1-ю очередь из-за того, что &quot;каноничность&quot; предполагает регулярность. Практика скорее полезная, но эффективность зависит от многих факторов. Например, количества тех, с кем надо проводить, процессов в командах и твоем в них участии.&lt;/p&gt;&lt;p&gt;А я не люблю делать то, что просто &quot;общепринято&quot;, но пользы не несет или ее меньше, чем затрат хотя бы времени.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ну или просто терпения не хватает дождаться реальной пользы.&lt;/p&gt;&lt;p&gt;Чаще получаются не классические 1:1, а встречи по онбордингу новичков, обсуждению планов развития, беседы с ребятами, которые сами приходят с запросом. Моя &quot;дверь&quot; для такого всегда открыта и я всем постоянно и везде про это напоминаю.&lt;/p&gt;&lt;p&gt;Тем не менее, всегда полезно иметь списочек вопросов, которые можно обсудить:&lt;/p&gt;&lt;p&gt;1.&amp;nbsp;&lt;a href=&quot;https://larahogan.me/blog/first-one-on-one-questions/&quot; target=&quot;_blank&quot;&gt;Вопросы&lt;/a&gt; для первой встречи&amp;nbsp;&lt;/p&gt;&lt;p&gt;2. Хорошая замена традиционного вопроса &quot;&lt;a href=&quot;https://twitter.com/lilykonings/status/1460337455782006786&quot; target=&quot;_blank&quot;&gt;How&#39;s everything going?&quot; -&amp;gt; &quot;What&#39;s one thing that could be better?&lt;/a&gt;&quot;&lt;/p&gt;&lt;p&gt;3. &lt;a href=&quot;https://codecapsule.com/2021/09/09/how-to-get-your-silent-1-on-1s-back-on-track/&quot; target=&quot;_blank&quot;&gt;Что делать&lt;/a&gt;, если 1:1 начинается с &quot;мне нечего рассказать&quot; или &quot;с моей стороны ничего нового&quot;&lt;/p&gt;&lt;p&gt;4.&amp;nbsp;&lt;a href=&quot;https://github.com/sharovatov/teamlead/blob/master/articles/1-1.md&quot; target=&quot;_blank&quot;&gt;Мысли&lt;/a&gt;&amp;nbsp;Виталия Шароватова (его&amp;nbsp;&lt;a href=&quot;https://twitter.com/vsharovatov1&quot; target=&quot;_blank&quot;&gt;тви&lt;/a&gt;) про рационализацию регулярных 1-1 (кстати у него&amp;nbsp;&lt;a href=&quot;https://github.com/sharovatov/teamlead&quot; target=&quot;_blank&quot;&gt;много полезной инфы&lt;/a&gt;&amp;nbsp;для лидов)&lt;/p&gt;&lt;p&gt;5. вишенка 🍒 для тех, кому хочется новых вопросов -&amp;nbsp;&lt;a href=&quot;https://getlighthouse.com/blog/one-on-one-meeting-questions-great-managers-ask/&quot; target=&quot;_blank&quot;&gt;132 One on One Meeting Questions Great Managers Use to Create High Performing Teams&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;В любом случае, имхо, лучше общаться на &quot;неправильных&quot; 1:1, чем не общаться совсем.&amp;nbsp; Но не будьте как я, попробуйте все же делать это регулярно, &lt;b&gt;не реже раза в месяц&lt;/b&gt;.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN8d3ekls3UUzTuvOTiYnwfUjga3XyLoKzZIxWHzHDWsUoV-869BG1_4k8FxpMhVpCWdN6gAZTwTkigw8ohxZGzc9u-AEmYMHax0OaCFZBXpnUCYdumSnx_FipDZ1nJv27iF_5TbfR4CRYQ2orx8BisWuZQSk0OI-MwfHvie1tbBYPKIfD2Epj2ohgog/s546/1_1.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;546&quot; data-original-width=&quot;487&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN8d3ekls3UUzTuvOTiYnwfUjga3XyLoKzZIxWHzHDWsUoV-869BG1_4k8FxpMhVpCWdN6gAZTwTkigw8ohxZGzc9u-AEmYMHax0OaCFZBXpnUCYdumSnx_FipDZ1nJv27iF_5TbfR4CRYQ2orx8BisWuZQSk0OI-MwfHvie1tbBYPKIfD2Epj2ohgog/s320/1_1.jpeg&quot; width=&quot;285&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/3594551144166636166/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2022/11/1-to-1.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/3594551144166636166'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/3594551144166636166'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2022/11/1-to-1.html' title='Встречи 1:1'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN8d3ekls3UUzTuvOTiYnwfUjga3XyLoKzZIxWHzHDWsUoV-869BG1_4k8FxpMhVpCWdN6gAZTwTkigw8ohxZGzc9u-AEmYMHax0OaCFZBXpnUCYdumSnx_FipDZ1nJv27iF_5TbfR4CRYQ2orx8BisWuZQSk0OI-MwfHvie1tbBYPKIfD2Epj2ohgog/s72-c/1_1.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-49500608851319886</id><published>2022-10-20T17:28:00.000+03:00</published><updated>2022-10-20T17:28:08.542+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="management"/><category scheme="http://www.blogger.com/atom/ns#" term="доклады"/><category scheme="http://www.blogger.com/atom/ns#" term="жизнь"/><title type='text'>Развитие в IT: начало, менеджерская развилка, повседневность (беседа на HeisenbugConf)</title><content type='html'>&lt;p&gt;&amp;nbsp;Про то, что менеджмент&amp;nbsp; - это не единственный путь развития :)&lt;/p&gt;
&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;380&quot; src=&quot;https://www.youtube.com/embed/mmf0bep2Plc?list=PLsVTVVvrKX9vNh2Yu0k6W1yoLWXpJdIbI&quot; title=&quot;Максим Шульга — Развитие в IT: начало, менеджерская развилка, повседневность&quot; width=&quot;760&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/49500608851319886/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2022/10/it-heisenbugconf.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/49500608851319886'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/49500608851319886'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2022/10/it-heisenbugconf.html' title='Развитие в IT: начало, менеджерская развилка, повседневность (беседа на HeisenbugConf)'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/mmf0bep2Plc/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-418391197136885307</id><published>2022-10-18T10:18:00.005+03:00</published><updated>2023-06-16T18:58:10.167+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="автоматизация"/><category scheme="http://www.blogger.com/atom/ns#" term="заметки"/><category scheme="http://www.blogger.com/atom/ns#" term="полезные ссылки"/><category scheme="http://www.blogger.com/atom/ns#" term="тестирование"/><title type='text'>Заметки на коленке - 2. Книжки про тестирование для разрабов</title><content type='html'>Есть &lt;a href=&quot;https://twitter.com/maxbeard12/status/1582253519071248384&quot; target=&quot;_blank&quot;&gt;тред&lt;/a&gt; в твиттере, но пусть тут для удобства тоже будет.&lt;div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiitqJkx-n23DnFvHhxYa42H7Y2hgUC0cVmPzQ9sLh1tyCkrhca-hu3fUwjtjAVxadAmjmbea31qHSjhTUTRhubCz3KPMDsJAmZIdnN3rE5Peog8SAC2keCwvCnAathhjKoxxYmByBk7UxkR92XJPdhYq2aKtdx-cXztpNB1-X-jwdXBw6VMheboDmww/s500/read-the-books.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;208&quot; data-original-width=&quot;500&quot; height=&quot;166&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiitqJkx-n23DnFvHhxYa42H7Y2hgUC0cVmPzQ9sLh1tyCkrhca-hu3fUwjtjAVxadAmjmbea31qHSjhTUTRhubCz3KPMDsJAmZIdnN3rE5Peog8SAC2keCwvCnAathhjKoxxYmByBk7UxkR92XJPdhYq2aKtdx-cXztpNB1-X-jwdXBw6VMheboDmww/w400-h166/read-the-books.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Книги большей частью достаточно &quot;возрастные&quot;, у некоторых есть свежие переиздания, где добавлены &quot;свежие&quot; темы, типа мобилок и тп. Из-за &quot;возраста&quot; сравнительно легко ищутся не только в магазинах.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Вводная по &quot;разработческому&quot; тестированию&lt;/b&gt;&lt;br /&gt;Про тестирование обзорно для разработчика&lt;div&gt;&lt;a href=&quot;http://developertesting.rocks/book/&quot;&gt;Developer Testing&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://developertesting.rocks/book/&quot;&gt;&lt;br /&gt;&lt;/a&gt;The Art of Unit Testing (лучшая, на мой взгляд, книга по юнит-тестам)&lt;br /&gt;&lt;a href=&quot;https://www.manning.com/books/the-art-of-unit-testing-second-edition&quot; target=&quot;_blank&quot;&gt;С примерами на С#&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://www.manning.com/books/the-art-of-unit-testing-third-edition&quot; target=&quot;_blank&quot;&gt;С примерами на&amp;nbsp;JS&lt;/a&gt;&amp;nbsp;&lt;br /&gt;Применимо и к другим языкам&lt;br /&gt;&lt;br /&gt;Паттерны для хороших тестов (практически любых)&lt;br /&gt;&lt;a href=&quot;http://xunitpatterns.com/&quot; target=&quot;_blank&quot;&gt;xUnit Test Patterns: Refactoring Test Code&lt;/a&gt; (есть книга)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;То, что мало кто из тестировщиков читал:&lt;/b&gt;&lt;br /&gt;Теория тестирования&lt;br /&gt;&lt;a href=&quot;https://www.amazon.com/Lessons-Learned-Software-Testing-Context-Driven/dp/0471081124&quot; target=&quot;_blank&quot;&gt;Lessons Learned in Software Testing: A Context-Driven Approach&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Букварь по тест-дизайну&lt;br /&gt;&lt;a href=&quot;https://www.amazon.com/Practitioners-Guide-Software-Test-Design/dp/158053791X&quot; target=&quot;_blank&quot;&gt;A Practitioner&#39;s Guide to Software Test Design&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Гибрид двух предыдущих&lt;br /&gt;&lt;a href=&quot;https://www.amazon.com/Software-Testing-Analysis-Principles-Techniques/dp/0471455938&quot; target=&quot;_blank&quot;&gt;Software Testing and Analysis: Process, Principles and Techniques: Process, Principles, and Techniques&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Еще один гибрид&lt;br /&gt;&lt;a href=&quot;https://www.amazon.com/Art-Software-Testing-Glenford-Myers/dp/1118031962&quot; target=&quot;_blank&quot;&gt;The Art of Software Testing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Факультативно&lt;/b&gt;:&lt;/div&gt;&lt;div&gt;Теория автоматизации, термины, практики (без упора в стек, можно просто пролистать)&lt;br /&gt;&lt;a href=&quot;https://www.amazon.com/Automated-Testing-Handbook-Linda-Hayes/dp/0970746504&quot; target=&quot;_blank&quot;&gt;Automated Testing Handbook&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Философия автоматизации&lt;br /&gt;&lt;a href=&quot;https://leanpub.com/TheAWord&quot; target=&quot;_blank&quot;&gt;The &quot;A&quot; Word &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://www.maxshulga.ru/2014/09/the-a-word.html&quot; target=&quot;_blank&quot;&gt;Мои пару слов про нее&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&quot;Achieving Software Quality With Testing Coverage Measures&quot;&lt;br /&gt;Для желающих почитать немного &quot;теорию&quot; покрытия тестами. Просто можно погуглить по названию, там небольшая статья&lt;br /&gt;&lt;br /&gt;И немного &quot;философии&quot; и истории от меня. Практически моя &quot;инженерная лебединая песня&quot; :)&lt;/div&gt;&lt;div&gt;&quot;&lt;a href=&quot;https://www.maxshulga.ru/2016/10/autotests-is-sweat-blood-tears.html&quot; target=&quot;_blank&quot;&gt;Автоматизация тестирования - это пот, кровь и слезы&lt;/a&gt;&quot;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://www.maxshulga.ru/search/label/%D0%B7%D0%B0%D0%BC%D0%B5%D1%82%D0%BA%D0%B8&quot; target=&quot;_blank&quot;&gt;Все заметки этой серии.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/418391197136885307/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2022/10/notes-testing-books.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/418391197136885307'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/418391197136885307'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2022/10/notes-testing-books.html' title='Заметки на коленке - 2. Книжки про тестирование для разрабов'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiitqJkx-n23DnFvHhxYa42H7Y2hgUC0cVmPzQ9sLh1tyCkrhca-hu3fUwjtjAVxadAmjmbea31qHSjhTUTRhubCz3KPMDsJAmZIdnN3rE5Peog8SAC2keCwvCnAathhjKoxxYmByBk7UxkR92XJPdhYq2aKtdx-cXztpNB1-X-jwdXBw6VMheboDmww/s72-w400-h166-c/read-the-books.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-3929489580488328476</id><published>2022-08-26T13:10:00.008+03:00</published><updated>2024-10-31T08:47:35.191+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="заметки"/><category scheme="http://www.blogger.com/atom/ns#" term="тестирование"/><title type='text'>Заметки на коленке: про тестирование (базисы для разрабов)</title><content type='html'>&lt;i&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcFiWatm5VGjj1_sV7rTFrVGf7dHExJsAbEBDVfejpJftATs3XUxPOz-FVC38X8rXQjMosHGCsRdnMO5sP9Gc0apUfuMZFIQxM6IFEXn-U54NZN7kQ7wpyTZ5QF3hNENYqq_WxZyMQW7P86zQ0YeTWEyEFW9ip3H95funcvMhppiDJ2wEvPi9UdapRFw/s501/whyDevDry.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;298&quot; data-original-width=&quot;501&quot; height=&quot;190&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcFiWatm5VGjj1_sV7rTFrVGf7dHExJsAbEBDVfejpJftATs3XUxPOz-FVC38X8rXQjMosHGCsRdnMO5sP9Gc0apUfuMZFIQxM6IFEXn-U54NZN7kQ7wpyTZ5QF3hNENYqq_WxZyMQW7P86zQ0YeTWEyEFW9ip3H95funcvMhppiDJ2wEvPi9UdapRFw/s320/whyDevDry.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Лет 5 назад наваял на коленке для рассказа разработчикам про тестирование в команде без тестировщиков.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Что такое качество?&lt;/b&gt;&lt;br /&gt;С точки зрения пользователя:&lt;br /&gt;Качество — это пригодность к использованию. Делает ли данный продукт то, в чем я нуждаюсь, облегчает ли он мою работу, могу ли я его использовать так, как мне удобно.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;С точки зрения разработчика:&lt;br /&gt;Качество — это соответствие специфицированным и собранным требованиям. Делает ли данный продукт все то, что указано в требованиях.&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Характеристики качества программного продукта:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Функциональность&lt;/li&gt;&lt;li&gt;Производительность&lt;/li&gt;&lt;li&gt;Стабильность&lt;/li&gt;&lt;li&gt;Удобство использования&lt;/li&gt;&lt;li&gt;Безопасность&lt;/li&gt;&lt;/ul&gt;Но, есть еще, например, качество программного кода:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Понятность&lt;/li&gt;&lt;li&gt;Изменяемость&lt;/li&gt;&lt;li&gt;Тестируемость&lt;/li&gt;&lt;li&gt;Поддерживаемость&lt;/li&gt;&lt;/ul&gt;Поэтому всегда учитывайте, что &quot;качество&quot; - это многовекторная штука.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Checking|Testing / QC / QA&lt;/b&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2016/04/checking-in-testing.html&quot;&gt;Checking in Testing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2017/05/qa-in-job-title.html&quot;&gt;Накуа тебе QA в написании тайтла?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2015/12/switch-between-roles.html&quot;&gt;Где грань между программистом и тестировщиком?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;В каждой еще и статье набор ссылок напочитать.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Что такое тестирование:&lt;/b&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Тестирование - сервис по предоставлению информации о качестве продукта&lt;/li&gt;&lt;li&gt;Тестирование - поиск ошибок&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Причины ошибок&lt;/b&gt;:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;сделали, но ошибка в коде (или настройках среды и тд)&lt;/li&gt;&lt;li&gt;сделали, но не то, что ожидалось &lt;/li&gt;&lt;li&gt;даже не делали, так как этот сценарий не предусмотрели&lt;/li&gt;&lt;li&gt;ошибка во “внешнем” коде (open-source)&lt;/li&gt;&lt;/ul&gt;Полезно разбирать причину возникновения, позволяет не наступать на них снова.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Как предотвратить и не повторить?&lt;/b&gt;&lt;br /&gt;Вопросы: &lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;как мы проверим, что мы это сделали&lt;/li&gt;&lt;li&gt;какие сценарии надо проверить и в каких условиях&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Верификация&lt;/b&gt; (сделали то, что планировали|хотели) vs &lt;b&gt;Валидация&lt;/b&gt; (сделали то, что нужно | это решает проблему)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Пирамиды тестирования&lt;/b&gt;:&lt;br /&gt;&lt;a href=&quot;https://www.maxshulga.ru/2012/04/blog-post_21.html&quot;&gt;тут&lt;/a&gt;&amp;nbsp;про пирамидки и вообще вопрос автоматизации&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UI-тесты&lt;/b&gt;:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Тесты основной функциональности “через UI” (такое нужно минимизировать)&lt;/li&gt;&lt;li&gt;Тесты бизнес-логики в UI&lt;/li&gt;&lt;li&gt;Визуальное тестирование&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Техники тест-дизайна&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://www.protesting.ru/testing/testdesign_technics.html&quot;&gt;http://www.protesting.ru/testing/testdesign_technics.html&lt;/a&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Эквивалентное Разделение&lt;/li&gt;&lt;li&gt;Анализ Граничных Значений&lt;/li&gt;&lt;li&gt;Причина / Следствие&lt;/li&gt;&lt;li&gt;Предугадывание ошибки&lt;/li&gt;&lt;li&gt;Исчерпывающее тестирование&lt;/li&gt;&lt;li&gt;PairWise&lt;/li&gt;&lt;/ul&gt;&lt;a href=&quot;https://testitquickly.com/2017/10/23/simplitudinea-complexitatii/&quot;&gt;Простота и понятность тест-дизайна&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Тест-стратегия&lt;/b&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://www.testerschoice.pro/single-post/2019/07/06/Testing-strategy-in-system-level&quot;&gt;Testing strategy in system level&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.satisfice.com/download/heuristic-test-strategy-model&quot;&gt;Heuristic Test Strategy Model&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Тесты в проде&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;https://www.maxshulga.ru/2018/03/testing-in-production.html&quot;&gt;Мое мнение по тестам в проде&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Следуюшие заметки:&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://www.maxshulga.ru/2022/10/notes-testing-books.html&quot; target=&quot;_blank&quot;&gt;Книги по тестированию для разработчиков&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://www.maxshulga.ru/2023/04/notes-green-test-results.html&quot; target=&quot;_blank&quot;&gt;Что делать, если ваши тесты уже &quot;зеленые&quot;?&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/3929489580488328476/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2022/08/notes-testing.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/3929489580488328476'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/3929489580488328476'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2022/08/notes-testing.html' title='Заметки на коленке: про тестирование (базисы для разрабов)'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcFiWatm5VGjj1_sV7rTFrVGf7dHExJsAbEBDVfejpJftATs3XUxPOz-FVC38X8rXQjMosHGCsRdnMO5sP9Gc0apUfuMZFIQxM6IFEXn-U54NZN7kQ7wpyTZ5QF3hNENYqq_WxZyMQW7P86zQ0YeTWEyEFW9ip3H95funcvMhppiDJ2wEvPi9UdapRFw/s72-c/whyDevDry.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-8208053680078601677</id><published>2022-04-28T11:24:00.009+03:00</published><updated>2022-07-19T11:24:54.410+03:00</updated><title type='text'>Зайти в IT, подумать и не выйти</title><content type='html'>&lt;p&gt;&lt;strike&gt;Часто мимо пролетают вопросы &quot;как начать с IT с нулевого уровня&quot;, &quot;как понять, что IT мое&quot;.&lt;br /&gt;Отвечая, собрал набор ссылок.&lt;/strike&gt;&lt;/p&gt;&lt;p&gt;Кого я обманываю, просто собирал, потому что люблю собирать полезные штуки. Но некоторым действительно уже помогло :)&lt;/p&gt;&lt;p&gt;Ссылки с упором на backend-разработку с нуля. По тестированию ищите &lt;a href=&quot;https://www.maxshulga.ru/2016/06/useful-testers-resources.html&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Начало&lt;/b&gt;&lt;/p&gt;&lt;a href=&quot;https://ru.hexlet.io/courses/introduction_to_programming&quot; target=&quot;_blank&quot;&gt;Введение в программирование&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://ru.hexlet.io/courses/prog-life&quot; target=&quot;_blank&quot;&gt;Жизнь программиста&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://ru.hexlet.io/courses/intro_to_git&quot; target=&quot;_blank&quot;&gt;Введение в Git&lt;/a&gt;&lt;div&gt;&lt;a href=&quot;https://ru.hexlet.io/courses/cli-basics&quot; target=&quot;_blank&quot;&gt;Основы командной строки&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://ru.hexlet.io/blog/posts/kak-reshit-zadachu-esli-neponyatno-s-chego-voobsche-nachat-sovety-ot-heksleta&quot; target=&quot;_blank&quot;&gt;Как решать задачу, если непонятно с чего начать&lt;/a&gt; (Хекслет)&lt;/p&gt;&lt;p&gt;&lt;b&gt;Планы развития&lt;/b&gt;&lt;/p&gt;&lt;a href=&quot;https://roadmap.sh/roadmaps&quot; target=&quot;_blank&quot;&gt;Developer Roadmaps (тут не только бек, там много)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://github.com/bzick/oh-my-backend&quot; target=&quot;_blank&quot;&gt;Oh My BackEnd&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;------&lt;br /&gt;&lt;p&gt;&lt;b&gt;Основы Python &lt;/b&gt;(там еще и Java есть)&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://ru.hexlet.io/courses/python-basics&quot; target=&quot;_blank&quot;&gt;Python: Основы программирования&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;------&lt;/p&gt;&lt;p&gt;Неплохой ресурс про IT, но уже на английском&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://www.freecodecamp.org/learn/&quot; target=&quot;_blank&quot;&gt;freeCodeCamp&lt;/a&gt; (&lt;a href=&quot;https://www.youtube.com/freecodecamp&quot; target=&quot;_blank&quot;&gt;https://www.youtube.com/freecodecamp&lt;/a&gt;)&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;------&lt;/p&gt;&lt;p&gt;&lt;b&gt;Алгоритмы и структуры данных&lt;/b&gt; (английский)&lt;/p&gt;&lt;a href=&quot;https://www.coursera.org/specializations/algorithms&quot; target=&quot;_blank&quot;&gt;Algorithms Specialization&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://www.coursera.org/specializations/data-structures-algorithms&quot; target=&quot;_blank&quot;&gt;Data Structures and Algorithms Specialization&lt;/a&gt;&lt;p&gt;&lt;b&gt;Аналоги на русском&lt;/b&gt;&lt;/p&gt;&lt;a href=&quot;https://stepik.org/course/217/promo&quot; target=&quot;_blank&quot;&gt;Алгоритмы: теория и практика. Методы&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://stepik.org/course/1547/promo&quot; target=&quot;_blank&quot;&gt;Алгоритмы: теория и практика. Структуры данных&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://www.youtube.com/c/ViktorKarpovCodes/videos&quot; target=&quot;_blank&quot;&gt;Разбор задач LeetCode и вопросов по алгоритмам&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;------&lt;br /&gt;&lt;p&gt;&lt;b&gt;Про ОС&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://stepik.org/course/1780/promo&quot; target=&quot;_blank&quot;&gt;Операционные системы (Stepik)&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;------&lt;/p&gt;&lt;p&gt;&lt;b&gt;Про резюме, собесы и тп&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://twitter.com/maxbeard12/status/1514976337714462723&quot; target=&quot;_blank&quot;&gt;Стрим с рекомендациями&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/8208053680078601677/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2022/04/it-for-beginners.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/8208053680078601677'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/8208053680078601677'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2022/04/it-for-beginners.html' title='Зайти в IT, подумать и не выйти'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-7278540394631358343</id><published>2021-11-17T13:41:00.005+03:00</published><updated>2023-10-24T09:15:14.123+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="доклады"/><category scheme="http://www.blogger.com/atom/ns#" term="конференции"/><title type='text'>Рекомендации начинающему докладчику</title><content type='html'>&lt;p&gt;Последнее время статьи в блоге появляются только благодаря тому, что хочется как-то изложить письменно то, что приходится часто повторять устно.&lt;/p&gt;&lt;p&gt;Сегодня подошла очередь к рекомендациям начинающим докладчикам. Будет немного про сам контент и про оформление презентации. Ничего уникального, просто те давно известные моменты, которые кажутся мне ценными и полезными.&lt;/p&gt;&lt;p&gt;Так получилось, что уже как 4 года я приобщился к такому процессу, как ревью докладов. Началось это благодаря моему участию в работе программного комитета конференции &lt;a href=&quot;https://heisenbug.ru/&quot; target=&quot;_blank&quot;&gt;Heisenbug&lt;/a&gt;, а потом продолжилось уже на обычной работе, когда мы у себя в Semrush &lt;a href=&quot;https://vc.ru/semrush/267448-kak-my-provodim-it-mitapy-dlya-svoih-i-chem-eto-pomogaet-kompanii&quot; target=&quot;_blank&quot;&gt;замутили техническое демо&lt;/a&gt;. Поэтому приходится частенько повторять одни и те же мысли, а я переживаю, что что-то полезное забываю сказать. Пусть будет тут, заодно может кому еще пригодится.&lt;/p&gt;&lt;p&gt;Итак, погнали.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Про что рассказывать и зачем оно вообще нужно?&lt;/h3&gt;&lt;p&gt;В этом месте воспользуюсь помощью зала и просто отправлю вас к хорошим материалам других.&lt;/p&gt;&lt;p&gt;Рома Поборчий &quot;Как найти в своей работе то, о чём не стыдно рассказать&quot; (&lt;a href=&quot;https://youtu.be/3FDp_rJg6f0&quot; target=&quot;_blank&quot;&gt;ссылка на видео&lt;/a&gt;, &lt;a href=&quot;https://techleadconf.ru/2021/abstracts/7541&quot; target=&quot;_blank&quot;&gt;ссылка на слайды&lt;/a&gt;).&lt;br /&gt;Если коротко и в одно предложение: смотрите на то, какие задачи делаете, какими инструментами, в какие процессы все это завернуто и как можно развиваться самому или развивать других.&lt;/p&gt;&lt;p&gt;Рома Неволин &quot;&lt;a href=&quot;https://habr.com/ru/company/skbkontur/blog/577576/&quot; target=&quot;_blank&quot;&gt;Как и зачем делать доклады?&lt;/a&gt;&quot;. Откровенно говоря, эта статья практически аналог того, что вы читаете здесь. Поэтому можно на ней и остановиться :)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Главное, помните, гораздо интереснее слушать не про ваши успехи, а про ваши ошибки: доверия больше :)&amp;nbsp;&lt;/b&gt;&amp;nbsp;От успехов других очень легко отмахнуться: &quot;у нас так нельзя будет сделать&quot;, &quot;у нас другие процессы, продукты, стек, команды, начальники&quot;. А ошибки всегда находят отклик: &quot;блин, у нас так же было&quot; или &quot;хахаха, как же можно было в это наступить&quot;, вовлекает :)&lt;/p&gt;&lt;p&gt;Кому интересно дальше, поехали дальше.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Кажется вы нащупали возможную тему, что дальше?&lt;/h3&gt;&lt;div&gt;Теперь ее нужно &quot;повертеть&quot; и ответить себе на следующие вопросы:&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;кого вы видите слушателями своего доклада, какими компетенциями они должны обладать?&lt;/li&gt;&lt;li&gt;для чего им ваш рассказ? Или для чего вам (это тоже важно)?&lt;/li&gt;&lt;li&gt;как поймете, что доклад получился?&lt;/li&gt;&lt;li&gt;что могут/должны будут сделать слушатели после доклада, когда вернутся к рабочим задачам?&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;Задача этого упражнения - помочь вам с контентом, структурой и выводами.&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Запускаем в работу&lt;/h3&gt;&lt;div&gt;Я видел разные форматы подготовки и тут кажется, каждый делает так, как ему удобно. Для тех, кто делает первый доклад, я бы посоветовал следующие шаги:&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;подготовить скелет доклада (про что/зачем, основная часть/мясо тезисно, выводы).&lt;/li&gt;&lt;ul&gt;&lt;li&gt;зачем - тут про то, о чем будет доклад, фактически заготовка выводов, как ни странно :)&amp;nbsp;&lt;/li&gt;&lt;li&gt;план рассказа&lt;/li&gt;&lt;li&gt;&quot;мясо&quot; - содержательная часть, которая приведет нас к выводам&lt;/li&gt;&lt;li&gt;выводы - то, про что новички чаще всего забывают. Тут должна быть квинтэссенция доклада, могут быть рекомендации слушателям, ваши дальнейшие планы по этой теме (если они есть) и тп&lt;/li&gt;&lt;li&gt;все именно тезисно, без попыток оформления, расписывания пунктов и картинок&lt;/li&gt;&lt;li&gt;но картинки могут заменить собой часть тезисов (какие-то графики, диаграммы, скриншоты исходников и тп)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;если есть возможность, обсудите результаты с кем-то. Это может быть коллега из вашей команды, ПК конференции, специально обученный человек у вас в компании. &lt;a href=&quot;https://twitter.com/maxbeard12&quot; target=&quot;_blank&quot;&gt;Да хоть я&lt;/a&gt;&amp;nbsp;;) (мы иногда ищем докладчиков снаружи на наши митапы)&amp;nbsp;Основная цель - получить первую обратную связь и оценить интерес к теме доклада. Шаг необязательный, но полезный - тему можно довернуть в более интересную сторону на раннем этапе.&lt;/li&gt;&lt;li&gt;готовим презентацию, насыщая ее контентом (рекомендации по презам будут ниже).&lt;/li&gt;&lt;li&gt;прогоны, прогоны, прогоны (самостоятельно или с напарником). Важно наговорить текст, речь не про запомнить наизусть, а про &quot;установить связи между слайдом и той информацией, которую хочется озвучить&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Рекомендации по слайдам&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Текст на слайдах должен максимально лаконично отражать то, что вы хотите сказать голосом. Если текста много и он занимает весь слайд - плохо (слушатели превратятся в читателей, а вас перестанут слушать). Понятно, что речь именно про &quot;много читать&quot;, а не про &quot;одно слово большим шрифтом на весь слайд&quot;.&lt;/li&gt;&lt;li&gt;Иногда текст лучше заменить картинкой со схемой, они лучше воспринимаются с озвучкой.&lt;/li&gt;&lt;li&gt;Про картинки - если на слайде только она, то самым правильным будет максимально занять весь слайд этой картинкой, без полей, хедеров и футеров. Следите за качеством картинки (иногда лучше словами без картинок рассказать, чем на &quot;замылки&quot; смотреть).&lt;/li&gt;&lt;li&gt;Если у вас есть слайд с пунктами, например, последовательность шагов, которые нужно предпринять или перечисление плюсов/минусов, то воспользуйтесь или последовательным показом этих пунктов по ходу рассказа (анимация), или сделайте отдельные слайды для каждого рассказа по каждому из подпунктов. Почему? Потому что, снова, много текста - слушатели превращаются в читателей.&lt;/li&gt;&lt;li&gt;Тут можно посмотреть &lt;a href=&quot;https://www.slideshare.net/LookAtMySlides/codeware&quot; target=&quot;_blank&quot;&gt;рекомендации по показу исходников на слайдах&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Хорошо помогает и в структурировании, и в ориентации слушателей по ходу доклада привязка слайда к плану: например, в заголовке или в расставленных по презентации слайдах, возвращающих нас к плану и тому, где мы сейчас находимся. Хороший пример в&amp;nbsp;&lt;a href=&quot;https://2018.heisenbug-moscow.ru/2018/msk/talks/2l8hdnhhzs0sgkc8q4k4k4/&quot; target=&quot;_blank&quot;&gt;презентации Вадим Пуштаева&lt;/a&gt;, правда сложно реализуемый без помощников.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Если по ходу рассказа вам хочется на что-то показать указкой, например, обратить внимание на код в исходниках, акцентировать какое-то место на схеме, воспользуйтесь &quot;хардкод-ом&quot;: выделите нужное место или размером/цветом шрифта, или просто цветным прямоугольником. Это поможет слушателям сориентироваться на том, о чем вы сейчас рассказываете, а вам - не отвлекаться на показ.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Кажется пока все. Как обычно пункты неокончательные, буду стараться прикладывать хорошие примеры. Но потом...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://www.maxshulga.ru/2012/02/prepare-to-presentation.html&quot;&gt;Тут&lt;/a&gt; есть еще немного ссылок и про подготовку, и про само выступление.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/7278540394631358343/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2021/11/notes-for-novice-speakers.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/7278540394631358343'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/7278540394631358343'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2021/11/notes-for-novice-speakers.html' title='Рекомендации начинающему докладчику'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-4750989422937248596</id><published>2021-05-28T14:59:00.012+03:00</published><updated>2022-12-23T12:57:59.414+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="собеседования"/><title type='text'>Нетехническое собеседование - зачем, полезные вопросы</title><content type='html'>&lt;p&gt;Что может быть целью такого собеседования (или такой части в общем собесе): знакомство с командой, оценка того, насколько человек подойдет в культуру команды и ее процессы, как развивается, что его драйвит, что угнетает.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Но подход можно использовать и для затравки на технической части собеседования, когда отмечают себе вопросы для дальнейшей беседы.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1IOAc2fDDX6LRcR0d_TgXAIIPtOOOk6tgOj0-MtCv85Pgg77gZJzl9vuAY6HkjT1o20S2y3v5z4QW6Cn88pWMr_idwsKRC2v-DVkXS_q0nOIOf8Zb8GzB9BlZzLrytijCFd3FNHJQqIcf/s660/ikea-interview.jpeg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;446&quot; data-original-width=&quot;660&quot; height=&quot;270&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1IOAc2fDDX6LRcR0d_TgXAIIPtOOOk6tgOj0-MtCv85Pgg77gZJzl9vuAY6HkjT1o20S2y3v5z4QW6Cn88pWMr_idwsKRC2v-DVkXS_q0nOIOf8Zb8GzB9BlZzLrytijCFd3FNHJQqIcf/w400-h270/ikea-interview.jpeg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Простой алгоритм:&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;просим кандидата рассказать про текущие задачи/проекты/команду&lt;/li&gt;&lt;li&gt;внимательно слушаем, записываем полезные для дальнейших вопросов штуки&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Что может быть полезными штуками (примеры):&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;использование им “терминов” (&quot;отвечаю за качество&quot;, &quot;я - devops инженер&quot;, &quot;настраиваю CI/CD&quot; и тп)&lt;/li&gt;&lt;li&gt;части рабочего процесса (&quot;описываю все в документации&quot;, &quot;менторю новичков&quot;, &quot;помогаю команде&quot;)&lt;/li&gt;&lt;li&gt;рассказ о элементах взаимодействия, поставки задач (&quot;сам себе пишу баги, чтобы не забыть&quot;, &quot;задачи на описывание кейсов использования&quot;)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Дальше по этим записям задаем вопрос начиная с &quot;а вот ты упоминал про...&quot;, &quot;как ты это делал&lt;i&gt; (для процессов)&lt;/i&gt;&quot; или &quot;что такое..., как ты это понимаешь?&quot; &lt;i&gt;(для терминов)&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Не должно быть &quot;закрытых&quot; вопросов, на которые можно ответить &quot;да/нет/социально ожидаемо&quot;. Если такие задаются, то только для того, чтобы попросить раскрыть детали дальше.&lt;/p&gt;&lt;p&gt;Пример:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Как менторишь? (лучше через пример в виде &quot;Расскажи, как ты помог коллеге вырасти профессионально.&quot;)&lt;/li&gt;&lt;li&gt;Как пишешь документацию, если времени не хватает&lt;/li&gt;&lt;li&gt;Как помогаешь команде&lt;/li&gt;&lt;li&gt;Что такое DevOps для тебя?&lt;/li&gt;&lt;li&gt;и тп&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Этот способ еще хорош и тем, что во-первых все вопросы открытые, а во-вторых показывают, что вы внимательно слушаете его рассказ&lt;/p&gt;&lt;p&gt;Если сам человек плохо про себя рассказывает (такое тоже часто происходит), то вопросы выше все равно хорошо подходят &quot;менторили ли коллег? как?&quot;&lt;/p&gt;&lt;p&gt;Еще хорошо получаются вопросы о важности человека в команде/bus-factor:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Не боишься ли ты уходить в отпуск? Часто ли тебя дергают там?&lt;/li&gt;&lt;li&gt;Как принимаются решения в команде, какая твоя роль? Какое из последних решений ты предложил? Все ли были согласны с решением? Какие аргументы ты приводил для обоснования решения?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Попробуйте задать вопрос на основе ваших текущих задач.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Примеры для девопса:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;было ли у вас разное окружение для тестирования? Как вы его делали? Как используется?&lt;/li&gt;&lt;li&gt;Мониторинги, алерт - как?&lt;/li&gt;&lt;li&gt;Если сам не делал, то “Как бы делали, с чего бы начали”&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Если есть какие-то моменты, которые вам очень важны для дальнейшей работы (тут лучше самим определиться какие), то на это обязательно должны быть вопросы.&amp;nbsp;&lt;/p&gt;&lt;p&gt;По развитию:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;как ты понимаешь, что вырос профессионально?&lt;/li&gt;&lt;li&gt;что из того последнего, что узнал нового, удалось применить?&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Есть еще такой список вопросов от одной команд, с которыми работаю:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Как привык работать? Как хочется работать? — процессы/команда/коммуникации&lt;/li&gt;&lt;li&gt;Как приходят задачи? А как хочется и почему?&amp;nbsp;&lt;/li&gt;&lt;li&gt;Что ты делаешь когда не можешь решить задачу?&lt;/li&gt;&lt;li&gt;Как решаешь конфликты или спорные моменты в команде? &lt;i&gt;Можно зайти через код-ревью или принятие решений, если кандидат говорит, что нет конфликтов.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Как ты видишь работу в команде? С какими людьми тяжело работать?&lt;/li&gt;&lt;li&gt;Что нравится/хочется/интересно делать? Почему?&lt;/li&gt;&lt;li&gt;Что точно не хочется делать/видеть? Что было бы стоп фактором для выхода на работу?&lt;/li&gt;&lt;li&gt;Есть ли планы по развитию? Как ты изучаешь новое? Что последнее изучил? Как это применил?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;b&gt;Маленькая хитрость: &lt;/b&gt;надо научиться встраивать интересующие вопросы в канву диалога, чтобы не было ощущения видеоанкеты, особенно на онлайн-интервью.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Еще &lt;a href=&quot;https://www.maxshulga.ru/search/label/%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&quot; target=&quot;_blank&quot;&gt;полезные ссылки&lt;/a&gt; на тему интервью.&lt;br /&gt;Рекомендую также &quot;&lt;a href=&quot;https://www.litres.ru/konstantin-evgenevich-b/brat-ili-ne-brat-ili-kak-sobesedovat-razrabotchika/&quot; target=&quot;_blank&quot;&gt;Брать или не брать? или Как собеседовать разработчика&lt;/a&gt;&quot;&lt;br /&gt;Неплохая &lt;a href=&quot;https://sandark7.github.io/404Fest2021/&quot; target=&quot;_blank&quot;&gt;презентация&lt;/a&gt; про soft-skills и то, какими вопросами их оценить и &lt;a href=&quot;https://youtu.be/M_KyAqPamME&quot; target=&quot;_blank&quot;&gt;запись этого доклада&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/4750989422937248596/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2021/05/non-technical-interview.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/4750989422937248596'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/4750989422937248596'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2021/05/non-technical-interview.html' title='Нетехническое собеседование - зачем, полезные вопросы'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1IOAc2fDDX6LRcR0d_TgXAIIPtOOOk6tgOj0-MtCv85Pgg77gZJzl9vuAY6HkjT1o20S2y3v5z4QW6Cn88pWMr_idwsKRC2v-DVkXS_q0nOIOf8Zb8GzB9BlZzLrytijCFd3FNHJQqIcf/s72-w400-h270-c/ikea-interview.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-3418202911110746480</id><published>2021-04-29T17:48:00.004+03:00</published><updated>2022-11-16T18:59:48.308+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="flaky"/><category scheme="http://www.blogger.com/atom/ns#" term="автоматизация"/><category scheme="http://www.blogger.com/atom/ns#" term="полезные ссылки"/><category scheme="http://www.blogger.com/atom/ns#" term="тестирование"/><title type='text'>Flaky тесты (они же моргающие или &quot;случайно успешные&quot;)</title><content type='html'>&lt;p&gt;Недавно поучаствовал в Heisenbug Piter 2021 в роли эксперта на &lt;a href=&quot;https://heisenbug-piter.ru/2021/spb/talks/4wcc3dephlxuzc87wgwkk7/&quot; target=&quot;_blank&quot;&gt;очередной серии доклада&lt;/a&gt; &lt;a href=&quot;https://twitter.com/asolntsev&quot; target=&quot;_blank&quot;&gt;Андрея Солнцева &lt;/a&gt;про flaky тесты.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTlJaw8ahU8R-tyHgKYoJLVxM9cvBzfL5f9zfRkjqla2Y1seBpw_IQSbrEay_8qkusHfnCi3kIdzyEossKdFFCQfhT4SB33NEUAvzIir4MctN6ccMieHTnBn2ErNT8yDlXfG7E9fYKG_Iq/s720/green-lamp.jpeg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;600&quot; data-original-width=&quot;720&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTlJaw8ahU8R-tyHgKYoJLVxM9cvBzfL5f9zfRkjqla2Y1seBpw_IQSbrEay_8qkusHfnCi3kIdzyEossKdFFCQfhT4SB33NEUAvzIir4MctN6ccMieHTnBn2ErNT8yDlXfG7E9fYKG_Iq/s320/green-lamp.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Люблю эту тему. Кажется, это своего рода &quot;дебаг&quot;, только для тестов. Иногда расследование похлеще приключений Шерлока.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Тема flaky тестов древняя, как сама отрасль. Первое найденное упоминание термина в традиционных интернетах (типа блогов, твиттеров) в &lt;a href=&quot;https://testing.googleblog.com/2008/04/tott-avoiding-flakey-tests.html&quot; target=&quot;_blank&quot;&gt;2008 году в блоге гугла&lt;/a&gt;. Мне больше нравится называть их “моргающие” или, что четче отражает проблему, случайно успешные.&lt;/p&gt;&lt;p&gt;Давайте еще раз зафиксируем то, что поможет меньше попадать в историю, когда тесты у нас &quot;случайно успешные&quot; и что делать, если уже &quot;вляпались&quot;.&lt;/p&gt;&lt;p&gt;Итак, что делать, чтобы &quot;моргающих&quot; тестов было меньше:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;тесты должны быть написаны в правильном слое&lt;/b&gt; &quot;&lt;a href=&quot;https://www.maxshulga.ru/2012/04/blog-post_21.html&quot; target=&quot;_blank&quot;&gt;той самой пирамиды&lt;/a&gt;&quot;: чем ближе слой к модульным тестам (а лучше именно в них), тем меньше шансов на моргания, потому что зависимостей меньше.&lt;/li&gt;&lt;li&gt;в ту же тему: чем меньше UI-тестов, тем лучше. Открывая в очередной раз файл с UI-тестами, помни, что &lt;b&gt;тестировать надо &quot;UI&quot;, а не &quot;через UI&quot;&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;основные причины &quot;моргания&quot;&lt;/b&gt; это асинхронные операции (async wait), многопоточность (concurrency), порядок тестов, утечка ресурсов, проблемы с зависимостями (сеть, время). Поэтому, чем меньше этого в тестах, тем они стабильнее.&lt;/li&gt;&lt;li&gt;основной объем бизнес-логики проверяем максимально близко к месту логики (см.пункт про слои) и с максимальным количеством &lt;a href=&quot;https://www.maxshulga.ru/2012/03/mock-vs-stub.html&quot; target=&quot;_blank&quot;&gt;замокированных зависимостей&lt;/a&gt;&amp;nbsp;(но не переусердствуйте, а то &lt;a href=&quot;https://www.maxshulga.ru/2013/06/mockoveruse.html&quot; target=&quot;_blank&quot;&gt;будут другие проблемы&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;К сожалению, полностью избавиться от flaky тестов сложно (окружение, сложные сценарии, много зависимостей), а местами просто дорого (по времени и ресурсам).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Что делать, если они появились?&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;разбирайтесь с проблемой падения максимально быстро. Не надо держать в наборе запускаемых тестов тот, доверия к результатам которого нет.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;если сейчас нет возможности разобраться с ошибкой, &lt;a href=&quot;https://martinfowler.com/articles/nonDeterminism.html&quot; target=&quot;_blank&quot;&gt;переместите этот тест в &quot;карантин&quot;&lt;/a&gt;, чтобы позже с ним разобраться. &lt;i&gt;Не надо держать в наборе запускаемых тестов тот, доверия к результатам которого нет - 2.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;если вы тестировщик, смотрите код тестируемого приложения. Часто проблемы с &quot;морганиям&quot; проще понять и поправить именно там. По &lt;a href=&quot;http://mir.cs.illinois.edu/lamyaa/publications/fse14.pdf&quot; target=&quot;_blank&quot;&gt;статистике&lt;/a&gt; (2014 год) до 25% исправлений моргающих тестов делается в продакшен коде приложения.&lt;/li&gt;&lt;li&gt;привлекайте разработчиков, если сами не можете разобраться в коде.&lt;/li&gt;&lt;li&gt;активно используйте трейсинг (логирование) в тестах и продакшен-коде для того, чтобы воспользоваться ими при расследовании. &lt;i&gt;&lt;b&gt;Совет&lt;/b&gt;: здорово, если у вас есть возможность &quot;объединить&quot; логи тестируемой системы с логами тестов. Мы активно использовали запись меток о начале/завершении теста в продакшен логах приложения. Очень помогало.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;для UI-тестов (&lt;i&gt;помните про &quot;через UI&quot;?&lt;/i&gt;) имейте возможность включить запись видео или скриншоты в момент проверки&lt;/li&gt;&lt;li&gt;попробуйте переместить моргающую проверку на другой слой пирамидки&lt;/li&gt;&lt;li&gt;если тест не поддается и продолжает моргать, подумайте, может стоит его удалить? Все равно смысла от него немного, особенно если думать про него не &quot;случайно упавший&quot;, а &quot;&lt;a href=&quot;https://www.thoughtworks.com/insights/blog/no-more-flaky-tests-go-team&quot; target=&quot;_blank&quot;&gt;случайно успешный&lt;/a&gt;&quot;. Ну и в целом &quot;&lt;a href=&quot;https://twitter.com/alanpage/status/527152298238439424&quot; target=&quot;_blank&quot;&gt;Flaky tests are worse than _no_ tests&lt;/a&gt;&quot;.&lt;/li&gt;&lt;li&gt;иногда &lt;a href=&quot;https://twitter.com/maxbeard12/status/1377921544287092741&quot; target=&quot;_blank&quot;&gt;советуют перезапускать упавшие &lt;/a&gt;тесты в надежде на удачу. В целом рабочий способ, но не надо им злоупотреблять. Он хорошо помогает с подтверждением проблемы и поиском test war. Но обнаруженные проблемы, например, с медленной инфраструктурой/сетью, особенностями фреймворков важно всегда фиксировать и планировать время на исправление.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Полезные ссылки:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://goblingame.blogspot.com/2013/02/blog-post.html&quot; target=&quot;_blank&quot;&gt;Про перезапуск тестов&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2016/12/gtac-2016-how-flaky-tests-in-continuous.html&quot; target=&quot;_blank&quot;&gt;Про моргающие тесты в Gmail&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://mir.cs.illinois.edu/lamyaa/publications/fse14.pdf&quot; target=&quot;_blank&quot;&gt;An Empirical Analysis of Flaky Tests&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.thoughtworks.com/insights/blog/no-more-flaky-tests-go-team&quot; target=&quot;_blank&quot;&gt;No more flaky tests&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://martinfowler.com/articles/nonDeterminism.html&quot; target=&quot;_blank&quot;&gt;Eradicating Non-Determinism in Tests&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://artkoshelev.github.io/posts/flaky-tests&quot; target=&quot;_blank&quot;&gt;Один из вариантов работающего подхода&lt;/a&gt; по исправлению &quot;моргающих&quot; тестов&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://engineering.fb.com/2020/12/10/developer-tools/probabilistic-flakiness/&quot; target=&quot;_blank&quot;&gt;How do you test your tests? (probabilistic flakiness score)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/3418202911110746480/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2021/04/flaky-tests-or-random-success.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/3418202911110746480'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/3418202911110746480'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2021/04/flaky-tests-or-random-success.html' title='Flaky тесты (они же моргающие или &quot;случайно успешные&quot;)'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTlJaw8ahU8R-tyHgKYoJLVxM9cvBzfL5f9zfRkjqla2Y1seBpw_IQSbrEay_8qkusHfnCi3kIdzyEossKdFFCQfhT4SB33NEUAvzIir4MctN6ccMieHTnBn2ErNT8yDlXfG7E9fYKG_Iq/s72-c/green-lamp.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-6154770188731439429</id><published>2021-02-22T15:02:00.005+03:00</published><updated>2024-03-16T20:59:19.699+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="management"/><category scheme="http://www.blogger.com/atom/ns#" term="Netflix"/><category scheme="http://www.blogger.com/atom/ns#" term="литература"/><category scheme="http://www.blogger.com/atom/ns#" term="работа с командой"/><title type='text'>Через призму менеджера про &quot;Никаких правил. Уникальная культура Netflix.&quot;</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div&gt;Последовал &lt;a href=&quot;https://twitter.com/eao197/status/1362813354813882373&quot; target=&quot;_blank&quot;&gt;совету&lt;/a&gt;. Пусть это будет очередным отзывом, но точно не рассказом про концепцию&quot;рок-звезд&quot;. Я нашел в &lt;a href=&quot;https://www.amazon.com/No-Rules-Netflix-Culture-Reinvention/dp/1984877860&quot; target=&quot;_blank&quot;&gt;книге&lt;/a&gt; ответы на те вопросы-сомнения, что вертелись в голове практически с того момента, как я стал менеджером.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Или может быть даже не ответы, а подкрепление верности своих действий, своего поведения или просто подтверждения факта, что &quot;я не один такой&quot;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;После прочтения &lt;a href=&quot;https://habr.com/ru/company/ruvds/blog/541994/&quot; target=&quot;_blank&quot;&gt;статьи с Хабра&lt;/a&gt; первой мыслью, которая меня посетила была &quot;а ведь вся эта история держится только на хороших менеджерах (лидерах?)&quot;.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Книга добавила ясности и деталей в эти размышления и позволила порефлексировать.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt8H7L0NaU-s2NK1x9Ua9NH3K7R0zD6ZLOpm7_HWnYv9rgr1NKlSoC7LSLBEK1pt4jgsoeN5uhd2eVwsaRtKntDOvAh8ORwMFD6_WN3z_ldB6aM9CoghRwNFPvQznGH9j-3t3ATEzPzGTJ/s1220/%25D1%2587%25D0%25B5%25D1%2581%25D1%2582%25D0%25BD%25D0%25BE%25D1%2581%25D1%2582%25D1%258C+-+%25D0%25B2%25D1%2581%25D0%25B5%25D0%25B3%25D0%25B4%25D0%25B0.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;704&quot; data-original-width=&quot;1220&quot; height=&quot;231&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt8H7L0NaU-s2NK1x9Ua9NH3K7R0zD6ZLOpm7_HWnYv9rgr1NKlSoC7LSLBEK1pt4jgsoeN5uhd2eVwsaRtKntDOvAh8ORwMFD6_WN3z_ldB6aM9CoghRwNFPvQznGH9j-3t3ATEzPzGTJ/w400-h231/%25D1%2587%25D0%25B5%25D1%2581%25D1%2582%25D0%25BD%25D0%25BE%25D1%2581%25D1%2582%25D1%258C+-+%25D0%25B2%25D1%2581%25D0%25B5%25D0%25B3%25D0%25B4%25D0%25B0.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Далеко не каждый менеджер может быть честным, откровенным и открытым. Это сложно. А нужно еще и своих сотрудников учить быть такими. И, что немаловажно, эти все понятия и принципы тесно связаны и хорошо работают именно в комплексе и в обоюдном применении.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;В итоге, если менеджер &lt;strike&gt;говно&lt;/strike&gt; не справляется, то с его сотрудниками будет ровно то, про что писали в комментах к Хабро-статье: выгорание, давление от дамоклова меча увольнения, &quot;бешеные галеры&quot; и тдтп.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;В своей работе всегда старался быть максимально честным. Всегда думал, что это, эммм, мой недостаток, как менеджера. В книге есть тесты на открытость. Все мои ответы совпали с мнением основателя Netflix. Значит не все так плохо. Плохо то, что сложно быть честным и открытым там, где остальные к этому не готовы. Не готовы слушать/слышать правду, могут одним говорить то, что не готовы высказать всем. Приходится постоянно держать в голове эти моменты и фильтровать свои посылы.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Немного интересных фактов из книги и то, как это &quot;стрельнуло&quot; у меня.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Про пересмотр ЗП&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;i&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;«прибавочные» фонды и зарплатные вилки оправдывали себя в те времена, когда текучка кадров была очень низкой, а индивидуальная рыночная стоимость сотрудника крайне редко взлетала до потолка всего за несколько месяцев. Однако в современных условиях это, очевидно, уже неактуально — если учесть, как стремительно меняется экономическая ситуация и с какой легкостью профессионалы в наши дни меняют работу.&lt;/span&gt;&lt;/i&gt;&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;i&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;В 2018 году средняя прибавка зарплаты в США составила около 3% (для особо ценных сотрудников — 5%). Те же, кто решил сменить место работы, в среднем стали получать на 10–20% больше. Верность работодателю плохо сказывается на состоянии финансов.&lt;/span&gt;&lt;/i&gt;&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Бывшие, и, думаю, некоторые нынешние коллеги, могут подтвердить, что всегда спокойно относился к рассказам про походы на собесы в другие компании. Некоторых даже уговаривал сходить на собесы, потому что так проще себя оценить. А иногда это еще и единственный способ повысить себе зп, потому что мало где к зп относятся так, как в Netflix.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&quot;&lt;span style=&quot;color: #0b5394;&quot;&gt;любой разговор с потенциальным членом команды призван донести до него два ключевых момента: работодатель хорошо осведомлен, сколько этому сотруднику могут заплатить в других компаниях, и готов предложить больше&lt;/span&gt;&quot;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;Жаль, что далеко не всегда в наших реалиях, ты можешь решить вопрос с пересмотром только потому, что считаешь, что сотрудник должен получать больше. Помниться однажды мне пришлось угрожать своим уходом, чтобы повысить зп одному из разработчиков в своей команде.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;i&gt;Он мысленно отрепетировал, как будет уходить от ответов на вопросы о зарплате. Однако во время собеседования он все равно выложил опытному рекрутеру, сколько зарабатывает сейчас и сколько хотел бы получать&lt;/i&gt;.&lt;/span&gt;&quot; - Хахаха, да это ж я.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Немного про критику и откровенность&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;i&gt;Слышать критические замечания в свой адрес неприятно и некомфортно, но, после того как отпустит изначальный стресс, они идут на пользу&lt;/i&gt;&quot;. &quot;&lt;i&gt;Мало кому нравится критика в свой адрес. Когда ругают нашу работу, нас накрывает чувство собственной никчемности.&lt;/i&gt;&lt;/span&gt;&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Несмотря на то, что в Netflix декларируется отсутствие правил, на самом деле правила есть, есть инструкции, где прописано, что такое эффективная и конструктивная критика.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&quot;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;i&gt;Принцип откровенности вовсе не означает, что можно произносить все, что придет в голову, не заботясь о чувствах собеседника. Напротив, он требует неукоснительно и скрупулезно&amp;nbsp;&lt;/i&gt;&lt;i&gt;соблюдать четыре правила здоровой критики. Для этого необходимо тщательно взвешивать формулировки, а иногда заранее готовиться, прежде чем высказать критическое замечание,&amp;nbsp;&lt;/i&gt;&lt;i&gt;и учить тому же весь персонал.&lt;/i&gt;&lt;/span&gt;&quot;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Четыре правила откровенности/критики (&lt;/b&gt;в этом месте ничего необычного, это то, что всегда называют конструктивной критикой&lt;b&gt;)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Для критика&lt;/i&gt;&lt;/div&gt;&lt;div&gt;1. Стремись помочь.&amp;nbsp;&lt;/div&gt;&lt;div&gt;2. Предлагай конкретные меры.&lt;/div&gt;&lt;div&gt;3. Чтобы получить нужный результат, адаптируй формулировки и учитывай культурный контекст (&lt;i&gt;здесь речь про национальные культурные особенности&lt;/i&gt;).&lt;/div&gt;&lt;div&gt;&lt;i&gt;Для адресата&lt;/i&gt;&lt;/div&gt;&lt;div&gt;4. Будь благодарен.&lt;/div&gt;&lt;div&gt;5. Прими или отклони.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;i&gt;В Netflix вы получите множество замечаний и соображений. Их необходимо внимательно выслушать, обдумать сказанное, принять к сведению. Но вы не обязаны принимать их все как&amp;nbsp;&lt;/i&gt;&lt;i&gt;руководство к действию. Вежливо и искренне поблагодарите критика. Но и вы, и он должны понимать: следовать его советам или нет — ваше и только ваше решение.&lt;/i&gt;&lt;/span&gt;&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;i&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;Провозгласить, что в компании ценится откровенность, — одно. Следовать этому принципу, когда организация растет, когда постоянно приходят новые люди и сеть отношений в коллективе становится все гуще и сложней, — совсем другое.&lt;/span&gt;&lt;/i&gt;&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Свободные отпуска&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Первая моя мысль про &quot;свободные отпуска&quot; - да они же там или вообще не ходят, или наоборот &quot;все дружно ушли, работать некому&quot;. В итоге действительно было и, видимо, есть и то, и то.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;И здесь опять важна роль менеджера, который должен подавать правильный пример. В тех отделах, которые не ходят в отпуск, как правило &lt;b&gt;менеджер тоже не ходит&lt;/b&gt;. Это лишний раз подтверждает тезис, что при плохом менеджере будут проблемы.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;При этом, в отсутствие четко прописанных правил и графиков отпусков, каждый руководитель должен регулярно объяснять команде, какие решения и поступки можно считать оправданными и допустимыми, например «в отпуск можно уходить только по очереди и только в такое время, когда это не подведет всю команду». Океей, ну то есть заменили общие правила на ожидания менеджера. И снова качество применения принципов зависит от менеджера.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;b&gt;Если я задумаюсь о смене работы, вы будете меня удерживать?&lt;/b&gt;&quot;&lt;/div&gt;&lt;div&gt;Хороший вопрос. Интересно, как много руководителей готовы на него ответить. И сколько способов/инструментов удержания будет у тех, кто ответит &quot;Да&quot;.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Стоит ли руководителю открыто говорить про свои ошибки?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;i&gt;Здоровая самокритика укрепляет доверие; обращаясь за помощью, мы учимся новому; признавая ошибки, мы получаем прощение, а честно рассказывая о неудачах, побуждаем других&amp;nbsp;&lt;/i&gt;&lt;i&gt;действовать смелее.&lt;/i&gt;&lt;/span&gt;&quot;&lt;/div&gt;&lt;div&gt;Всегда спокойно говорю о своих продолбах. Но, допускаю, что слишком часто. А если к вам, как к руководителю относятся с недоверием, то признание в своих ошибках может сыграть в отрицательную сторону. Интересно, как часто я своими признаниями только усугублял дело.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;i&gt;Эта тенденция восприятия так и называется: эффект оплошности. Психологи отметили, что привлекательность человека в наших глазах может либо вырасти, либо понизиться после&amp;nbsp;&lt;/i&gt;&lt;i&gt;допущенной им ошибки — в зависимости от того, как этот человек зарекомендовал себя в целом.&lt;/i&gt;&lt;/span&gt;&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Вот пожалуй и все, что цепануло. Еще была интересная глава про национальные культурные различия и то, что пришлось менять, как подстраивать принципы Netflix из-за этого. Но тут у меня мало личных примеров.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Интересно было бы узнать, как в Netflix занимаются развитием менеджеров. Есть ли там что-то типа &lt;a href=&quot;https://www.maxshulga.ru/2020/02/google-oxygen-project.html&quot; target=&quot;_blank&quot;&gt;активностей у Google&lt;/a&gt;?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Стоит ли читать книгу, если все ценности и принципы &lt;a href=&quot;https://www.slideshare.net/MikePritula/netflix-71827693&quot; target=&quot;_blank&quot;&gt;описаны на слайдах&lt;/a&gt;? Скорее да. Лучше доходит через примеры, которые взяты из рассказов нынешних и бывших сотрудников Netflix.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/6154770188731439429/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2021/02/netflix.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/6154770188731439429'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/6154770188731439429'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2021/02/netflix.html' title='Через призму менеджера про &quot;Никаких правил. Уникальная культура Netflix.&quot;'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt8H7L0NaU-s2NK1x9Ua9NH3K7R0zD6ZLOpm7_HWnYv9rgr1NKlSoC7LSLBEK1pt4jgsoeN5uhd2eVwsaRtKntDOvAh8ORwMFD6_WN3z_ldB6aM9CoghRwNFPvQznGH9j-3t3ATEzPzGTJ/s72-w400-h231-c/%25D1%2587%25D0%25B5%25D1%2581%25D1%2582%25D0%25BD%25D0%25BE%25D1%2581%25D1%2582%25D1%258C+-+%25D0%25B2%25D1%2581%25D0%25B5%25D0%25B3%25D0%25B4%25D0%25B0.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-732665532023228153</id><published>2020-08-10T20:07:00.003+03:00</published><updated>2020-08-11T09:49:54.186+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="checking_testing"/><category scheme="http://www.blogger.com/atom/ns#" term="тестирование"/><title type='text'>&quot;The Ongoing Revolution in Software Testing&quot; by Cem Kaner (2004) - разбор общепринятых утверждений о тестировании/тестировщиках</title><content type='html'>&lt;div&gt;Благодаря давнишнему твиту &lt;a href=&quot;https://twitter.com/alanpage/status/1215843723075964930&quot; target=&quot;_blank&quot;&gt;Alan Page&lt;/a&gt;&amp;nbsp;узнал про &lt;a href=&quot;http://www.kaner.com/pdfs/TheOngoingRevolution.pdf&quot; target=&quot;_blank&quot;&gt;чудесную статью Cem Kaner&lt;/a&gt;, который еще в 2004 году разобрал популярные утверждения (мифы?) про тестирование и роль тестировщиков.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Что именно так разбирается:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;The Role of Testers&lt;/b&gt;&lt;/div&gt;&lt;div&gt;• The primary reason to test is to find bugs?&lt;/div&gt;&lt;div&gt;• The primary reason to test is to prove the program works correctly?&lt;/div&gt;&lt;div&gt;• Testers are THE advocates of quality on a project.&lt;/div&gt;&lt;div&gt;• Test groups should evolve into quality assurance groups.&lt;/div&gt;&lt;div&gt;• The test group should have the power to block release if product quality is too low.&lt;/div&gt;&lt;div&gt;• Testers and programmers have conflicting interests.&lt;/div&gt;&lt;div&gt;• The test group should work independently of the programmers.&lt;/div&gt;&lt;div&gt;• Testers should push their project teams to follow &quot;appropriately professional&lt;/div&gt;&lt;div&gt;development models,&quot; like the Waterfall, that require people to THINK before they act.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;• Testers should base test cases on documented characteristics of the program. If the
software documentation is inadequate for this, testers should assert a quality control
function and demand better specification and requirements documentation.&amp;nbsp;&lt;/div&gt;&lt;div&gt;• The primary reason to test is to find bugs.&amp;nbsp;&lt;/div&gt;&lt;div&gt;• The primary reason to test is to prove the program works correctly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Test Planning and Documentation&lt;/b&gt;&lt;/div&gt;&lt;div&gt;• Testers should specify the expected result of every test, in advance.&lt;/div&gt;&lt;div&gt;• Exploratory testing, if done at all, should be done only by experts.&lt;/div&gt;&lt;div&gt;• There should be at least one thoroughly documented test for every requirement item or&lt;/div&gt;&lt;div&gt;specification item.&lt;/div&gt;&lt;div&gt;• Testers should design most or all tests early in development.&lt;/div&gt;&lt;div&gt;• Testers should design all tests for reuse as regression tests.&lt;/div&gt;&lt;div&gt;• Testers should document manual tests in great procedural detail so that they can be&lt;/div&gt;&lt;div&gt;handed down to less experienced or less skilled testers.&lt;/div&gt;&lt;div&gt;• Testers should document each test case individually, ideally storing them in a test case&lt;/div&gt;&lt;div&gt;management system that describes the preconditions, procedural details, postconditions,&lt;/div&gt;&lt;div&gt;and basis (such as trace to requirements) of each individual test.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;The Practice of Testing&lt;/b&gt;&lt;/div&gt;&lt;div&gt;• Testers should assume that the programmers did a light job of testing and so should&lt;/div&gt;&lt;div&gt;extensively cover the basics (such as boundary cases for every field).&lt;/div&gt;&lt;div&gt;• Testers should develop automated tests at the user interface level.&lt;/div&gt;&lt;div&gt;• Testers should design tests without knowledge of the underlying code.&lt;/div&gt;&lt;div&gt;• Testers should design the build verification tests, even the ones to be run by&lt;/div&gt;&lt;div&gt;programmers.&lt;/div&gt;&lt;div&gt;• Most testers don&#39;t need to be programmers, because they only have to specify how the&lt;/div&gt;&lt;div&gt;external program will behave in their tests. Testing tools will allow business experts to&lt;/div&gt;&lt;div&gt;develop automated tests without having to program.&lt;/div&gt;&lt;div&gt;• The pool of tests should cover every line and branch in the program, or perhaps every&lt;/div&gt;&lt;div&gt;basis path.&lt;/div&gt;&lt;div&gt;• All failures must be reported into a bug tracking system and carefully counted.&lt;/div&gt;&lt;div&gt;• We can measure the individual effectiveness of software testers by counting how many&lt;/div&gt;&lt;div&gt;bugs they find, perhaps with an adjustment for bug severity.&lt;/div&gt;&lt;div&gt;• We can tell how close we are to release of the product by examining the bug curve that&lt;/div&gt;&lt;div&gt;shows bug finds per week.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Все тут обсуждать/переводить не буду, оставлю только то, что очень зацепило. Но вы обязательно почитайте все остальное тоже, если интересуетесь организацией процесса тестирования или вашем местом в этом процессе.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;QA - точно про assurance?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Попробуйте ответить на эти вопросы и еще раз подумать действительно ли вы сейчас QA-инженер?&lt;br /&gt;&lt;/div&gt;&lt;div&gt;• Do testers have the authority and cash to provide training for programmers who need it?&lt;/div&gt;&lt;div&gt;• Do testers have the authority to settle customer complaints? Or to drive the handling of&lt;/div&gt;&lt;div&gt;customer complaints?&lt;/div&gt;&lt;div&gt;• Do testers have the ability and authority to fix bugs?&lt;/div&gt;&lt;div&gt;• Do testers have the ability and authority to either write or rewrite the user manuals?&lt;/div&gt;&lt;div&gt;• Do testers have the ability to study customer needs and design the product accordingly?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&quot;Каждый тест должен иметь ожидаемый результат&quot;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;One fundamental problem with this idea is that it is misguided. Every test has many results. No one specifies them all. An &quot;expected result&quot; points the tester at one or a few of these results, but away from the others.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/732665532023228153/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2020/08/the-ongoing-revolution-in-software.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/732665532023228153'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/732665532023228153'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2020/08/the-ongoing-revolution-in-software.html' title='&quot;The Ongoing Revolution in Software Testing&quot; by Cem Kaner (2004) - разбор общепринятых утверждений о тестировании/тестировщиках'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-2157170073066321154</id><published>2020-08-05T09:00:00.038+03:00</published><updated>2023-06-30T18:00:17.513+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="management"/><category scheme="http://www.blogger.com/atom/ns#" term="мотивация"/><category scheme="http://www.blogger.com/atom/ns#" term="найм"/><category scheme="http://www.blogger.com/atom/ns#" term="работа с командой"/><category scheme="http://www.blogger.com/atom/ns#" term="собеседования"/><title type='text'>Обычные и не очень вопросы к собеседованию на позицию Engineering Manager</title><content type='html'>Навеяно &lt;a href=&quot;https://twitter.com/mipsytipsy/status/1286485343370276866&quot; target=&quot;_blank&quot;&gt;тредом под вопросом Charity Majors&lt;/a&gt;, своими собеседованиями и собеседованиями меня :)&lt;br /&gt;&lt;br /&gt;Может кто найдет что-нибудь интересного себе. Кстати, многие из этих вопросов можно задавать нанимающему менеджеру.&lt;div&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Disclaimer:&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;Порядка, приоритета в вопросах ниже нет.&amp;nbsp;&lt;br /&gt;Необходимость и момент их вопрошания зависит от течения беседы.&amp;nbsp;&lt;br /&gt;На полноту и ценность для вас список определенно не претендует.&lt;div&gt;Этот список не значит, что на собеседовании со мной вы услышите именно эти вопросы.&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Что мотивирует людей вообще (немного теории, а-ля Маслоу, Герцберг, &lt;a href=&quot;https://www.gamified.uk/gamification-framework/the-intrinsic-motivation-ramp/&quot; target=&quot;_blank&quot;&gt;RAMP&lt;/a&gt; и тдтп в том числе просто &quot;своими словами&quot;). Что мотивирует вас? Ну и дальше про то, как использовалось в работе. Как работали с так называемыми &quot;underperformance&quot; товарищами?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Лидерство vs &quot;быть начальником&quot; - что это для вас? Как вы определяете лидерство?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Карьерный рост для разработчиков в ваших командах. Как они растут? Что для вас этот рост, что вы думаете о грейдах (уровнях)? Какой процесс оценки уровня разработчика? Опишите последний случай, когда вы повлияли на карьерный рост вашего сотрудника.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. Как у вас устроен процесс онбординга, есть ли менторинг для новичков/всех сотрудников?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. Что такое техническое качество? Что такое качество? Как вы его оцениваете? Какие метрики используете?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;6. Как принимаются технические решения в вашей команде (командах)?&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;7. Что такое технический долг, как с ним бороться? Как соблюдать баланс между &quot;быстро делать&quot; и &quot;делать хорошо&quot;, имеет ли право на жизнь такой вопрос в принципе? Чем может отличаться подход на разных стадиях развития проекта/продукта.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;8. Как было устроено планирование, как вы работаете с приоритезацией?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;9. Как учиться на ошибках?&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;10. Самая большая ваша ошибка, как менеджера. Чему вы из нее научились?&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;11. Как вы понимаете, как обстоят дела в команде (то что называют &quot;healthy state&quot;), насколько она продуктивна, есть ли развитие?&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;12. На сколько вы умножаете ответ разработчика в вопросе оценки сроков? (кстати, а вы знаете &lt;a href=&quot;https://twitter.com/bobuk/status/636252417089212416&quot; target=&quot;_blank&quot;&gt;про формулу Бобука&lt;/a&gt;?)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;13. Опишите ваш обычный рабочий день.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;14. Почему вы не хотите быть менеджером?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;15. С какими конфликтными ситуациями вам приходилось сталкиваться и как вы их решали?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;16. Какой у вас формат встречи 1:1?&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;17. Как вы поймете, что ваша работа выполняется хорошо?&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;18. Как вы взаимодействовали с другими менеджерами на одном с вами уровне?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;19. Как был организован обмен знаниями между разработчиками?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;20. За что бы вы сразу уволили сотрудника? Приходилось ли увольнять и почему?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Еще немного ссылок:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://rushabhdoshi.com/2019/11/04/hiring-engineering-leaders.html&quot; target=&quot;_blank&quot;&gt;Hiring Engineering Leaders&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://a16z.com/2017/05/26/hiring-vp-engineering-why-what/&quot; target=&quot;_blank&quot;&gt;Hire a VP of Engineering&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://karimfanous.substack.com/p/how-do-you-interview-a-vp-of-engineering&quot; target=&quot;_blank&quot;&gt;How to interview a VP of Engineering&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://chelseatroy.com/2018/05/04/questions-for-prospective-managers/&quot; target=&quot;_blank&quot;&gt;Questions for Prospective Managers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2017/12/hiring-interview-probation.html&quot; target=&quot;_blank&quot;&gt;Немного про наём, собеседование и испытательный срок от вашего КО&lt;/a&gt;&amp;nbsp;(меня)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.maxshulga.ru/2020/07/who-is-teamlead.html&quot; target=&quot;_blank&quot;&gt;Тут можно почитать немного про ресурсы&lt;/a&gt;, которые могут помочь вам в работе (или на собесе)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG5E9gGaCjfvq0vExsb8jBsbPzqoUV8ZJexhsAYRco3u4dt3Z-BUprPhmA2z8TuDnXBDNDRxdFVehX_2Tf18FTKmX8Srsq0KsyEeBjowDFJgyKdtaSv55hJNLe2a-Ni9VelSQl2pQyg89-/s960/%25D1%2581%25D0%25BE%25D0%25B1%25D0%25B5%25D1%2581%25D0%25B5%25D0%25B4%25D0%25BE%25D0%25B2%25D0%25B0%25D0%25BD%25D0%25B8%25D0%25B5-%25D0%25B2%25D1%258B+%25D0%25BF%25D1%2580%25D0%25B8%25D0%25BD%25D1%258F%25D1%2582%25D1%258B.jpeg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;960&quot; data-original-width=&quot;720&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG5E9gGaCjfvq0vExsb8jBsbPzqoUV8ZJexhsAYRco3u4dt3Z-BUprPhmA2z8TuDnXBDNDRxdFVehX_2Tf18FTKmX8Srsq0KsyEeBjowDFJgyKdtaSv55hJNLe2a-Ni9VelSQl2pQyg89-/s640/%25D1%2581%25D0%25BE%25D0%25B1%25D0%25B5%25D1%2581%25D0%25B5%25D0%25B4%25D0%25BE%25D0%25B2%25D0%25B0%25D0%25BD%25D0%25B8%25D0%25B5-%25D0%25B2%25D1%258B+%25D0%25BF%25D1%2580%25D0%25B8%25D0%25BD%25D1%258F%25D1%2582%25D1%258B.jpeg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/2157170073066321154/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2020/08/engineering-manager-interview.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/2157170073066321154'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/2157170073066321154'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2020/08/engineering-manager-interview.html' title='Обычные и не очень вопросы к собеседованию на позицию Engineering Manager'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG5E9gGaCjfvq0vExsb8jBsbPzqoUV8ZJexhsAYRco3u4dt3Z-BUprPhmA2z8TuDnXBDNDRxdFVehX_2Tf18FTKmX8Srsq0KsyEeBjowDFJgyKdtaSv55hJNLe2a-Ni9VelSQl2pQyg89-/s72-c/%25D1%2581%25D0%25BE%25D0%25B1%25D0%25B5%25D1%2581%25D0%25B5%25D0%25B4%25D0%25BE%25D0%25B2%25D0%25B0%25D0%25BD%25D0%25B8%25D0%25B5-%25D0%25B2%25D1%258B+%25D0%25BF%25D1%2580%25D0%25B8%25D0%25BD%25D1%258F%25D1%2582%25D1%258B.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-5491066457591305164</id><published>2020-07-27T20:19:00.037+03:00</published><updated>2023-04-09T14:00:05.026+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="management"/><category scheme="http://www.blogger.com/atom/ns#" term="полезные ссылки"/><category scheme="http://www.blogger.com/atom/ns#" term="работа с командой"/><title type='text'>Тимлид - таинственная роль в реальном мире или фантастические твари среди нас</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;i&gt;Черновик с набором ссылочек долго мариновался и вот дождался потребности в себе.&amp;nbsp;&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;text-align: right;&quot;&gt;&lt;i&gt;Пусть теперь лежит публично.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;История &lt;a href=&quot;https://www.facebook.com/maxim.shulga.777/posts/2653792614633643&quot; target=&quot;_blank&quot;&gt;началась год назад&lt;/a&gt; (твою ж дивизию, вот я торопыга...) с обсуждения в комментах того, что это за роль/должность такая &quot;тимлид&quot;. Пересказывать обсуждение тут смысла не вижу, кому интересно - &lt;a href=&quot;https://www.facebook.com/maxim.shulga.777/posts/2653792614633643&quot; target=&quot;_blank&quot;&gt;велком в тред.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Спустя год тема получила свое продолжение в твиттере Никиты Макарова&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9spxNBduIoGz-9IHa-L80LWOPBLih6C4YOIw00WJvQL2sCesbXcT70-na00_tEa2QGl3ErX25J9bcyIOLIJg4vI-949_f9zguTgShczSnus1DucNNFJWEoRRfZovdkj1sfHMqzPtxdkKt/s1160/%25D1%2582%25D0%25B8%25D0%25BC%25D0%25BB%25D0%25B8%25D0%25B4+-+%25D1%258D%25D1%2582%25D0%25BE+%25D0%25BB%25D0%25B8%25D1%2587%25D0%25B8%25D0%25BD%25D0%25BA%25D0%25B0+%25D0%25BC%25D0%25B5%25D0%25BD%25D0%25B5%25D0%25B4%25D0%25B6%25D0%25B5%25D1%2580%25D0%25B0.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;588&quot; data-original-width=&quot;1160&quot; height=&quot;203&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9spxNBduIoGz-9IHa-L80LWOPBLih6C4YOIw00WJvQL2sCesbXcT70-na00_tEa2QGl3ErX25J9bcyIOLIJg4vI-949_f9zguTgShczSnus1DucNNFJWEoRRfZovdkj1sfHMqzPtxdkKt/w400-h203/%25D1%2582%25D0%25B8%25D0%25BC%25D0%25BB%25D0%25B8%25D0%25B4+-+%25D1%258D%25D1%2582%25D0%25BE+%25D0%25BB%25D0%25B8%25D1%2587%25D0%25B8%25D0%25BD%25D0%25BA%25D0%25B0+%25D0%25BC%25D0%25B5%25D0%25BD%25D0%25B5%25D0%25B4%25D0%25B6%25D0%25B5%25D1%2580%25D0%25B0.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;a href=&quot;https://twitter.com/PapaMinos/status/1256895390961545216&quot; target=&quot;_blank&quot;&gt;лайкни оригинальный твит&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Я думал описать свое видение этой роли, но кому это может быть интересно: жизнь не черно-белая, у всех разные ситуации, забил короче. А вот полезных ресурсов чуток накопилось, поэтому пусть нанесут пользу кому-нибудь. Но какой либо системности просьба не ожидать.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;b&gt;Disclamer&lt;/b&gt;&lt;/i&gt;: если вы только рассматриваете для себя роль лида, технического менеджера и тп, подумайте, оно вам действительно надо, обратно пути может не быть. Ну и опять же, я б учитывал такой забавный момент:&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCcnVF8Y6353H4nKATbEeKD6pFPS4OrWt59DPARK1rOWWLRRXZh__hOhPfj1iVO-TEsdHftMvCo0la4XOnpoJfrbcSD7lFHocQ7kE9FPTsf0jaOkYF72LMP71l60XkmWacEIcfP7A3qZxZ/s1180/%25D0%25BC%25D0%25B5%25D0%25BD%25D0%25B5%25D0%25B4%25D0%25B6%25D0%25BC%25D0%25B5%25D0%25BD%25D1%2582+-+%25D0%25BE%25D0%25B6%25D0%25B8%25D0%25B4%25D0%25B0%25D0%25BD%25D0%25B8%25D1%258F+vs+%25D1%2580%25D0%25B5%25D0%25B0%25D0%25BB%25D1%258C%25D0%25BD%25D0%25BE%25D1%2581%25D1%2582%25D1%258C.png&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;824&quot; data-original-width=&quot;1180&quot; height=&quot;279&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCcnVF8Y6353H4nKATbEeKD6pFPS4OrWt59DPARK1rOWWLRRXZh__hOhPfj1iVO-TEsdHftMvCo0la4XOnpoJfrbcSD7lFHocQ7kE9FPTsf0jaOkYF72LMP71l60XkmWacEIcfP7A3qZxZ/w400-h279/%25D0%25BC%25D0%25B5%25D0%25BD%25D0%25B5%25D0%25B4%25D0%25B6%25D0%25BC%25D0%25B5%25D0%25BD%25D1%2582+-+%25D0%25BE%25D0%25B6%25D0%25B8%25D0%25B4%25D0%25B0%25D0%25BD%25D0%25B8%25D1%258F+vs+%25D1%2580%25D0%25B5%25D0%25B0%25D0%25BB%25D1%258C%25D0%25BD%25D0%25BE%25D1%2581%25D1%2582%25D1%258C.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://twitter.com/GoblinGame/status/1258671872859832320&quot; target=&quot;_blank&quot;&gt;лайкни оригинальный твит&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ну, если не передумали, то начнем.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;А начинать я бы рекомендовал с этой книги, очень хорошо все описано.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Камиль Фурнье (&lt;a href=&quot;https://twitter.com/skamille&quot; target=&quot;_blank&quot;&gt;Camille Fournier&lt;/a&gt;) “&lt;a href=&quot;https://www.mann-ivanov-ferber.ru/books/ot-razrabotchika-do-rukovoditelya/&quot; target=&quot;_blank&quot;&gt;От разработчика до руководителя&lt;/a&gt;” (&lt;a href=&quot;https://www.amazon.com/Managers-Path-Leaders-Navigating-Growth/dp/1491973897&quot; target=&quot;_blank&quot;&gt;оригинал&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Из недостатков книги: кажется в &quot;СНГ&quot; IT-мире, все же есть отличие в понимании роли от условно-западного мира.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Но медленно все смещается в правильную сторону, а именно:&lt;/div&gt;&lt;div&gt;&quot;&lt;b&gt;Team leader&lt;/b&gt;: &lt;i&gt;A team member who may not have any authority over other members but is appointed on permanent or rotating basis to represent the team to the next higher reporting level, make decisions in the absence of a consensus, resolve conflict between team members, and coordinate team efforts&lt;/i&gt;.&quot; (&lt;a href=&quot;http://www.businessdictionary.com/definition/team-leader.html&quot; target=&quot;_blank&quot;&gt;ссылка на определение&lt;/a&gt;).&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ну, то есть вроде действительно не менеджер, а личинка. Чтобы превратится в менеджера, нужно потрудиться над собой. А может в процессе и выяснится, что это вам не интересно.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Что почитать еще (литературы для менеджеров вагон и еще 10к вагонов, поэтому тут просто то, что нравится мне):&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;“&lt;a href=&quot;https://www.theengineeringmanager.com/book/&quot; target=&quot;_blank&quot;&gt;Become an Effective Software Engineering Manager&lt;/a&gt;” James Stanier (у автора еще и интересный &lt;a href=&quot;https://www.theengineeringmanager.com/&quot; target=&quot;_blank&quot;&gt;блог&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&quot;Драйв. Что на самом деле нас мотивирует&quot; Дэниел Пинк&lt;/li&gt;&lt;li&gt;&quot;Руководство Джоэла Спольски по подбору программистов и управлению ими&quot; Джоэл Х. Спольски&lt;/li&gt;&lt;li&gt;&quot;Эффективный руководитель&quot; Питер Друкер&lt;/li&gt;&lt;li&gt;&quot;Одноминутный менеджер и обезьяны&quot; Кеннет Бланшар&lt;/li&gt;&lt;li&gt;&quot;&lt;a href=&quot;https://www.litres.ru/konstantin-evgenevich-b/brat-ili-ne-brat-ili-kak-sobesedovat-razrabotchika/chitat-onlayn/&quot; target=&quot;_blank&quot;&gt;Брать или не брать? Как собеседовать разработчиков&lt;/a&gt;&quot;&lt;/li&gt;&lt;li&gt;&quot;&lt;a href=&quot;https://stratoplan-school.com/Storage/books/pdf/stratoplan_black_book.pdf&quot; target=&quot;_blank&quot;&gt;Черная книга менеджера&lt;/a&gt;&quot; Вячеслав Панкратов (мозговстрях)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Статьи (в том числе пару моих, с ревью книг):&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;“&lt;a href=&quot;https://charity.wtf/2019/01/04/engineering-management-the-pendulum-or-the-ladder/&quot; target=&quot;_blank&quot;&gt;Engineering management: the pendulum or the ladder&lt;/a&gt;”&lt;/li&gt;&lt;li&gt;“&lt;a href=&quot;https://blog.pragmaticengineer.com/how-to-to-become-an-engineering-manager/&quot; target=&quot;_blank&quot;&gt;How Can I Prepare to Eventually Move into Engineering Management?&lt;/a&gt;”&lt;/li&gt;&lt;li&gt;“&lt;a href=&quot;https://angelariggs.github.io/articles/advice-for-new-managers&quot; target=&quot;_blank&quot;&gt;Advice for New Managers&lt;/a&gt;”&lt;/li&gt;&lt;li&gt;“&lt;a href=&quot;https://www.maxshulga.ru/2013/03/blog-post.html&quot; target=&quot;_blank&quot;&gt;Отзыв-конспект &quot;Общаться с ребенком. Как?&lt;/a&gt;&quot;&lt;/li&gt;&lt;li&gt;“&lt;a href=&quot;https://www.patkua.com/blog/the-definition-of-a-tech-lead/&quot; target=&quot;_blank&quot;&gt;The Definition of a Tech Lead&lt;/a&gt;”&lt;/li&gt;&lt;li&gt;“&lt;a href=&quot;https://www.thekua.com/atwork/2015/06/tech-lead-circles-of-responsibility/&quot; target=&quot;_blank&quot;&gt;Tech Lead – Circles of Responsibility&lt;/a&gt;”&lt;/li&gt;&lt;li&gt;“&lt;a href=&quot;https://www.patkua.com/blog/5-engineering-manager-archetypes/&quot; target=&quot;_blank&quot;&gt;5 Engineering Manager Archetypes&lt;/a&gt;”&lt;/li&gt;&lt;li&gt;“&lt;a href=&quot;https://www.forbes.ru/karera-i-svoy-biznes/371541-naprasnye-slova-kak-davat-obratnuyu-svyaz-s-uchetom-raboty-mozga&quot; target=&quot;_blank&quot;&gt;Напрасные слова. Как давать обратную связь с учетом работы мозга&lt;/a&gt;”&lt;/li&gt;&lt;li&gt;“&lt;a href=&quot;https://www.maxshulga.ru/2014/09/ideal-it-team.html&quot; target=&quot;_blank&quot;&gt;Обзор-неконспект &quot;Идеальная IT-компания. Как из гиков создать команду программистов&lt;/a&gt;”&lt;/li&gt;&lt;li&gt;“&lt;a href=&quot;https://habr.com/ru/company/oleg-bunin/blog/456512/&quot; target=&quot;_blank&quot;&gt;Мотивация, делегирование и автоматизация: рецепт создания суперкоманды&lt;/a&gt;“ (текстовка очень полезного доклада)&amp;nbsp; и материалы от докладчика:&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://goo.gl/3asJCu&quot; target=&quot;_blank&quot;&gt;Презентация&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://hackmd.io/s/r1PmSwIw4&quot; target=&quot;_blank&quot;&gt;Наши принципы&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://hackmd.io/s/rJFGNEYP4&quot; target=&quot;_blank&quot;&gt;Алгоритм тех. ревью&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://goo.gl/MrMUvo&quot; target=&quot;_blank&quot;&gt;Шаблон демо&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://justpaste.it/6uptv&quot; target=&quot;_blank&quot;&gt;Правила канала&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Та самая &quot;&lt;a href=&quot;https://tlroadmap.io/&quot; target=&quot;_blank&quot;&gt;карта компетенций тимлида&lt;/a&gt;&quot;, с которой все началось. Отлично подойдет для начальной систематизации того, чем возможно придется заниматься, в зависимости от понимания роли в компании.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Интересная шпаргалка &quot;&lt;a href=&quot;https://techlead-maturity-model.github.io/&quot; target=&quot;_blank&quot;&gt;Модель зрелости техлида&lt;/a&gt;&quot;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Неожиданная ссылка, особенно с учетом того, что тимлидов предпочитают выращивать внутри компании, &lt;a href=&quot;https://www.youtube.com/watch?v=ulYP1V4BzII&quot; target=&quot;_blank&quot;&gt;доклад про шаги человека пришедшего в команду снаружи&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ну и нельзя не посоветовать доклады &lt;a href=&quot;https://twitter.com/bunopus&quot; target=&quot;_blank&quot;&gt;Жени Кота&lt;/a&gt;:&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&quot;&lt;a href=&quot;https://www.youtube.com/watch?v=7fnY8WVtElY&quot; target=&quot;_blank&quot;&gt;Теперь я - тимлид, но почему мне так плохо? Практические советы&lt;/a&gt;&quot;&lt;/li&gt;&lt;li&gt;&quot;&lt;a href=&quot;https://www.youtube.com/watch?v=vkw_vr3dbH0&quot; target=&quot;_blank&quot;&gt;Про инженерный шовинизм: отвратительно быть менеджером&lt;/a&gt;&quot;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Еще один хороший доклад для начинающих и сомневающихся&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://youtu.be/1mIcdj_ZXT8&quot; target=&quot;_blank&quot;&gt;Почему не надо становиться руководителем, Андрей Смирнов&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Получилось очень лаконично, точно несистематизированно и разношерстно.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Но, если у кого будут вопросы по конкретике - пишите (&lt;a href=&quot;https://twitter.com/maxbeard12&quot; target=&quot;_blank&quot;&gt;twitter&lt;/a&gt;, &lt;a href=&quot;https://t.me/maxbeard12&quot; target=&quot;_blank&quot;&gt;telegram&lt;/a&gt;), с удовольствием пообщаюсь.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Update: рекомендации от &lt;a href=&quot;https://twitter.com/pankratov&quot;&gt;Славы Панкратова&lt;/a&gt; (одного из учредителей онлайн-школы менеджмента Стратоплан)&lt;/div&gt;&lt;div&gt;&lt;blockquote class=&quot;twitter-tweet&quot;&gt;&lt;p dir=&quot;ltr&quot; lang=&quot;ru&quot;&gt;• Ицхак Адизес: Идеальный руководитель. Почему им нельзя стать и что из этого следует&lt;br /&gt;• Михаил Литвак: Командовать или подчиняться? Психология управления&lt;br /&gt;• Эрик Берн: Лидер и группа&lt;br /&gt;PS вообще у дяди Славы уже 2ю неделю полезные м минутные зарисовки про менеджмент &lt;a href=&quot;https://t.co/oYAtlygdqG&quot;&gt;https://t.co/oYAtlygdqG&lt;/a&gt;&lt;/p&gt;— Maxim Shulga (@maxbeard12) &lt;a href=&quot;https://twitter.com/maxbeard12/status/1297925079653847041?ref_src=twsrc%5Etfw&quot;&gt;August 24, 2020&lt;/a&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;И вишенка на торте про вопрос, готовы вы или нет стать менеджером&lt;/p&gt; &lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;https://platform.twitter.com/widgets.js&quot;&gt;&lt;/script&gt;&lt;/div&gt; &lt;blockquote class=&quot;twitter-tweet&quot;&gt;&lt;p dir=&quot;ltr&quot; lang=&quot;en&quot;&gt;Somehow, in our heads, we have this illusion that once you’ve mastered the technical skills required for your roles and you have been senior engineers for a few years, the next step for you is to become an engineering manager.&lt;a href=&quot;https://twitter.com/hashtag/engineeringmanager?src=hash&amp;amp;ref_src=twsrc%5Etfw&quot;&gt;#engineeringmanager&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/management?src=hash&amp;amp;ref_src=twsrc%5Etfw&quot;&gt;#management&lt;/a&gt; &lt;a href=&quot;https://t.co/2fY9XIj0zL&quot;&gt;pic.twitter.com/2fY9XIj0zL&lt;/a&gt;&lt;/p&gt;— Isabel Nyo (@eisabai) &lt;a href=&quot;https://twitter.com/eisabai/status/1404675291503542272?ref_src=twsrc%5Etfw&quot;&gt;June 15, 2021&lt;/a&gt;&lt;/blockquote&gt;&lt;p&gt;И закончим все цитатой из уже мертвого твитт-аккаунта&lt;br /&gt;&quot;Тимлидам непросто: требуется строить отношения с коллективом, постоянно учиться, терпеть относительно невысокую зп. Есть только одно чувство, которое способно скрепить всё это вместе и помочь работать эффективно:&amp;nbsp; искренне полюбить свою работу. &lt;b&gt;Ты должен стать солнцем для всех.&lt;/b&gt;&quot; (с)@backendsecret&lt;/p&gt; &lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;https://platform.twitter.com/widgets.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/5491066457591305164/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2020/07/who-is-teamlead.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/5491066457591305164'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/5491066457591305164'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2020/07/who-is-teamlead.html' title='Тимлид - таинственная роль в реальном мире или фантастические твари среди нас'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9spxNBduIoGz-9IHa-L80LWOPBLih6C4YOIw00WJvQL2sCesbXcT70-na00_tEa2QGl3ErX25J9bcyIOLIJg4vI-949_f9zguTgShczSnus1DucNNFJWEoRRfZovdkj1sfHMqzPtxdkKt/s72-w400-h203-c/%25D1%2582%25D0%25B8%25D0%25BC%25D0%25BB%25D0%25B8%25D0%25B4+-+%25D1%258D%25D1%2582%25D0%25BE+%25D0%25BB%25D0%25B8%25D1%2587%25D0%25B8%25D0%25BD%25D0%25BA%25D0%25B0+%25D0%25BC%25D0%25B5%25D0%25BD%25D0%25B5%25D0%25B4%25D0%25B6%25D0%25B5%25D1%2580%25D0%25B0.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6346131298481535631.post-7904159817501472416</id><published>2020-02-13T12:48:00.005+03:00</published><updated>2020-05-19T17:28:30.475+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="test_in_prod"/><category scheme="http://www.blogger.com/atom/ns#" term="автоматизация"/><category scheme="http://www.blogger.com/atom/ns#" term="конференции"/><category scheme="http://www.blogger.com/atom/ns#" term="полезные ссылки"/><category scheme="http://www.blogger.com/atom/ns#" term="тестирование"/><title type='text'>Короткой строкой: новости про Heisenbug с промо и полезные ссылки</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Глянул, что уже есть в программе &lt;a href=&quot;https://heisenbug-piter.ru/2020/spb/schedule/&quot; target=&quot;_blank&quot;&gt;Heisenbug Piter 2020&lt;/a&gt;:&amp;nbsp;так как я сейчас не в ПК, то интересно, что там у ребят с программой получается. И я вам скажу, что &lt;b&gt;интересно&lt;/b&gt; получается :)&lt;br /&gt;
&lt;br /&gt;
Во-первых там есть &lt;a href=&quot;https://heisenbug-piter.ru/2020/spb/talks/4qagnuoav5gdzzjgdwvtlk&quot; target=&quot;_blank&quot;&gt;доклад Адама Торнхила&lt;/a&gt;, одного из авторов инструмента &lt;a href=&quot;https://codescene.io/about&quot; target=&quot;_blank&quot;&gt;CodeScene&lt;/a&gt;, которого я рекомендовал пригласить. Очень хочется послушать про жизнь кода.&lt;br /&gt;
&lt;br /&gt;
Во-вторых в &lt;a href=&quot;https://heisenbug-piter.ru/2020/spb/talks/nrbnu4pt76idix5bosvy0&quot; target=&quot;_blank&quot;&gt;программе Иван Крутов&lt;/a&gt;, один из авторов Aerokube. Еще &lt;a href=&quot;https://heisenbug-piter.ru/2020/spb/talks/3tlyk1qd1u0jthjdqdeo56/&quot; target=&quot;_blank&quot;&gt;Аня Чернышова про возможное решение&lt;/a&gt; проблемы падучих UI-тестов.&lt;br /&gt;
&lt;br /&gt;
Что бы я еще посмотрел:&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://heisenbug-piter.ru/2020/spb/talks/12ej1sekogb8tqkxd8cwlc/&quot; target=&quot;_blank&quot;&gt;Effective unit testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://heisenbug-piter.ru/2020/spb/talks/3zpglszvpewgzjxr9tgcp8/&quot; target=&quot;_blank&quot;&gt;Тестирование производительности клиентской части React/Redux-приложения с использованием Enzyme&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://heisenbug-piter.ru/2020/spb/talks/6ds4dsuuzwr6uq76ynyztb/&quot; target=&quot;_blank&quot;&gt;Demystifying Cross Browser testing&lt;/a&gt;&amp;nbsp;(от бывшего автора Puppeteer)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
В общем, еще раз вам &lt;a href=&quot;https://heisenbug-piter.ru/2020/spb/schedule/&quot; target=&quot;_blank&quot;&gt;ссылка на программу&lt;/a&gt;, смотрите-думайте. Если созреете и ваша компания-редиска и не оплачивает вам конфу, промокод на &lt;a href=&quot;https://bit.ly/3cxeq4P&quot; target=&quot;_blank&quot;&gt;персональный билет&lt;/a&gt;&amp;nbsp;&lt;b&gt;shulga2020pc&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Еще интересных вам ссылок, местами философских, но про тестирование:&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/noahsussman/status/1115662910104186881?s=03&quot; target=&quot;_blank&quot;&gt;Interaction Resiliency (iXR) is the practice of Software QA (aka #testing)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://labs.spotify.com/2018/01/11/testing-of-microservices/&quot; target=&quot;_blank&quot;&gt;Testing of Microservices&lt;/a&gt; (Spotify)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ministryoftesting.com/dojo/lessons/testing-in-production-the-mad-science-way&quot; target=&quot;_blank&quot;&gt;Testing In Production The Mad Science Way: Circuit Breakers &amp;amp; Science Experiments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://www.maxshulga.ru/feeds/7904159817501472416/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.maxshulga.ru/2020/02/heisenbug-piter-2020.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/7904159817501472416'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6346131298481535631/posts/default/7904159817501472416'/><link rel='alternate' type='text/html' href='https://www.maxshulga.ru/2020/02/heisenbug-piter-2020.html' title='Короткой строкой: новости про Heisenbug с промо и полезные ссылки'/><author><name>Maxim Shulga (aka MaxBeard12)</name><uri>http://www.blogger.com/profile/05615743910272666556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP5umHG1A-ajZUZu9-FKU9ptH5h4H4olYlbSIrhdfX-vEf0m1oDJnUs-NljOotowDFlq72BMbDaYRto0-ItbIusWvEfWmgcvIe7IeXoGK0DwQ46gjtoBXejouQ8_1GAsm60L8kTcqQ3iFmPd59I-Lks88emfqay-FDWlG2yyKuSrhqMJM/s220/Mikhail_Alekseev-168.jpg'/></author><thr:total>0</thr:total></entry></feed>