Манеры поведения разработчиков

content_copy

01-11-2024

15 min

Note

people

developers

opinion

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

”Не будите во мне зверя”

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

Если рассматривать все эти ситуации, то можно выделить несколько факторов, которые привели к негативному состоянию:

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

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

Какие же модели поведения бывают ?

Я сделал лишь небольшую выборку таких моделей. В реальности вы знаете или узнаете гораздо больше.

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

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

Если в моем доме случится пожар, я позову на помощь, а сам пойду погуляю

Внимание - ценный ресурс. И этим ресурсом нужно уметь правильно управлять. Но вот вопрос - если ситуация уже произошла, и ты оказываешься вовлечен в обстоятельства ситуации, нужно ли уделить этому внимание или “пойти погулять”?

Мне забавно наблюдать, что многие предпочитают думать: оказавшись в обстоятельствах, я все еще могу отдалить свое внимание от них, и огонь меня пощадит. Подумайте сами, как часто вам доводилось замечать и слышать фразы вида “не на нашей стороне”, “беки разберутся, я на шарю”, “фронт разберется, я не шарю”, “девопсы починят”, “я все еще доступы себе не сделал, сорян”.

Что здесь хорошего ?
  1. Человек сохранил ресурсы внимания
  2. Человек сохранил ресурсы времени при условии, что проблема будет решена сама собой
  3. Человек исключил свое негативное влияние на решение проблемы
Что здесь плохого ?
  1. Человек не активировал свой мозг. Это означает, что был упущен шанс усилить мыслительные способности
  2. Человек не получил опыт. Опыт и информация помогают (и часто мешает) мозгу формировать новые узоры мыслей
  3. Человек исключил позитивное свое влияние на решение проблемы.
Что побуждает негатив ?
  1. Для тех, кто имеет страх не решить проблему - усиление страха, потому что кажется, что шансов на спасение стало еще меньше
  2. Для тех, в ком горит его собственное социальное - грусть, потому что “чем больше, тем веселее”
  3. Для тех, кто имеет усталость и недостаток ресурсов - тяжесть, потому что ему придется потратить больше ресурсов, хотя их у него мало

Дом сгорел. Человек не сгорел.

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

Противоречивость - злобный враг человечества. Наверняка, многие встречали людей, про которых можно сказать: “Вот не пойму, важно ему это или нет. Вроде и важно, а вроде и нет”. Залетая в контекст разработки, можно привести много примеров и этому поведению.

Проект часто падает по очевидным причинам, однако:

  • очевидности в коде нет
  • очевидности в архитектуре нет
  • очевидности в механике работы функций
  • очевидности в сценариях работы с проектом нет

Что предложит человек с рассматриваемым поведением ?

  • ”Мне в логах недостаточно инфы, пойду добавлю кастомное логирование в пару тройку функций"
  • "Это все потому что у вас линтера нет, вот давайте я линтер вам настрою и будет все шикарно"
  • "А я говорил, что уже давно надо переписать на rust|go|java|kotlin|dart|python|..."
  • "Что вы паритесь, есть прекрасное средство - Super Unified Convergent Kubernetes, сокращенно (SUCK). Нужно просто его делать и все будет замечательно. Ща настрою”

Посмеялись (или поплакали), а теперь к трем “что … ?“.

Что здесь хорошего ?
  1. Человек получит какой-то другой опыт и дофамин
  2. Шанс того, что человек все же поможет решить проблемы своими хотелками
  3. Человек исключил негативное свое влияние на решение проблемы
Что здесь плохого ?
  1. Человек не активировал свой мозг достаточно сильно, чтобы тот смог улучшить себя
  2. Человек потратил внимание на другую деятельность
  3. Человек исключил позитивное свое влияние на решение проблемы
Что побуждает негатив ?
  1. Для тех, кто имеет страх не решить проблему - усиление страха, потому что кажется, что шансов на спасение стало еще меньше
  2. Для тех, в ком горит его собственное “поиграть в игрушку” - зависть, потому что вместо того, чтобы играть в игрушку, человек за двоих будет тушить пожар
  3. Для тех, кто имеет усталость и недостаток ресурсов - тяжесть, потому что ему придется потратить больше ресурсов, хотя их у него мало

Дом сгорел. Человек не сгорел.

Если в моем доме случится пожар, я спасу компьютер, а остальное как-нибудь само

Наверное, это мое “любимое” поведение из представленных здесь. Примеры такого поведения можно увидеть не только в случае решения проблем, но и в ситуациях выбора оптимального пути или даже решении творческой задачи. Мне вспоминается опыт, когда человек с гиганстким уровнем заинтересованности в решении миниатюрной проблемы (которую можно было бы и не решать) потратил столько моего внимания, что я потом двое суток не мог нормально соображать.

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

При таком поведении у человека возникает подмена важности. Хотя, подмена возникла до поведения, а поведение - следствие этой подмены.

Человеку важно:

  • “правильно обрабатывать ошибки, когда ошибок в день под сотню"
  • "писать тесты на каждую функцию, когда 10 функций дублируют друг друга"
  • "добиться желаемого процесса разработки всей команды, когда напрочь отсутствует желаемый уровень чистоты своего же кода”
Что здесь хорошего ?
  1. Человек получит какой-то опыт
  2. Человек потушит хоть что-то
  3. Шанс того, что человек получить хоть какой-то дофамин от того, что сделал хоть что-то и хоть как-то, что он хотел
Что здесь плохого ?
  1. Человек не активировал свой мозг достаточно сильно, чтобы тот смог улучшить себя
  2. Человек потратил внимание на другую деятельность, которая не принесет ему приятного состояния
  3. Человек исключил позитивное свое влияние на решение проблемы
Что побуждает негатив ?
  1. Для тех, у кого хороший уровень осознания ценностей - гнев от самого факта подмены ценностей, несоответствие желаемой реальности с объективной
  2. Для тех, кто способен “усидеть на двух стульях” - смесь печали и отвращения, потому что он способен осознать, что может и компьютер спасти, и дом потушить
  3. Для тех, кто имеет усталость и недостаток ресурсов - тяжесть, потому что ему придется потратить больше ресурсов, хотя их у него мало

Дом сгорел. Человек подпалился.

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

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

В разработке вы часто можете видеть такой сценарий:

  • “О, абмициозный проект, давай ка я его затащу"
  • "Что-то тяжело, но ничего, сейчас MVP сделаем и потом отдохну"
  • "Ну не отдохнул, ничего, я же сильный, пользователи пойдут отметку в первые 100 тысяч и потом можно будет релаксировать"
  • "Что-то все падает, команда не воспринимает, каждый делает не то, что нужно, уффф"
  • "Да пошло оно все, пойду уволюсь”

К сожалению, источник данного поведения находится не в изначальной конструкции мозга разработчика. Это движение я могу назвать “challenge and achieve”. Оно вездесуще, все вокруг пытаются достигать чего-то и испытывать кого-то.

Однако, куда-то делся очень интересный и очень важный вопрос: “А зачем оно мне ? Разве я создан для того, чтобы вечно что-то достигать или чтобы вечно меня кто-то испытывал ? И хочу ли я этого ?”

Что здесь хорошего ?
  1. Человек получит огромный опыт и усилит свои мыслительные способности в разы
  2. Человек решит все проблеы и потушит все пожары
  3. Шанс того, что человек получит хоть какой-то дофамин от того, что сгорел
Что здесь плохого ?
  1. Человек умер
Что побуждает негатив ?
  1. Для тех, кто научился ценить жизнь - печаль и щепотка жалости от того, что не может помочь бедняге
  2. Для тех, кто просто рядом - ошметки пламени от огня, который перекинулся с дома на человека
  3. Для тех, кто допустил это - давление на самооценку и активация внутренних принципов вида “я сделаю так, чтобы мои сотрудники не перерабатывали”

Дом не сгорел. Человек сгорел.

Если в моем доме случится пожар, я буду активно его тушить, но останусь жив сам

Самое сложное поведение. Да и самое редкое.

Представьте себе разработчика, который дожил до старости, сохранил зрение, спину, сосуды, сердце и прочие компоненты своего организма в максимально возможном для его генетики здоровом состоянии. При этом этот разработчик решил все задачи, которые хотел (или приходилось), написал весь код, который хотел и сделал все продукты, которые хотел сделать. Да еще и без вредных привычек… Сложно? Тогда вам стоит задуматься. Когда-то и мне было сложно, сейчас я могу такое представить.

Как такое поведение проявляется при тушении пожаров ?

  • Получить ответ на вопрос “зачем мне это”, чтобы придать мотивацию к ленивому мозгу
  • Включить моделирование. Сначала обозреть всю ситуацию и построить полную модель у себя в голове
  • Получить необходимые сведения для реализации модели
  • Выделить критерий успешности решения. Он должен быть общим для всех участников обстоятельств
  • Пройти путь решения, уже не оглядываясь и не перерабатывая модель
  • Извлечь опыт и улучшить навыки моделирования для последующих ситуаций

Это не выглядит как какой-то реальный пример поведения, но и такое поведение тоже имеет право на существование.

Что здесь хорошего ?
  1. Человек получит огромный опыт и усилит свои мыслительные способности в разы
  2. Человек решит все проблеы и потушит все пожары
  3. Человек получит дофамин, мозгу “понравится” то, “как тушили пожар”
Что здесь плохого ?
  1. Придется потратить много усилий для такого поведения
  2. Возможно, придется поменять наиболее простую и понятную модель себя самого, чтобы достичь такого поведения
  3. В случае провала придется потратить много усилий на то, чтобы не сожалеть. Сожаление отнимает у нас приличный объем ресурсов. Как не сожалеть ?
Что побуждает негатив ?
  1. Для тех, кто так не хочет или не может - зависть от успешности человека
  2. Для тех, кто специально так не хочет, но оказался вовлечен в игру такого человека - придется делать не то, что хочется и не то, что привычно
  3. Для тех, кто хочет извлечь выгоду из такого поведения - риск оказаться в проигрыше

Дом не сгорел. Человек не сгорел.

Как жить-то?

И теперь к вопросу о том, а что же делать с этими поведениями и как понять, какое поведение для тебя является правильным.

Ответ - “думай”.

Думай о том, почему тебе было плохо.

Думай о том, почему тебе было хорошо.

Думай о том, что есть ты и твое поведение у тебя в голове.

Думай о том, на сколько твоя модель тебя правильно передается другим людям.

Думай о том, хочешь ли ты тушить пожар в доме, твой ли это дом, что ты хочешь вместо этого.

И самое главное - всегда задавай правильные вопросы себе и (иногда) другим. И никогда, никогда не останавливайся в своих вопросах к самому себе, пока не найдешь все ответы.

”Что мы на самом деле хотим извлечь из этой встречи ?"

"Почему я на самом деле хочу добавить линтер в проект ?”

“Зачем нам на самом деле нужен k8s и AWS ?"

"Почему мне так важно иметь EFK+Prom+Grafana+Jaeger+…?”

Думай