- PVSM.RU - https://www.pvsm.ru -
Недавно поймал себя на знакомом состоянии. Сел разбираться с задачей, открыл IDE, начал копаться в логике — и в какой-то момент оказалось, что прошло почти шесть часов. Без перерывов. Обычно про концентрацию говорят через призму продуктивности: техники, таймеры, планирование. Но мне стало интереснее другое — что происходит в разработчика во время длинной сессии кодинга.
Я немного почитал исследования, немного понаблюдал за собой и сделал несколько маленьких экспериментов. В том числе написал пару простых скриптов на Python, чтобы попробовать зафиксировать изменения в состоянии во время длинной работы.Получилась странная смесь нейробиологии, самонаблюдений и небольших прототипов.
Когда разработчик полностью уходит в задачу, активно включается дорсолатеральная префронтальная кора. Это область
Проще говоря, именно она удерживает в голове всё, что нужно для решения задачи:
структуру системы
переменные и их состояния
ограничения архитектуры
возможные edge cases
По ощущениям это действительно напоминает стек вызовов. Пока задача активна, этот стек постоянно обновляется.
Вторая важная область — передняя поясная кора. Она отвечает за обнаружение конфликтов.
Каждый раз, когда что-то идёт не так — падает тест, возникает неожиданный результат, ломается логика — эта система включается.
Каждый такой момент — маленький сигнал: «предсказание не совпало с реальностью».
Тут появляется ещё один интересный механизм — дофаминовая система.
Дофамин реагирует не просто на награду. Он реагирует на ошибку предсказания.
Если результат неожиданно лучше ожидаемого — возникает сильный сигнал.
В разработке такие моменты происходят постоянно:
нашёл баг
понял причину
увидел, как тест внезапно стал зелёным
Я решил поиграться с простой моделью и посмотреть, как может выглядеть динамика таких «микронаград».
Это, конечно, игрушечная симуляция, но она помогает представить процесс.
import random
import matplotlib.pyplot as plt
steps = 100
dopamine = []
level = 0.5
for i in range(steps):
success = random.random()
prediction_error = success - level
level += prediction_error * 0.2
dopamine.append(level)
plt.plot(dopamine)
plt.title("Approximate dopamine response during debugging")
plt.xlabel("Iteration")
plt.ylabel("Signal level")
plt.show()
Если прогнать несколько раз, видно характерную вещь: сначала сигнал скачет сильнее, потом постепенно выравнивается.
Субъективно ощущается похоже: первые часы — азарт и интерес, потом работа становится более механической.
Есть один факт, который всегда немного удивляет.
При интенсивной когнитивной работе некоторые области начинают расходовать энергию заметно активнее.
Мне стало интересно посмотреть на более бытовой показатель — вариабельность сердечного ритма (HRV). Этот показатель часто используют для оценки нагрузки на нервную систему.
Если есть данные с носимого устройства, их можно быстро посмотреть в Python.
Простейший пример анализа выглядит примерно так:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv("hrv_session.csv")
plt.plot(data["minute"], data["hrv"])
plt.title("HRV during coding session")
plt.xlabel("Minutes")
plt.ylabel("HRV")
plt.show()
Во время нескольких длинных сессий кодинга я заметил довольно устойчивую тенденцию: примерно к четвёртому часу HRV начинает заметно снижаться.
Самое странное — субъективно в этот момент часто кажется, что всё ещё нормально.
Следующий эксперимент оказался самым простым.
Я просто посмотрел на собственные коммиты за несколько дней и попытался понять, какие изменения появляются ближе к вечеру. Не архитектура. Не сложные решения. А мелочи: Опечатки Невнимательные условия. Логические огрехи.
Именно те вещи, которые потом приходится быстро фиксить.
В какой-то момент мне стало интересно: можно ли поймать момент, когда
Я написал небольшой CLI-тест на реакцию. Ничего сложного — просто измерение времени ответа.
import time
import random
def reaction_test():
delay = random.uniform(2,5)
time.sleep(delay)
print("PRESS ENTER")
start = time.time()
input()
reaction = time.time() - start
print("Reaction time:", reaction)
reaction_test()
Я запускал его перед началом работы и после длинных сессий. Картина получилась довольно стабильная. После примерно шести часов:
реакция замедлялась примерно на 15–20 процентов
увеличивалось количество промахов
При этом субъективно казалось, что
Шесть часов непрерывного кодинга — это довольно серьёзная нагрузка для
Постепенно происходит несколько вещей:
падает эффективность префронтальной коры
увеличивается количество мелких ошибок
организм переходит в более напряжённый режим
исчезает ощущение свежести
Можно ли так работать? Конечно. Иногда по-другому просто нельзя. Но после нескольких экспериментов я начал замечать один важный момент. Есть точка, где фокус заканчивается. И начинается просто инерция.
Автор: Sisoev_Oleg66
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/fokus/447096
Ссылки в тексте:
[1] мозге: http://www.braintools.ru
[2] Источник: https://habr.com/ru/articles/1012020/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1012020
Нажмите здесь для печати.