Хабрахабр

Я бросил работу мечты, потому что не переношу продуктовую разработку

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

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

И я хотел осудить друга, но вспомнил как сам отказывался брать продуктовых разрабов на собеседованиях.
Однажды мы с командой проводили тех-интервью, кандидат неплохо шарил, но мы решили, что он нам не подходит только потому, что пришел из продуктовой компании. А я всю жизнь работал в аутстафах, и, конечно же, считаю по-другому. Он рассказывал не как продукт сделан, а что продукт делает для людей. Парень полчаса тер про продукт, который делал на прошлой работе. Мы, конечно не говорили друг другу: «Ему важен продукт, а должно быть насрать», но были единодушны в своем нежелании работать с ним, и навыдумывали много поводов для отказа. У нас спрашивал, что мы делаем, а не как и с помощью чего.

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

Одна продуктовая фирма, где я работал, использовала C# 2. Возможно, этому виной плохие примеры. ДВА НОЛЬ. 0. И я принимаю этот аргумент — это аргумент бизнеса, для которого прибыль важней технологичности. Аргументировали они просто: проект большой, если переносить его на новую версию, наплодим кучу багов. Я понимаю бизнес, но я не могу понять разработчиков, которых это устраивает.

Сознательный спуск карьеры в унитаз я еще могу понять — окей, человек нашел себе работу на всю жизнь, это его выбор. Есть тысяча карьерных причин для того, чтобы использовать новейшие технологии. 0, которая ее автоматизирует. Но черт подери, у тебя есть задача, вот тебе фишка из C# 4. Сейчас я начну писать тонну говнокода, и все заработает». А они отвечают: «Нет, мне не нужна автоматизация. И ведь она реально не улучшит. Они говорят мне в лицо, что не верят в новую технологию, не верят, что она улучшит их продукт. Но для меня эти разрабы, как таксисты, которые ненавидят Яндекс, и приходят в ярость от разговоров про автопилоты. Яма не станет лучше от того, что ее выкопали экскаватором вместо лопаты. И с такими разработчиками я работать не готов.

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

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

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

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

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

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

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

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

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

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

Счастливчики, которые работают над ними сейчас, скажут себе перед смертью: «Я делал VSCode, это имеет огромное значение для человечества», и будут правы. Есть очень много проектов, над которыми я бы хотел поработать. Главное, быстро и верно выяснить, что тебя радует. Я скажу себе: «Я писал отличный код на каких-то проектах, это имеет огромное значение для меня», и буду прав.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть