Рубріки: Истории

«Я не могла найти свою машину в гараже и забывала целые разговоры»: как работа в Google повредила мне мозг

Оленка Пилипчак

В начале 2015 года разработчица Кэтлин Гадд пришла в Google. Ее взяли в команду V8 как одного из первых авторов спецификации к WebAssembly. В этой статье она расскажет часть истории о том, что по итогу пошло не так и нанесло непоправимый урон ее здоровью.

Передаем слово Кэтлин.

Редакция Highload публикует перевод материала.

Переведено бюро переводов в Киеве «Профпереклад».

Перевод от

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

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

Как все начиналось

До прихода в команду V8 я несколько лет проработала в поддержке транспайлера, конвертирующего .NET-приложения в эффективный JavaScript. Проект запустили одновременно с Emscripten — именно это приложение сначала стало стандартом, а потом вдохновило команду на создание WebAssembly. Мне повезло поработать с создателем asm.js Элоном Закаи (Alon Zakai), и я многому у него научилась. Благодаря этому опыту я идеально подходила в команду WebAssembly.

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

Тем не менее, Google — худшая компания, в которой мне довелось работать. Это место буквально повредило мой мозг.

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

У WebAssembly был грандиозный потенциал. Mozilla и Google вкалывали изо всех сил, чтобы asm.js стал механизмом, обеспечивающим работу приложений в сети. Они по-своему решили большинство технических проблем, но стало ясно, что некоторые проблемы слишком трудно устранить. Так началась работа над WebAssembly.

Нужно было изучить сильные стороны asm.js и одновременно разобраться со слабыми. А затем создать спецификацию, которую можно легко реализовать в нынешних runtime JavaScript с использованием их генераторов кода, debugging и прочей инфраструктуры.

Я присоединилась к этому процессу одной из первых, и это было очень интересно. У меня был опыт работы с веб-платформами, но в написании спецификаций есть свои уникальные сложности.

Все были одновременно и менеджерами, и юристами, и программистами. И Д.Ф. Бастьен (JF Bastien), и Люк Вагнер, и Элон Закаи, и Бен Титзер, и многие другие усердно трудились, создавая основу того, что потом будут использовать миллиарды людей.

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

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

Откуда взялись стресс и токсичность?

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

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

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

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

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

Команде V8 в целом не повезло — мы работали под руководством лидера Chrome, человека, которому было на все наплевать. У него до сих пор едва ли не самый низкий рейтинг во всей компании.

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

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

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

Как WebAssembly повредила мой мозг

Чуть выше я писала, что WebAssembly повредила мой мозг — абсурдное утверждение, но, увы, правда. Два года работы в Google сопровождались постоянным стрессом. Мне пришлось неофициально выступить менеджером проекта, помогать вести совещания, документировать решения и при этом еще и разбираться с враждебно настроенными коллегами.

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

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

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

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

Моей первой оплачиваемой работой была работа гейм-дизайнера в студии по разработке игр в начале 2007 года. Я быстро вжилась в роль, которая определила всю мою карьеру – роль tool-программиста. Я сосредоточилась на том, как помочь другим выполнять свою работу, как понять, что именно вызывает у них стресс и мешает двигаться дальше.

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

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

Любое токсичное место, где я работала, обычно было результатом плохой работы руководства. Этот случай не стал исключением. Здесь я тоже объяснила одному из руководителей Google, почему у проекта WebAssembly возникли проблемы. Что ему не хватает поддержки со стороны организации, потому что люди просто уходят с проекта. Он согласился с моей оценкой, а затем сообщил, что ничего менять не будет. В итоге команда все поменяла самостоятельно.

Финал моей истории с Google

Моя работа в Google завершилась тихо и без всяких драм. Я вернулась из отпуска и обнаружила, что команду WebAssembly фактически распустили — кто уволился, а кто сбежал в другие отделы. Мой новый менеджер сообщил, что теперь я буду работать над незнакомой мне частью Chrome с совершенно другими людьми.

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

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

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

Автор: Кэтлин Гадд

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023