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

Узнать, почему я так думаю

Вступление


Это будет статья про нытье, разочарование, выгорание и возрождение.

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

Возможно пройдет время и я изменю свое мнение. Адекватные дискуссии приветствуются.

Определенно хочу сказать спасибо 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. Скажите что Линус плохой разраб, потому что он не задумывался о монетизации.

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

А всем остальным желаю заниматься любимым делом в комфортной обстановке и не вестись на всякие льстивые уловки.

Спасибо что прочитали.