Читать книгу: «Тимлиды», страница 7

Шрифт:

7. Параллели

– Добрый вечер, Кирилл! Извините за позднюю встречу. Елена-эйчар29 попросила с вами связаться как можно скорее. Она сказала, что вы сильный разработчик и у вас есть команда, а кроме того упомянула о каких-то особенных обстоятельствах, из-за которых вы срочно ищете работу, – начал Вячеслав созвон в телеграме.

– Здравствуйте. Да, общался с ней сегодня, – хмуро ответил Кирилл. – Я сегодня написал заявление об увольнении по собственному желанию, срочно ищу работу. Пишу в основном на rust30, продакшн-опыт есть на rust и java. Последний год работаю тимлидом.

– Ясно. У меня есть один проект, в котором используется rust, – Вячеслав подумал о своем блокчейн-стартапе, открытых позиций там не было, но ведь это стартап, всегда можно было найти место для ещё одного человека. – А почему вы уходите по собственному желанию из вашей текущей компании?

– Менеджер сказал написать заявление.

– А вам-то это зачем?

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

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

– Не хочу. Мне нравится в моей команде, да и продукт пилим интересный, полезный.

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

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

– Знаете, я привык работать с людьми честно, за это меня и уважают. Ваш работодатель по каким-то своим причинам хочет вас уволить, вы не хотите, следовательно вам и не обязательно ему помогать. Я могу встать на сторону вашего работодателя и облегчить ему его задачу, но не считаю ее честной по отношению к вам. Если я все же его поддержу, вы перейдете работать ко мне, то выйдет так, что наше знакомство началось с того, что я поддержал ради моей выгоды того, кто несправедлив с вами. Это не самый лучший фундамент для долгой продуктивной работы.

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

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

– Все в порядке, вы говорите интересные вещи.

– Скажите, а как так вышло, что менеджер предлагает вам уволиться? Это звучит необычно, спрос на разрабов огромный. Тем более странен формат увольнения – чаще слышу про соглашение сторон.

– Понимаете, для меня самого все это неожиданно. Я был уверен, что проект надолго. А сегодня менеджер мне говорит, без предупреждений, что проект закрывается. Глупо с моей стороны соглашаться так уходить, я уже и сам это вижу. Стыдно, что я подставляю своих коллег, друзей. Они ещё не знают, что им скоро искать работу. А менеджер мне до последнего времени говорил, что с проектом все хорошо, рисовал roadmap, говорил об утвержденных заказчиком планах. Я не знаю, было это правдой или нет. Сейчас уже похоже на то, что он с самого начала знал о коротком сроке проекта. Но мне и команде говорил, что проект надолго, иначе в полугодовой проект никто бы и не пошел. Так, обманом, он собрал команду на временный проект. Ведь из-за этого проекта люди увольнялись из хороших компаний. Никто бы не стал менять работу ради проекта на полгода. Ну и мы думали, что проект в долгую, работали как следует, даже раньше плана все сделали. И теперь мы не нужны.

– Классика. Манипуляция и эксплуатация – основные инструменты менеджера среднего звена. Им надо как-то выживать между их руководством и разрабами, и они сами понимают, что без них можно обойтись. Вы, наверно, знаете про способы организации команд разработки без специально выделенных менеджеров. Организаторские функции выполняет один из разработчиков – тимлид. Ну или даже это распределенная по команде функция, впрочем, в эффективность последнего я не очень верю. Сейчас на западе популярная мысль даже вне it: можно обойтись без менеджеров среднего звена, от них только проблемы. Ну и если вы видите компанию, где много-много менеджеров – это явный сигнал, что вам как разрабу там будет плохо.

– Может вы и правы, не знаю. Я ещё не пришел в себя, если честно, от этих новостей.

– Давайте поступим так. Вам надо решить вопрос с текущей работой. Нет нужды уходить, как требует ваш менеджер. Сделайте это в том формате, который будет устраивать вас: финансово, да и просто будет вам комфортным в психологическом смысле. Подумайте и о ваших коллегах. Когда у вас что-то проясниться, дайте мне знать. У меня есть работа для растоводов. Подходит?

– Да, вы правы, давайте так и сделаем. Спасибо.

– Хорошего вечера, Кирилл. – Вячеслав отключился от конференции и снял наушники.

Вторник, 26 января 2021 года. Лиззи

1. Пробуждение

Лиза почувствовала, как ее кто-то толкает, а в следующее мгновение услышала будильник и недовольный голос своего бойфренда. Протянув руку к айфону и нажав на экран, она остановила один звук, но ворчание парня продолжилось. «Жаль, у этого нет такой же кнопки, – пришло ей на ум. – Просыпаюсь недовольная, ещё и с угрозой, что меня вытолкнуть из моей же постели. Где я свернула не туда?» Лиззи встала с кровати, взглянула за окно. До рассвета оставалось больше часа, темная вода Финского залива отражала свет прибрежных высоток, моста и нового стадиона. Шелковая пижама на теле – первое приятное ощущение этого утра, Лиззи постаралась на нем сосредоточиться и прошла на кухню.

Раннее пробуждение, особенно зимой, не радовало. Единственной причиной этого сегодня был созвон тимлидов, участвующих в деле – они договорились каждое утро на этой неделе в девять утра проводить стендап. Лиззи достала из холодильника перепелиные яйца, авокадо и диетические хлебцы, чтобы сделать себе завтрак, надеясь, что мальчик не придет на запах и ей не придется готовить на двоих. Возмущение вдруг накатило волной: как этот паренек с накачанным телом и миловидным личиком пролез в ее квартиру? Подсознание подсказывало слово «альфонс», что ещё больше расстроило Лиз. Она любила медитативно-тягучее утреннее время, когда она, просыпаясь, могла быть наедине с собой в своей шикарно обставленной новой квартире с видом на залив, ещё не занятая заботами дня. Что-то пошло не так.

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

Лиззи была руководителем разработки департамента front-систем, ее команда была вовлечена сейчас в четыре проекта для разных заказчиков по созданию для них веб- и мобильных приложений. Самым неприятным из заказчиков этих проектов был Императорский банк. Менеджмент банка, с которым приходилось общаться Лиз и ее коллегам, помимо своей технической и организационной некомпетентности отличался подчеркнутой грубостью. Они будто играли в ролевую игру, изображая из себя революционных матросов начала 20-го века. Лиззи, да наверно и вся их компания, была бы рада потере такого заказчика, поэтому когда Вячеслав предложил Профсоюзу авантюру, Лиззи почувствовала к ней личный интерес.

Подключившись по вчерашней zoom-ссылке она нашла в конференции всех, кроме Вячеслава.

– Приветики, котики, – промурлыкала девушка в микрофон. Подключившийся Вячеслав будто ответил на ее приветствие:

– Господа, Лиззи, приветствую всех, давайте начнем. Михаил.

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

– Спасибо, Миш, даже если на физическом уровне у двух из трех дата-центров банка будут проблемы в работе – этого достаточно. Лиззи, твое слово.

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

– Правильно понимаю, Лиз, что после обновления сайта веб-версия перестанет работать? – уточнил Вячеслав.

– Не совсем, перестанут проводится ряд операций, будут ошибки, большие ошибки.

– Ясно, спасибо, Лиз. И спасибо тебе за «Чернобыль», начал вчера смотреть. Давайте дальше. Лев.

– Доброе утро. Мне, кстати, тоже «Чернобыль» понравился. Ну как понравился, что там может понравится? – стушевался Лев. – Ладно, к делу. Анализ кода бэкенда дает каждый час новые идеи атак. Я накидал список способов, как можно небольшими изменениями настроек на уровне инфраструктуры сделать так, чтобы информация в базах в трех дата-центрах перестала сходиться. В коде с багами реализовано приведение распределенной системы к консистентному состоянию. Если у нас есть свой человек в эксплуатации продуктива, небольшие манипуляции могут сделать так, чтобы данные в трех дата-центрах перестали быть идентичными. Завтра у любого клиента банка будет три разных набора данных о своих счетах. Алексей, ты говорил, что есть свои люди?

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

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

2. Работа

Лиззи подключилась к zoom-конференции стендапа своей команды, ее ждало тридцать человек, большинство из которых были фронтенд-разработчиками разных специализаций. Кроме них было несколько аналитиков и тестировщиков, пара дизайнеров и менеджер команды Назар. Это был лучший менеджер из тех, что были знакомы Лиз. В отличие от многих своих коллег по цеху он с должной долей скепсиса воспринимал первое слово своей должности – руководитель проектов. Давно наткнувшись на мысль Стива Джобса о том, что хорошие управленцы нанимают умных инженеров не для того, чтобы говорить им, что делать, а чтобы помогать им сделать то стоящее, что у них есть на уме, Назар видел свой вклад в дело команды в помощи Лиз там, где традиционно у инженеров было слабое место: бюрократия, отчетность, коммуникация, конфликты, совещания. После стендапа со всей командой нужно было поговорить с менеджером один-на-один, это касалось вчерашнего релиза.

– Здравствуйте, дамы и господа! Надеюсь, все выспались, бодры и веселы, и сегодня наш ждет день свершений, а? – начала Лиз, заметив, что ее стиль с своей командой отличается от того, что она позволить себе с профсоюзными товарищами. – Вчера мы выпустили релизы по проектам банка и шеринга. По шерингу есть один баг, в jira оформлен, надо чуть дописать постановочку, нужен один аналитик и react-разработчик, там не сложно. По проекту банка багов больше, но критичных команда эксплуатации не нашла, это то, что я вижу по сообщениям от них на это утро. Баги частично в jira, частично у Олега, надеюсь, за сегодня все будут оформлены, и сможем их быстренько пофиксить32. Кто хочет взяться за них, скажите на стендапе. Для остальных работа по плану: вчера начался новый спринт, задач по новому функционалу достаточно по всем нашим четырем проектам. Кто без дела сейчас, скажите громко, задачку найду. Давайте по статусу кратенько. Александр, ты первый.

– Доброе всем утро! Я как всегда первый, – начал бравурным тоном старший тестировщик команды, пропустивший вчера при регрессном тестировании по просьбе Лиз три существенных бага. Конфликт с совестью, не позволявшей пропускать баги, тем более пропускать их специально, компенсировался чем-то вроде мести заказчику, который отталкивающе пренебрежительно и хамски позволял себе общаться с инженерами их команды. Услышав в свой адрес насмешку от менеджера заказчика на пятничной демонстрации результата работы команды за неделю, Александр до сих пор чувствовал обиду. – Вчера был занят проведением регресса по банковскому проекту, кроме того смотрел логи с прода в связи с подозрениями на баги. Один момент не баг, а вот два других – баги, небольшие, помог составить постановку аналитику. Сегодня продолжу с багами по банку и на мне две задачи висят в статусе тестирования по авиа-проекту.

– Спасибо, Александр. Банк на сегодня приоритет, авиабилетики пока не горят. Давайте дальше, Святослав.

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

Через десять минут совещания Лиззи опросила половину команды и перешла к разработчикам, назвав имя Сергея, старшего jvm-разработчика, одинаково хорошо владеющего java, kotlin и scala.

– Доброе всем утро! – раздраженный голос программиста контрастировал с этим пожеланием. – Я не понимаю, почему мы отдали сырой релиз по банку, я ведь говорил, что надо ещё подождать пару дней, я и Марго бы успели довести его до ума. К чему эта спешка? Отдали бы в четверг без багов.

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

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

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

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

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

– Так, слово Назару, неожиданно как-то до меня очередь дошла, – будто смущаясь, начал менеджер, который на каждом стендапе чувствовал гордость от принадлежности к этой команде профессионалов и легкое смущение, что-то вроде комплекса самозванца. Слушая других менеджеров о порядках в их командах, он иногда стеснялся рассказывать о своей команде, боясь зависти и недоверия коллег: их проблемы, их неспособность настроить процесс разработки и регулярные конфликты с разработчиками казались ему результатом их психологической инфантильности и профессиональной непригодности, но говорить об этом было нельзя. – Спасибо всем, кто участвовал во вчерашнем релизе по шерингу и по банку, всем, кто писал постановки и код по задачкам, вошедшим в релиз. Остальным тоже спасибо, вы тоже молодцы, горжусь вами. Елизавета верно сказала про баги, там список не длинный, так что все в порядке. Баги – неизбежный спутник разработки, и хорошая разработка отличается от плохой лишь реакцией на них. Не ошибается тот, кто ничего не делает, а мы движемся быстро, и качество на высоте, это вчера отметили и наши заказчики на менеджерском созвоне. Елизавета Ивановна, задержись, пожалуйста, после стендапа, обсудим баги. Всем спасибо ещё раз!

– Хорошо, Назар. Всем спасибо и продуктивного дня!

3. Хулиганка

Дождавшись, когда в zoom-конференции останутся лишь двое участников, Лиз начала:

– Назар, что-то случилось?

– Лиззи, это про вчерашний релиз. У банка там что-то странное происходит: вроде их эксплуатация вчера наш релиз приняла, а сегодня утром их менеджеры мне пишут, что там не все в порядке.

– Так пусть свою эксплуатацию в этом и винят: приняли же разработку. Не по адресу они пуп морщат, – резко ответила презирающая непрофессионализм тимлид.

– Согласен, но у нас там тоже ведь баги есть, да? Сергей и Марго про них сегодня говорили.

– Есть, да, но по этим задачам от заказчика не было вменяемой постановки. Были какие-то слова, в чатиках что-то писали, но как задачу ничего определенного не сформулировали. И наши задачи на эту тему в jira они не смотрели, ведь зачем уточнять, правильно ли мы поняли их пожелания, мы ведь профи в чтении мыслей, – перешла на сарказм Лиз, накручивая себя ради настроения, это помогало ей проснуться утром.

– Лиз, а может выкатим сегодня-завтра внеплановый релиз? Да, по плану катим каждый понедельник или через понедельник, но что, если выкатим на днях с фиксами багов? Очень уж нервно себя ведет заказчик, хочется его успокоить.

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

– Ну права ты, права, отличный момент может быть, но давай проект отдадим на хорошей ноте, не какахой обмазавшись, а? – Мягкий тон Назара убаюкивал разбушевавшуюся Лиз. – Работающий, без багов, документацию подзаполним, рефакторинг на прощанье сделаем, бэклог33 наш почистим. Чтоб с чистой совестью, а?

– Тебе невозможно сопротивляться, дорогой. Хочешь внеплановый релиз с багфиксами? Будет тебе релиз, – Лиз неожиданно для себя увидела возможность провести на продуктив ещё один существенный, но малозаметный баг, который точно пройдет приемку эксплуатации и, учитывая срочность релиза, окажется на продуктивном контуре уже сегодня-завтра, значит в пользовательских телефонах к четвергу. Стоило отдать пару пешек ради ладьи. – Но мы зря им потакаем: есть договорные отношения, есть утвержденная релизная политика, есть распределение зон ответственности, мы не должны работать за всех и закрывать чужие дыры. Ты ведь помнишь наш девиз: мы им нужны, а они нам – нет!

– Конечно помню, дорогая. Хочешь сама им это сегодня сказать? Просят сегодня собрать совещание для обсуждения релиза. Кажется, их менеджеры совсем перестали понимать, кого винить в своих неудачах и собирают очную ставку для поиска козла отпущения, а мне очень не хочется им стать.

– Ммм, заказчик соскучился по моему страпону? Выезжаю. – съязвила Лиз, на прошлом подобном совещании она отчитывала заказчика при подрядчиках за хаос в проекте, ручное управление и отсутствие внятных процессов в разработке и взаимодействии подрядчиков.

– Прошу тебя, Лиз, побереги энергию для чего-то более важного. От тебя нужно просто придти и сказать пару фраз для приличия.

– Я и приличия? Назар, на какие жертвы я иду ради тебя! – Лиз отключилась от конференции. Общение с ее менеджером развлекало вербальной игрой и наполняло необычным ощущением взаимного принятия, что было редким при взаимодействии с людьми, чей основной функцией часто являлось выжать из команды как можно больше при как можно меньших затратах. Лиззи знала, что Назар на ее стороне и на стороне ее команды, она доверяла.

29.Эйчар (hr, human resources) – специалисты по найму и работе с сотрудниками, собирательное название для ряда специализаций.
30.Rust – язык программирования.
31.Софт (software) – программное обеспечение.
32.Пофиксить (fix) – исправить, чаще всего в смысле исправления бага (bug fix).
33.Бэклог (backlog) – список задач для разработки.

Покупайте книги и получайте бонусы в Литрес, Читай-городе и Буквоеде.

Участвовать в бонусной программе
Возрастное ограничение:
18+
Дата выхода на Литрес:
20 марта 2022
Дата написания:
2022
Объем:
210 стр. 1 иллюстрация
Правообладатель:
Автор
Формат скачивания:
Текст
Средний рейтинг 5 на основе 1 оценок
Текст, доступен аудиоформат
Средний рейтинг 3,7 на основе 3 оценок
Подкаст
Средний рейтинг 0 на основе 0 оценок
Подкаст
Средний рейтинг 0 на основе 0 оценок
По подписке
Текст
Средний рейтинг 4,7 на основе 7 оценок
Текст PDF
Средний рейтинг 5 на основе 1 оценок
Текст, доступен аудиоформат
Средний рейтинг 5 на основе 1 оценок
По подписке
Текст
Средний рейтинг 0 на основе 0 оценок
По подписке
Текст
Средний рейтинг 3,8 на основе 10 оценок