Тимлид Очевидность | Евгений Антонов – Telegram
Тимлид Очевидность | Евгений Антонов
13.9K subscribers
90 photos
3 videos
1 file
396 links
Евгений Антонов об ИТ, менеджменте и здравом смысле. Софты, карьера и т.д

Консультации https://clck.ru/3PyECF

Сообщество руководителей https://clck.ru/3PyEaL

Реклама https://clck.ru/3GdC7m

РКН https://www.gosuslugi.ru/snet/6785113f6aa9672b96a30f09
Download Telegram
Плюсы

Больше возможностей на что-то повлиять
Наверное, этот пункт оказался для меня самым важным. В целом у меня не было никогда тщеславного стремления "Вот буду тимлидом и буду самым крутым. Все меня будут любить и уважать". Просто я никогда не мог стоять в стороне, когда что-то идет не так, что-то можно изменить, но почему-то никто этого не делает. Я никогда не боялся, да и не понимал почему тут вообще надо бояться, проявлять инициативу, предлагать, делать, нести ответственность за свои предложения. И как-то так органически оказывается, что меня продвигают в лидские позиции.
Тут всё зависит от склада характера и лично для меня этот пункт в плюсе. Хотя я работал с многими отличнейшими специалистами, кому это не надо было и ничего предосудительного в этом не вижу.

Больше денег
Ну да, больше ответственности, больше работы = больше денег. Но тут измеряйте сами. Видел случаи, где накидывали 10-20к денег, а работы и ответственности столько, что человек очень сильно приунывал.
Хотя этот плюс, конечно, спорный. Хорошие технари получают порой не меньше тимлидов, да и в одной компании на вас могут накинуть стопицот обязанностей и платить N, а вы идете в другую компанию, где надо просто нормально таски закрывать и код писать, а заплатят вам там > N.

Твердые позиции на рынке труда
Этот пункт я добавил для утешения самого себя. Думаю, что этот страх надуманный и, если вы адекватный тимлид с нормальным (даже не отличным) техническим бэкграундом, вам будут рады много где. Этот пункт подкрепляется как регулярными предложениями мне с рынка труда (хотя сейчас эти предложения делают всем, кто своё имя пишет без ошибок и под себя не ходит), так и моим опытом работы с другими командами и компаниями. Реально очень сложно найти на той стороне такую точку входа в команду, с которой было бы просто, понятно и предсказуемо работать. А если нашел, то капец как это ценишь и реально получаешь удовольствие от работы с такими людьми.


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


Итог
Каждый должен хорошенечко подумать и посмотреть на свой характер и то, к чему душа лежит. Не гонитесь за деньгами и уж тем более за абстрактной "властью" (которой по большому счету у тимлида и нет практически). Делайте то, что вам действительно хочется делать (благо пока индустрия позволяет нам быть настолько избирательными) и сами придете к правильным карьерным позициям.
Стоит ли принимать контроффер?
В середине января на хабре вышла статья от Жени Остроумовой о том, что контроффер лучше не принимать. Ссылка https://habr.com/ru/company/dodopizzadev/blog/483794/
В целом с материалом я согласен, но считаю, что требуется одно важное уточнение, которое наполовину опровергает главный тезис статьи.

Уточнить требуется то, откуда у вас этот контроффер вообще появился. В ИТ в большинстве случаев два варианта:

Вариант №1
Вы находитесь в активном поиске, потому что заколебала текущая работу/хочется ощутимо больше денег, а здесь столько не прибавят/хочется расти, а тут роста нет. Тогда вы идете на рынок труда с твердым пониманием того, что на текущем месте работы вам дискомфортно, собеседуетесь, получаете оффер, приходите увольняться, получаете контроффер. В этом случае я согласен с Женей. Лучше уходить, потому что раз уж вы решили, что вам тут дискомфортно, то сиюминутная прибавка этот дискомфорт снимет лишь кратковременно. Вскоре вы опять начнете грустить, тосковать, открывать резюме.
Стоит отметить, что прежде, чем вы приметесь за решительные шаги, убедитесь, что всё действительно плохо, а не просто вы сами себе придумали, сами обиделись. Это долгая тема для отдельного поста :)

Вариант №2
Вы не находитесь в активном поиске. Вас в текущей работе всё устраивает. Но в ИТ, как мы все знаем, даже если ты не ищешь работу, к тебе приходят много рекрутеров и предлагают свои варианты. И вот в солнечный летний день вам приносят вакансию вполне любопытную: и платят больше, и в целом впечатление позитивное от общения. Перед вами встает моральная дилемма о том, что и тут хорошо, и там неплохо, даже выгоднее. Если вы действительно хороший работник, приносите много пользы на своем месте и вам правда вполне хорошо работается на текущей работе, то тут вам руководство может сделать контроффер, чтобы вас удержать. Я не вижу ничего плохого чтобы его принять. В отличие от первого варианта, в будущем вы будете чувствовать себя не хуже со временем, а только лучше, понимая, что вас тут ценят, любят, удерживают, создают хорошие условия. А работодатель - да, потратится конечно, но если работник и правда ценный, то окупит это лояльностью сотрудника и тем, что тот просидит на своем месте еще долго, а значит не придется тратиться больше на его замену. Надо не забывать, что заменить сотрудника (особенно если это не рядовой сотрудник, а лид, тимлид и выше) даже на ту же самую зарплату - это очень дорого. Дороже и рискованнее, чем дать разумную прибавку текущему работнику.

Отдельным пунктом стоит проблема "вот вы сходите на рынок труда, получите оффер, вам выдадут контроффер, но потом будут на вас косо смотреть". Ну да, такое вполне может быть где-то в сомнительных региональных компаниях, в другой сфере труда, или просто потому, что вы такой мудак, который вместо того, чтобы делать свою работу, ходит по собеседованиям каждый месяц и деньги клянчит.
А если вы хорошо и добросовестно делаете свою работу, то переживать не стоит. Nothing personal just business. Вы отдаете компании свой труд, время, приносите ей прибыль, а она платит вам деньги. Тут практически никогда нет персональных отношений (даже когда это вроде бы заявляется). И уж поверьте, если бы компания нашла сотрудника, который мог бы вас в одночасье эквивалентно заменить за ощутимо меньшую зарплату, то вас бы или заменили сразу, или пришли к вам, чтобы уже вы делали контроффер на понижение своей зарплаты.

P.S. Если у вас в компании наблюдается острая реакция даже на незначительный намек, что кто-то открыл сайт hh или ответит рекрутеру в Linkedin, или сходил на конференцию где РЕКРУТЕРЫ НА КАЖДОМ СТЕНДЕ, или "МЫ ЖЕ ДЛЯ ТЕБЯ СТОЛЬКО СДЕЛАЛИ, ТЫ ДОЛЖЕН БЫТЬ АБСОЛЮТНО ЛОЯЛЕН И ПОДДЕРЖИВАТЬ ИДЕАЛЫ КОМПАНИИ, ДА КАК ТЫ ВООБЩЕ МОЖЕШЬ??!!", то задумайтесь, почему так происходит. Спойлерить не буду, это такое легкое факультативное задание. Даже без звездочки.
Итог
Трудитесь хорошо и добросовестно. Помните, что мы зарабатываем много денег, покуда приносим своей компании еще больше. Не стесняйтесь отстаивать свои интересы. Лояльностью и одобряющими похлопываниями по плечу на тимбилдинге ипотеку вы не выплатите и семью не накормите.
Я получил задачу. Что дальше?
Рассмотрю несколько вариантов развития событий, основываясь на своем опыте и опыте коллег из других компаний.
Сразу стоит отметить, что у меня нет для вас релевантного опыта проектов, на которых очень много людей (30-50-100+) работает. Есть только опыт для команд из 5-10-15-20 человек.

Вариант №1
Программист, получивший задание, смиряется с рядом надежд (они же риски):
- ТЗ написано внятно, корректно, без противоречий.
- Заказчик точно уверен, что ему это вообще нужно и именно так, как он просит.
- ПМ/тимлид/старший товарищ эту задачу обдумали, обсудили, разжевали и только после этого передали ему.
Ну и всё, программист особо не заморачивается, делает задачу в надежде, что риски не стрельнут. Иначе ему придется или что-то переделывать (порой много чего) или вообще его поделка не увидит свет.
Как показывает практика, эти риски стреляют довольно часто в силу разных причин: плохо договорились, не подумали, поговорили на разных языках (образно), каждый понадеялся на другого и т.д.

Вариант №2
Программист, получивший задание, старается устранить эти риски. Лично я делаю так и рекомендую так же поступать коллегам на всех этапах работы, начиная от начального этапа сбора требований.
Следует понимать, что заказчик порой сам не уверен, что ему нужно конкретно вот так вот сделать. Однако приходит он к вам с уверенным лицом. Вам надо помочь ему понять, действительно ли ему это надо, действительно ли вот так, а не иначе, что он хочет от этого получить и т.д. Помогите ему разобраться, помогите доработать ТЗ, помогите себе и вашим коллегам обрести уверенность в том, что эту задачу не надо будет переделывать или отменять.
Да, вы потратите несколько больше времени на этапе выявления требований и проектирования, но в дальнейшем сэкономите время и нервы, плюс сможете получать более предсказуемый и прогнозируемый результат своей работы.

Нихотю
Вы справедливо можете сказать: "А что это я буду с этим разбираться? Вон ПМ есть, тимлид, лид. Пусть они и разбираются. Мне деньги платят, чтобы я код писал». Ну да, всё так и есть. Вы совершенно правы, и, конечно, никто вас принудить к этому не может, если вы не хотите. Но помните, что потому тимлид/лид и заняли свои позиции, что не брезговали погружаться не только в код, но и в бизнес часть проекта. Желаю вам удачи на очередных торгах за повышение зарплаты:)

Итог
Важно и нужно анализировать задачи, начиная с самых ранних этапов. Не надо быть наивным в надежде на то, что ничего не случится, и до вас все подумали хорошо, потому что они специалисты (не факт).
Тот, кто этим займется - будет ощутимо ценнее для бизнеса и команды, чем тот "с чьей стороны пули вылетели". Успехов!
Пришло время анонсировать свои скромные услуги по консалтингу. Всё написано тут https://antonov-dev.ru/consulting
Так что обращайтесь, если у кого какие-то проблемы и хочется лично обсудить, проработать, подыскать варианты решения.
Это не отменяет регулярных пятничных постов, всё продолжится по расписанию :)
👍2🔥2
Тимлид Очевидность | Евгений Антонов pinned «Пришло время анонсировать свои скромные услуги по консалтингу. Всё написано тут https://antonov-dev.ru/consulting Так что обращайтесь, если у кого какие-то проблемы и хочется лично обсудить, проработать, подыскать варианты решения. Это не отменяет регулярных…»
Пара лайфхаков про письменное общение
Сейчас многие перешли на удаленную работу (на работу в распределенной команде, если вам так приятнее) и всё чаще начинают всплывать проблемы из-за недостаточной культуры письма. Проблем много, но в сегодняшнем посте я хотел бы описать две довольно частые. Может быть на следующей неделе вернемся к остальным, посмотрю по статистике инцидентов :)

Излишне частые короткие сообщения
В вашем уютном чатике сидит примерно десяток людей из вашей команды. Каждый раз они получают уведомления, когда кто-то что-то в него написал. Это отвлекает. Если вы каждое предложение отправляете отдельным сообщением (а некоторые даже умудряются одно предложение уместить в 2-3 сообщения), то вы отвлекаете всех этих людей очень часто без необходимости. И мало того, что вы постоянно дергаете людей, заколебывая оповещениями, так вы еще заставляете людей не просто посмотреть, что там за сообщение, а сидеть ждать, пока вы там допишите наконец свою тираду. Ведь они пришли уже в начале или середине мысли, значит, скорее всего будут ждать до конца, и есть все шансы, что будут разочарованы. Особенно интересно смотрится, когда после пяти сообщений идет «ааааа, не, я понял(а), это не так надо, а по-другому». Этакий групповой сеанс с коллегами в роли резиновых уточек. Не надо так.
Если вам настолько нужно поделиться своей щедрой, широкой мыслью, напишите осмысленный абзац текста, выделите, при необходимости, ключевые мысли или слова жирным шрифтом, или еще как-нибудь явно. Это поможет вам же самим обдумать и сформулировать правильно и понятно свои мысли и потребности. Поверьте, это не сложно, если перестать лениться и начать хорошенько думать, прежде чем выливать на коллег потоки информации (словесного поноса).

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

Итог
В распределенных командах очень важна культура письменных коммуникаций. Взращивайте её в команде и эффективность вашей работы повысится, а уровень ярости в чатиках снизится. Уважайте время и труд своих коллег.
👍21
Герои хаоса, тушители саморазожженных пожаров

Fake Heroes

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

Возможно, вы даже смотрите на них и говорите: «Ах, как(ой/ая) молодец! Ведь столько дел, а всё успевает, везде помогает. Овертаймит постоянно, по вечерам, ночам, выходным. Сколько сил и самоотверженности у человека!».

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

Окажется, что во многих случаях герои сами и разжигают пожары, которые затем победоносно тушат. Разжигают не то что прям со зла, а скорее своей неорганизованностью, безответственностью и несистемным подходом к задачам. У таких людей все сроки закончились вчера, ТЗ только на словах, а ответов на вопросы не дождешься, ибо они уже на другой пожар умчались. Это не потому, что они в какой-то такой особенной вселенной живут, или какая-то сфера деятельности настолько специфичная. А потому что такой вот подход к организации своей работы, а заодно и тех, кто от нее зависит.

True Heroes

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

Итог

Прекратите поощрять разжигателей пожаров. Думайте над своей работой, над рабочими процессами, не пускайте всё на самотек, уважайте чужое время и труд. Будьте настоящими героями!
Мой твиттерский товарищ Виктор завел себе телеграм канал https://news.1rj.ru/str/telega_vvn33 который я вам и хотел бы посоветовать.
Айтишник, который пишет не только про ИТ, но и про ЖКХ, урбанистику, образование и т.д. Не теоретик(как я), а практик, очень многое делающий своими руками. Приходите к нему за новым опытом и идеями.
Не хотел ничего писать про удаленку в целом, т.к. сейчас и так об этом вещают из каждого утюга.
А уж какие-то видео снимать я тем более не собирался.

Однако на работе меня попросили снять коротенькое видео для коллег, которые только перешли на удаленку, и я в этой просьбе не отказал. Изначально я не планировал его никуда выкладывать, но потом подумал: а зачем моему труду пропадать? Так что решил поделиться с вами, вдруг кто-то вынесет для себя какую-нибудь полезную мысль.

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

Видосик тут https://www.youtube.com/watch?v=ua9rK4L7W2s

P.S. Да, я знаю, что звук плохой. Да, если бы я на самом деле планировал записывать видео для большой аудитории, я бы с этим что-то сделал. Будем считать, что это принцип Парето, где 20% усилий дают 80% результата:)
Постановка задач. Чайка-менеджмент. Микроменеджмент

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

Проблема №1. Чайка менеджмент
Что это такое? Это когда менеджер, подобно чайке, внезапно прилетел, хаотично пошумел, нагадил кое-как задачами и улетел, а работник остался с этим всем наедине. Ему надо разгрести, прибрать, упорядочить и как-то разобраться. Чайка-менеджер вернется к нему уже за результатом. Ну и чтобы еще пошуметь, конечно :)
Кроме очевидной проблемы неизбывной тоски подчиненного, есть еще и проблема получения конечного результата в этом случае. Менеджер в процессе работы ничего не контролирует и просто надеется, что произойдет чудо, его сотрудники не только родят из хаоса стройные задачи, но и выполнят их как надо и в срок.
Неожиданный спойлер: этого может и не произойти.

Проблема №2. Микроменеджмент
Что это такое? Это когда менеджер контролирует каждый шаг, чих и вздох сотрудника. Перепроверяет за ним ежечасно всё до мельчайших подробностей. Возможно, навязывает ему свой взгляд, свои методы и свои практики даже на самые крохотные задачи.
Тут проблема сотрудника в том, что он не чувствует:
а) доверия со стороны руководства. «Раз каждый чих контролируют, значит не доверяют»;
б) возможности раскрыть свой потенциал. Ничего нельзя придумать и сделать, любые решения даже по пустяковым вопросам навязаны сверху, а работник – просто робот-исполнитель.
У руководителя в данном случае тоже есть проблема. Он просто физически не может каждого проконтролировать и сделать при этом еще и свое дело. Следовательно, где-то работа потеряет в качестве, а заодно и рабочий день руководителя удлинится раза в два.

Срединный путь
Необходимо научиться доверять своим сотрудникам. Да, может быть, сейчас вы лучше них знаете, что и как надо сделать, но позвольте им научиться. Как только они научатся, вам сразу станет легче работать.
Необходимо уважать время и работу сотрудников. Проявите дисциплину в своих действиях, сформулируйте задачи, убедитесь, что люди их поняли, запланируйте дела чуть дальше, чем на 7.5 минут.
Найдите компромисс в контроле действий работника. Не бросайте всё на самотек, но и не дышите ему в затылок ежечасно. Оговорите с ним задачу и какие-то контрольные точки, в которые либо вы к нему придете и попросите показать промежуточный или финальный результат, или он вам доложит. Держите руку на пульсе. Чем раньше вы выявите проблемы, тем дешевле будет цена их устранения.
👍21
Магия в коде: хорошо или плохо
В интернетах часто ведутся войны про то как ужасно, или наоборот удобно, когда в коде много «магии», синтаксического сахара и прочих неявных вещей, упрощающих разработку. Сегодня я посижу на обоих этих стульях.

Магия в коде — это плохо
Есть мнение, что чем меньше магии (неочевидных, неявных вещей) в коде, тем лучше. В большинстве случаев я с этим абсолютно согласен.
Пайтон дзен учит нас, что «явное лучше неявного» не просто так. Чем яснее и очевиднее код, тем проще его читать и поддерживать, а ведь именно это занимает большую часть времени программиста. Чем меньше нужно знать каких-то дополнительных соглашений по работе кода, чем меньше документации надо изучить, прежде чем понять, что тут нафиг вообще происходит и т.д., тем проще.

Магия в коде — это удобно

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

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

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

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

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

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

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

Учиться на одни пятерки, быть лучшим из детей в своем творческом кружке. Хвалят тоже только за пятерки (если у вас было не так – я очень рад за вас, одной психологической травмой у вас меньше), повышенную стипендию платят только за пятерки, отправляют бесплатно в лагерь от универа лучшего студента (или друзей старосты, конечно) и т. д.
Мотивационные примеры нам из каждого утюга вещают тоже о самых лучших из лучших из лучших. Спортсмены мирового уровня, миллиардеры-трудоголики-перфекционисты, известные на весь космос актеры. Все они самоотверженно трудились, выжимали все 100% (кое-кто и 146 смог) и добились выдающихся результатов, значит и тебе нужно так же.
Не буду тут спорить о том, что не каждому быть миллиардером или олимпийским чемпионом.
Хочу рассмотреть, как это влияет на работу в ИТ.

В ИТ молодой пламяокий айтишник, начитавшись книг про SOLID, Линуса Торвальдса и Павла Дурова, сел писать код.
Ммммм…. Нет, сел он не писать, а раздумывать над тем, как же написать, чтобы оно было максимально круто, элегантно, расширяемо, поддерживаемо, респектово (другие же программисты посмотрят). Пока он сидит в раздумьях, фича всё никак не релизится. У конкурентов вылезла хоть какая-то кривая-косая, а пламяокий всё размышляет.
Наконец он придумал крутейшую архитектуру, написал код и релизнул фичу. Оказалось, фичей не пользуются, потому что уже привыкли это юзать у конкурентов, а ваш поезд уже ушел.

Интересный факт. Английский вариант поговорки "Лучшее – враг хорошего" это "Done is better than perfect". Он довольно наглядно демонстрирует то, о чем я хочу сказать.

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

Когда пламя в моих глазах потухло, и я стал смотреть более спокойно на компромиссные решения, я решил больше ориентироваться на принцип Парето «20% усилий дают 80% результата, а остальные 80% усилий — лишь 20% результата».

Выделил из работы те 20% усилий, которые принесут основной результат, сделал их, а дальше смотрю, нужно ли вообще продолжать что-то делать. Если нужно дотачивать до идеала – не проблема, дорабатываю оставшиеся 80%. Однако, если при трезвом взгляде окажется, что и так хорошо, что можно больше пользы (зачастую и прибыли) принести в другом месте, то зачем впаливать вчетверо больше усилий в незначительный профит?

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

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

Кто делает
Нужно явно договориться, кто именно является исполнителем.

Что делает
Определить, что именно должен делать исполнитель.

Когда делает
Обязательно обговорите сроки. Когда должно быть сделано, когда промежуточный контроль исполнения, и вот это вот всё.

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

Зафиксировано на письме
Ни в коем случае не оставляйте договоренности устными. С этого всегда можно легко соскочить (или наоборот накинуть лишней работы) под крики «Да мы не так договаривались! Да ты всё не так понял(а)! Да это вообще не про то!».

Фиксируйте всё письменно и публично для всех договаривающихся сторон. По этим письменным артефактам всегда можно найти и раскопать всю историю общения. Плюс это дополнительно мотивирует людей вас не обманывать: всё надежно задокументировано, а они публично согласились на выполнение своей части договоренности.

Итог
Применяйте этот способ, не думайте наивно «Да мы же тут братишки, все друг другу доверяют, как же это я так буду сомневаться? Да что обо мне подумают, если я попрошу вот так письменно?».
Что о вас подумают? Что вы очень хотите, чтобы дело было сделано без лишних организационных проблем.
Письменные daily standups (сорри, я билингв)

Если не знаешь, что это за стендапы такие – беги сначала прочитать об этом, например, сюда https://habr.com/ru/post/456980/ (или в гугл), а потом возвращайся.

Устно
В связи с карантином, многие команды, только осваивающие удаленку, начинают проводить ежедневные стендапы в видео звонках (zoom, skype, hangouts). В чем я вижу минусы этого подхода?

- Нужно всем собраться в одно и то же время. Это и в одном часовом поясе порой сложно, а в разных – тем более.

- Нужно всем надеть парадную футболку, помыть голову, а то и подкраситься (никакого сексизма, пол подкрашиваемого не указан!). Футболка может быть в стирке, воду отключили, а магазин косметики дальше 100 метров от дома, без пропуска и не прошмыгнешь туда.

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

- Созвон с несколькими людьми по делу часто превращается в дело + N времени на словоблудие, пересказ вчерашней серии {{название_сериала}} и просто прибаутки. Тут требуются дополнительные усилия по модерации всего этого мероприятия.

- Завтра можно полностью или частично забыть, кто что рассказывает сегодня.

Письменно
Я хочу поделиться тем, как мы в своей распределенной команде проводим стендапы.
Письменное общение у нас происходит в слаке. Поэтому для стендапов мы выделили отдельный канал. В него каждое утро все сотрудники пишут 2-3 пункта: над какими задачами работал вчера, над какими планирует работать сегодня и (опционально) есть ли какие-то проблемы, мешающие его работе.

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

Такой формат позволяет устранить все указанные мной минусы:

- Асинхронный формат. Не приходится куче людей подстраиваться под конкретное время.

- Можно находиться в повседневной, а не парадной футболке.

- Написать и прочитать - это очень быстро. Если у тебя в это время родит кошка – никто и не заметит!

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

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


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

Плюсы

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

- У вас в команде есть человек, который знает, как делать одну штуку, и вы ходите всей толпой к нему, а когда он увольняется, плачете горючими слезами? Пусть напишет доку и отвечает страждущим ссылкой на доку, а потом увольняется сколько угодно. Его знания останутся в веках на письме.

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

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

- Вы договорились в команде делать так, а через месяц коллеги начали делать иначе (они забыли), а новички - еще иначе (они и не знали)? После того как договорились, напишите доку по регламенту и выдавайте её всем коллегам и новичкам. Тогда старые коллеги не забудут, а новые будут легко онбордиться.

Таких примеров можно приводить море.

Минусы
Однако есть и определенные сложности в написании документации:

- Нужно уметь понятно и структурированно излагать свои мысли письменно.

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

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

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

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

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

Тесты надо писать

Когда у вас много разветвленной бизнес логики и проект постоянно развивается. Тесты помогут быть немного более уверенными при внесении изменений в уже существующий код. И еще они сильно сэкономят вам время на тестировании всех юзер кейсов приложения.

Если ваш менеджер говорит, что написание тестов - это трата времени и вообще вам тут за фичи платят, а не за тесты, то покажите ему, сколько времени стоит проверить все юзер кейсы руками (допустим, минут 30-60, но бывает, что и много часов), а потом запустите тесты, и они пробегут у вас за 3 минутки. Если менеджеру не хватит сообразительности посчитать этот несложный математический пример, то кивните и не пишите тесты. Спустя пару месяцев, две еле выпущенные фичи и пяток багов на проде повторите еще раз предыдущую итерацию. Возможно, в этот раз сработает лучше.

Тесты не надо писать

- Если вы у вас особой логики нет, а вы делаете инфосайтик, где просто выводите очередной блок новостей из базы.

- Если вы один раз сделали проект и забыли про него. Поддерживать не надо.

- Если вы просто хотите написать тест ради теста, чтобы почувствовать себя более программистским программистом, ведь в твиттере, на ютубе и хабре говорят, что кто не тестит – тот не программист.

Дымовой тест

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

Итог

Смотрите сами, насколько целесообразно написать тесты и на что конкретно. Не слушайте радикалов, которые говорят, что нужно 100% покрытие кода тестами, или наоборот, тесты – трата времени. Думайте, анализируйте реальную пользу, которую можете получить.
👍1
Channel name was changed to «Тимлид Очевидность»
Несколько идей для победы над синдромом самозванца

Чуть ли не каждый первый толковый специалист сталкивается так или иначе с синдромом самозванца. То есть он думает, что не он специалист, не молодец и всё такое, а ему просто повезло, он на самом деле знает и умеет мало, и его вот-вот разоблачат и с позором прогонят.

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

№1. Думайте, с кем себя сравнивать
Да, мы все себя сравниваем с другими, от этого никуда не деться. Разумом мы лишь можем повлиять на то, с кем себя сравнивать. Как программист, я испытал большое облегчение, перестав себя сравнивать с чуваками, выезжающими на новейшем гироскутере на сцену топовой конфы и рассказывающими, как им удалось масштабироваться с 5000 серверов до 10000 за один чих кубернетеса и заработать при этом стомильенов долларов.
Это экстремум, ребята. Если вы не занимаетесь тем же самым, то и не надо сравнивать. Сравнивайте себя со своими коллегами, это намного более релевантный показатель.
Да, нужно мотивироваться тем, что когда-нибудь и вы выкатитесь на подобном топовом гироскутере (моноколесо? Самокат? Лонгборд? Что сейчас в тренде?) и будете блистать. Стремиться к лучшему - это замечательно, но в данный момент вы делаете то, что вы делаете, и сравнивать себя следует именно с такими же ребятами.

№2. Ведите логи своего профессионального развития
Я пишу подробный план своего профессионального развития на год-два вперед (периодически его корректирую, конечно). Какие книги прочитать, какие технологии потеребить, на какие курсы сходить, какие конференции посетить, какие проекты запилить и т. д.
В конце года обычно кажется: ну прошел год и прошел, вроде ровненько. А потом смотришь на этот список и говоришь себе: «Хммм… А я времени не терял, вон сколько сделал!». Это приободряет.

№3. Дневничок побед
Этот вариант – более мелкая версия прошлого. Если вы приунываете слишком быстро и ждать конца года, чтобы разок взглянуть в огого-план не хотите и не можете, то можно пойти экспресс путем. Записывайте в конце каждого дня 1-2-3 хоть и небольших, но победы. Закрыл баг, который долго висел и всем мозолил глаз, или наконец-то смог договориться с соседним отделом о плодотворном сотрудничестве, или релизнул проект, который долго пилил, или даже смог самостоятельно сделать кофе, не спрашивая у коллег «эцсамое, я что-то туплю, куда тут нажимать?».
Когда будет накатывать тоска – перечитывайте и вспоминайте. Каждый день у вас были победы, умейте это ценить.

Итог
Синдром самозванца есть у многих, это нормально. Умейте держать его в узде, цените себя и свои достижения. Не приунывайте!
Моя проблема - это и твоя проблема

Рассмотрим ситуацию, когда действия одного человека (назовем его Бяка) приносят дискомфорт другому (пусть будет Няша) и настает время обсудить это. Няша приходит и говорит Бяке: «У меня дискомфорт, мне плохо, пожалуйста, так не делай».
Он в красках описывает свою проблему и надеется, что Бяка откроет свое доброе сердце, прислушается и перестанет делать, что делал. Во многих случаях этого не происходит, потому что «Чувак, это у тебя проблемы, ты и разбирайся. У меня своих хватает.»
Как я могу предложить действовать Няше в этом случае. Подавая свою проблему, помогите собеседнику понять, что и у него тоже могут возникнуть проблемы из-за этого. Тогда у Бяки резко поднимется мотивация что-то менять.

Пример
Вам пишут «Привет!», а потом тишина минут 5-10, собеседник что-то печатает. А вы уже отвлеклись от своей задачи, забыли, что делаете и тупите в экран, ожидая, чем же разрешится эта интрига. Вы шлете собеседнику ссылку на https://neprivet.ru/ и говорите, что он отвлекает, а ситуация повторяется.
Мое предложение сказать не просто «мне неудобно, пожалуйста, так не делай», а «ты мне пишешь “привет” и молчишь, я отвлекаюсь, трачу своё время, жду. Я раз отвлекся, два, пять, десять. Теперь у меня глаз замылился, я отвлекаться перестал не только на твой привет, но и дальнейшие сообщения твои могу пропустить. Думаю, никому из нас не хотелось бы ни писать в пустоту, ни пропускать сообщения, так что давай сразу формулировать нужную информацию в одно сообщение. Так будет проще и легче, и тебе, и мне».
Если он и дальше продолжает в том же духе - ну похоже придется и правда наглядно поигнорить его, пропустить пару срочных сообщений, а потом опять вернуться к этому разговору.
Когда Бяка будет понимать (или на словах, или уже дополнительно на деле, если он не очень хорошо слова воспринимает), что его поведение теперь и ему самому может доставить проблемы – он с большей вероятностью прекратит так себя вести.

Итог
Мало кто любит решать чужие проблемы, а вот свои – с удовольствием. Не стесняйтесь объяснить собеседнику, что он делает не только вам хуже, но и себе. Ну и будьте разумны, не жестите («Ах, ты так сделал?! Ну всё, чувак, у тебя теперь проблемы!!!»). Не угрожайте, просто помогите человеку понять все стороны проблемной ситуации. Не будьте Бяками, будьте Няшами:)
Как назначать встречу и готовиться к ней

Что в офисе, что на удаленке нас часто преследуют бестолковые встречи, которые несут больше трату времени, чем конкретную пользу.
Хотелось бы рассмотреть пару простых приемов, которые можно применить при назначении встреч/созвонов, чтобы выжать из них побольше пользы и не прослыть мудаком.

Тщательно опишите тему встречи со всем сопутствующим контекстом

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

Плохо:
- Коллеги, надо встретиться обсудить проект.
- Доброго времени суток! У нас проблема.
- Смотрите, какой я занятой, думайте, что я очень эффективный. Короче, надо встретиться, по задачке обкашлять вопросики.
Хорошо:
- Необходимо обсудить интеграцию со сторонней системой X нашего решения Z. Вводные данные и стартовое ТЗ лежат тут, надо будет обговорить детали реализации обмена данными (протокол, формат и защиту данных).
- Встреча насчет обновления нашей платформы. Накидаем общий план как будем делать, какие команды понадобится привлечь, договоримся, кто и когда конкретно этим займется.
- Ребята, у нас проблема с заведением нового контрагента в системе. Делаю так-то и так-то, получаю вот такую ошибку (ссылка на скриншот или видеозапись). Ошибка замечена сегодня в районе обеда.

Хорошо подумайте, каких людей звать на встречу

Типичная проблема бездумного менеджмента – звать на встречу как можно больше людей. «Одна голова хорошо, а восемь лучше», «там разберемся, кто понадобится», «да ладно, мы же команда, пусть все 25 приходят, обсудим».
Конечно, если вы хотите пробудить ярость, потратить много человекочасов (и денег компании), прослыть бестолковым, то назначайте встречу на всех, кого смогли вспомнить по этому проекту.
Если же хотите сделать нормально, подумайте о том, кто конкретно вам понадобится и зачем. Это лучше всего решать, пока вы будете формулировать подробную повестку для встречи, там и нужное осознание придет.

Хорошо готовьтесь к встрече сами

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

Итог

Уважайте время и нервы своих коллег, подходите к своей работе профессионально.