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

в 14:08, , рубрики: F#, Карьера в IT-индустрии, управление персоналом, управление разработкой

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Автор: Philipp Ranzhin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js