Узнать, почему я так думаю
Вступление
Это будет статья про нытье, разочарование, выгорание и возрождение.
Эту статью я пишу в первую очередь для себя, чтобы разложить по полочкам свое понимание определенной области на данный момент.
Возможно пройдет время и я изменю свое мнение. Адекватные дискуссии приветствуются.
Определенно хочу сказать спасибо fillpackart за его статьи. Я часто не согласен с его суждениями и выводами, но, пожалуй, именно его публикации подтолкнули меня к размышлениям. Итогом некоторых таких размышлений стала эта статья.
Также вышла интересная дискуссия с TimeCoder, в которой я понял, что мне не хватает продуманных аргументов. «Как собака — все чувствую, а выразить не могу!»
Кто ты вообще такой?
Можно сказать, что я программист по призванию. Увидел компьютер первый раз года в 4, батя на работе дал мне порисовать на черно-белом мониторе в чем-то типа Paint. Я был поражен и осознал что хочу уметь командовать машиной, абсолютно и безраздельно. Потом были книжки дома типа «Познаем компьютер», первая программа на QBasic в 13 лет, институт по специальности «ПО ВТ и АС» с квалификацией «Инженер» и работа. В продакшен я писал код на VBA, JS, T-SQL, PL/SQL, Битрикс (прости Господи) и как основной язык C#.
В общем обычная крепкая веб-макака. А еще я не хочу решать задачи бизнеса.
Почему ты так решил?
Когда я был молодой, то узнал про разделение программистов по уровню квалификации — junior, middle, senior. А так как я хочу уметь командовать машиной, значит моя цель — стать сеньором! Не ради лычки, а чтобы заслуженно обладать таким же количеством знаний и умений.
Шло время, я читал умные книжки, набирался опыта от старших товарищей.
И кто такой сеньор?
На работе меня потихоньку начали таскать на совещания. Сначала на обсуждение частей сервиса. Потом на интеграцию сервиса с другим сервисом. Потом на обсуждение дизайна UI. И потом я осознал, что сижу среди менеджеров, они обсуждают увеличение конверсии и воронку продаж, и поглядывают на меня, хотя я вообще бэкенд.
Тогда я спросил своих знакомых сеньоров, нормально ли это, мне ответили «Конечно, это обязанность сеньора». А это реально крутые ребята, я хотел быть как они. И я начал ходить на совещания.
И было все больше совещаний и мне говорили «Надо думать, как решать задачи бизнеса».
И тут я понял, что сеньор — это тот, кто решает задачи бизнеса.
А что значит решать задачи бизнеса?
На одной работе мне однажды выдали сеньорскую лычку. Хотя там все поголовно были сеньорами, я все равно обрадовался, и погрузился в сеньорство с головой. Спорил с менеджером проекта, и аналитиком, и дизайнером, чтобы сделать пользователю удобнее и комфортнее, хотя это было некрасиво с точки зрения кода и архитектуры. Код проекта получался все хуже. Начальство ставило задачу всей команде, а спрашивали потом с меня. «Ну ты же сеньор». Я был связующим звеном между менеджером, базистом, фронтом, аналитиком и дизайнером. И еще писал бэкенд.
И как-то это все начало меня напрягать и я подумал «Наверно надо найти другую работу».
Собеседования выглядели примерно так:
— Вы же претендуете на позицию senior software developer?
— Да. А какие обязанности у senior software developer?
— Решать задачи бизнеса, разумеется.
Оказалось, что везде одно и то же.
Начальство, знакомые сеньоры, рекрутеры, интервьюверы мне говорили «Настоящий программист должен решать задачи бизнеса. Бизнес зарабатывает деньги. Ты должен делать такой продукт, который бы приносил деньги. А иначе за что тебе платить?».
И тут я понял, что решать задачи бизнеса — думать о том, как принести работодателю больше прибыли.
И в чем трагедия?
А я не хочу об этом думать.
Эй, а за что тебе тогда платить?
А вот наконец и вылез культивируемый миф, то что сеньор позиционируется как Настоящий Программист! То, к чему должны стремиться все разработчики.
Мне кажется, что я открыл заговор работодателей.
Бизнесу выгоден этот миф. «Эй, парень, хочешь лычку? Мы назовем тебя Настоящий Программист, а ты думай в первую очередь о том, как будет легче продать то, что ты напишешь.»
И самое плохое то, что некоторые скудоумные разработчики сами в это верят и поддерживают миф.
«Я решаю проблемы бизнеса, мне выдали сеньорскую лычку, значит я Настоящий Программист, а ты нет!» — маркетинговый буллшит.
Поясни на примерах
Программист это такое смешение инженерии и творчества.
Инженер, который строит мост, должен ли вообще задумываться о том, как этот мост будет окупаться? Вообще нет, его задача — спроектировать и построить мост, который уложится в сроки, в смету и простоит указаное по плану количество лет.
Авиационный инженер не должен думать, как же компании надо будет окупать рейсы. Он должен построить эффективный, мощный, удобный в обслуживании двигатель.
Художник с детства мечтал о том, как его рисунок на коробке хлопьев будет способствовать увеличению продаж?
Врач-хирург просто делает операцию, чтобы спасти жизнь пациенту, а Настоящий Врач-Хирург делает операцию и продумывает, как бы ее сделать так, чтобы пациент заплатил больше денег больнице?
Смешно? Бред? А с программистами почему-то работает.
Сам-то не сеньор, вот и бесишься!
«Раб мечтает не о своей свободе, а о своих рабах».
Я осознал что мне наплевать, как бизнес будет монетизировать мой труд. Пусть этим занимаются менеджеры, продажники, маркетологи и product owner.
«О нет, ты теперь не сеньор!» — вообще наплевать, лычки никак не влияют на квалификацию разработчика.
Я просто стараюсь хорошо делать свою работу, писать качественный и легко поддерживаемый код.
Давайте вспомним Linux. Скажите что Линус плохой разраб, потому что он не задумывался о монетизации.
Я бы посоветовал разработчикам, которые думают о проблемах бизнеса, открыть свой бизнес и думать о нем, это будет полезнее для всех.
А всем остальным желаю заниматься любимым делом в комфортной обстановке и не вестись на всякие льстивые уловки.
Спасибо что прочитали.
JekaMas
Не хотите бизнеса, не работайте с бизнесом. Уйдите в другие проекты, в исследования, наконец.
Или тут и рыбку съесть, и косточкой не подавиться?
Muxto Автор
Как вариант.
На текущей работе, кстати, не напрягают. Но это редкость.
JekaMas
Подозреваю, что во многом это связано с вашим путём в программировании. Pl/sql, bitrix — это про бизнес. Да и c# во многом тоже.
Возможно, надо сменить область.
Но вцелом, если вы хотите поменять что-то, то надо говорить с теми, кто платит.
Gorthauer87
Кажется самый быстрый путь уйти от бизнеса, если он не радует, а это как мне кажется нормально для программиста, это уйти из продуктовой разработки в системную, там все иначе, там ты уже становишься настоящим инженером.
Muxto Автор
Поподробнее?
Gorthauer87
Тут уже упоминали инфраструктурные задачи, но можно же дойти до уровня разработки фреймворков и библиотек для решения типовых задач. В конце концов ведь их кто то пишет и им за это платят, но напрямую задачи бизнеса они не решают.
Muxto Автор
Перекатиться на си и раст?
tyomitch
К языку это вообще не имеет отношения.
Инфраструктурные задачи можно и bash-скриптами решать.
alan008
Утрированно — да
oinovikov
Блин, может это мне и нужно…
VolCh
А ТЭО (техник-экономическое обоснование) настоящие инженеры уже не пишут?
Gorthauer87
А когда оно от инженеров вот прямо точно попадало в цель? Эти тэо часто просто гадание на кофейной гуще.
VolCh
Это уже дело десятое :) Но оно именно о сравнении денежных потоков (читай о бизнесе) при том или ином варианте технического решения бизнес-задачи. Или даже не технического, а административного типа издания приказа по компании, там где предлагалось какие-то технические решения внедрять
ardraeiss
Инженеры, которым руководитель поставил задачу "ты — пишешь ТЭО"?
Инженеры, которые метят в руководители?
Просто очень рукастые и очень переживающие за дело инженеры?
Да.
А вот все ли инженеры к ним относятся и какова точность и качество полученного ТЭО — вопросы не менее важные.
Lissov
Как человек, работавший в науке, скажу Вам что это странный совет.
В «исследованиях» тем более надо «решать задачи бизнеса». Это в бизнесе хоть иногда бывает чёткое ТЗ. Это для бизнеса продуманы best practices, которые в худшем случае можно и бездумно применить. В науке нет никакой идеальной архитектуры и чисто кодерских задач, там надо как раз понимать общую картину и предлагать лучшие решения.
И о том, как это финансировать, тоже надо думать.
JediPhilosopher
Наука в реальности (во всяком случае та, за которую платят) — это тоже бизнес. Потому что все равно есть кто-то, кто платит зарплаты и дает деньги. Просто там другие требования и другие метрики.
Прикладная наука в компаниях — ну там по сути тот же бизнес, просто набор инструментов для решения задач немного другой.
В государственных учреждениях вообще своя атмосфера.
В каком-нибудь ВУЗе/НИИ, например, может быть "своя тема", которую там разрабатывают. И будьте добры — рожайте код в канве этой темы. Отходить от нее нельзя — это будет нецелевое расходование средств.
При этом если речь идет о государственных деньгах — там может быть очень много тем, которые вообще в реальности никому не нужны и представляют собой просто пилежку денег — и это демотивирует еще сильнее, чем работа в аналогичном бизнесе (там все-таки обычно хоть кому-то нужно, кто деньги платит).
Вообще в исследовательской сфере очень сильна формализация. Если в бизнесе никому не нужен ваш код, нужен продукт, решающий бизнес-задачу, то в исследованиях часто даже продукт не нужен. Нужен лишь формальный отчет о том, что продукт создан. И желательно куча сопутствующих бумажек, всяких грантов-патентов-статей. Сам продукт нужен исключительно для того, чтобы прикрыть зад, если кто-то вдруг все-таки решит проврить, на что же потрачены государственные деньги, и нельзя ли кого-нибудь прижучить за растрату.
Да, если повезет — можно устроиться так, чтобы делать что-то интересное и при этом почти не быть ограниченным. А если не повезет — будете делать ненужную, скучную хрень, еще и утопать в макулатуре и отчетах.
JekaMas
Ох. У вас отечественная специфика. Сочувствую.
Я пока в open source проектах, исследования для которых финансируются созданными для этого фондами. И открыто и неформально и итоги исследований нужны.
JediPhilosopher
Да она не отечественная, везде в государственной науке та же фигня, если покопаться в статьях или пообсуждать с коллегами из других стран на научных конференциях. Куча бумагомарательства и прожектерства, среди которых иногда случайно тут и там прорастает что-то стоящее. По-другому люди, видимо, не умеют.
basil_pivovarov
Действительно, сейчас ситуация именно такая (с тенденцией к дальнейшему ухудшению). Однако это не данность, а результат прививания «административной» и «деловой» (в плохом смысле слова — не по Отто и не по Сименсу) субкультур к той области человеческой деятельности, которая возникла и развивалась по другим правилам, где эти субкультуры не нужны и не приносят ничего, кроме вреда (вплоть до полного извращения исходного смысла существования научных учреждений).
На эту тему довольно много пишут, и многие авторы отмечают, что вплоть до XX века наука во многом оставалась аристократическим баловством. Ею занимались очень штучные люди вроде лорда Кавендиша, у которого свободных средств было больше, чем в карманах у всей остальной Англии. Исследованиями такие люди занимались из интереса к устройству мира и желания блеснуть перед другими такими же натурфилософами, способными понять и оценить их работу. Монетизация этого любопытства их совершенно не интересовала. Они же подбирали себе сотрудников по вкусу и поддерживали людей без собственных средств со сходными интересами. Ученые победнее также видели в качестве социального образца скорее средневековые монашеские ордена или подобные учреждения (средневековые университеты, опять же — те же монастыри, вид сбоку). В итоге была создана атмосфера, которая сохранилась и после окончательного развала феодальных государств, удержавшись вплоть до последней четверти XX века, причем в странах с самыми разными социальными устройствами. При этом государственная бюрократия по отношению к науке выполняла функцию «монаршей благотворительности».
Помимо прочего, для работы в рамках такой системы нужны люди определенного склада, а они никогда не были слишком многочисленны, а в обществах, где «бизнес» и «бюрократия» срослись и приобрели тотальный характер, являются исчезающим видом.
Черный юмор ситуации состоит в том, что для науки продуктивна именно такая атмосфера, и государства, даже самые забюрократизированные, вынуждены были поддерживать «академические свободы» и научную вольницу (без каких-либо твердых гарантий широко тратившую казенные деньги на удовлетворение личного любопытства, да еще сплошь и рядом норовившую крутить родному государству фиги), пока между ними шла непримиримая борьба и от продуктивности науки прямо зависело продолжение их существования.
Идеализировать эту систему тоже не стоит, но по всем аутентичным свидетельствам заметно, что для науки и ученых она была кратно лучше, чем то, что сейчас навязывается в качестве «единственно-возможной формы существования науки в современном обществе».
gecube
а потом как в анекдоте про блох. Под целевую тему будет подгоняться все что угодно, вплоть до анализа размера и качества козявок в носу.
JediPhilosopher
Именно так и есть.
Бывает очень грустно выбирать из двух тем. Первая, ты точно уверен, может реально чем-то помочь людям и превратиться в работающий продукт. Но она не хайповая. Там нет блокчейна, машинлернинга и нейросетей, там может быть достаточно простой алгоритм, но который работает. И вторая тема — очередное применение блокчейнового аджайла к нейромашинлернинговым сетям. Технологии ради технологий, которые после написания отчета и освоения бабла будут выброшены на свалку (потому что не решают никаких реальных проблем)
Но вот под вторую дают финансирование, потому что красивые слова будут красиво смотреться в отчете, который начальство будет презентовать губернатору или совету фонда или на каком-нибудь очередном "каком-то там цифровом форуме" на камеры. А полезный алгоритм, но без хайповой темы, оваций не сорвет и в отчетах смотреться не будет.
phtaran
но ведь разработке бизнеса (business development) есть отдельные специалисты. Профессия автора, судя по всему, — программист, а не бизнесмен и не управленец высшего звена.
насколько я понял, вы, трактуете позицию автора как попытку «усидеть на двух стульях»?
JekaMas
В какой-то мере это так и есть. Как минимум стоит быть честным с собой и тогда на собеседовании говорить, что думать о том, что нужно клиентам (а это и есть удовлетворение бизнеса), я не хочу, а хочу чего-то другого за вашу зарплату. Правда тогда процент успешных собеседований будет уменьшаться.
На мой взгляд, это и есть инженерное ремесло — совместить хитрые требования и решить действительную задачу в рамках ограниченных ресурсах. И это можно назвать задачами бизнеса.