169 похожих чатов

Про работу в потоке Заметил что моя продуктивность на долгих задачах

снижается. Стало интересно разобраться как так получается.

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

А дальше это всё надо как-то отдебажить. И это, блин, долго: нужен сервер БД для дебага. Хорошо если есть docker-образ, чтобы быстренько поднять локально. А если его нет? А если надо ставить MSSQL и создавать базу данных или восстанавливать бекап? А если надо подключаться через VPN к существующему серверу? Вот все эта мелочёвка отнимает тонну времени. Что при этом происходит в голове?

А в голове я держу названия 3-5 классов в коде, столько же методов, представление как это всё лежит на диске и как взаимодействует. Помню какую переменную куда добавил, какой метод куда докинул, какую сборку подключил. Это позволяет быстро принимать решения и воплощать их в коде. Это и называется "работать в потоке". Так вот, когда работающий в потоке мозг сталкивается с необходимостью подождать — ощущение, будто поезд, несущийся во всех парах втыкается в скалу.

При том с современным тулингом ждать приходится долго так, основательно. До нескольких минут. Ждать пока сраный VPN подключится, билд пройдёт, виртуалка поднимается, бэкап развернётся, фронтенд соберётся. Что делать в это время? Обычно я стараюсь сохранить состояние потока до последнего и переключиться на другую задачу, или ответить коллеге, или прочесть почту. Но если ждать надо дольше 5 минут — я из потока вываливаюсь. Иду твиттер читать, ютубчик глядеть, телефон проверять. Всё, здравствуй прокрастинация.

Вот так я обнаруживаю, что сижу и тупо скроллю интернет. А пока я его скроллю — контекст задачи из головы выветривается. Помилуйте, ну какая задача? Там вон сиськи показывают, в подкасте KUJI что-то интересное рассказывают, в твиттере опять феминистки сцепились. Мозг остывает и к работе я возвращаюсь через полчаса минимум. Медленно влезаю обратно в поток, подгружаю контекст задачи...

Так, что я там хотел сделать? А, поле в базу добавить!

...

В первом сезоне Halt and Catch Fire протагонист толкал отличный тейк о том, что отклик машины менее 400мс — это совершенно иной опыт взаимодействия. Когда ждать надо долго — хочется отвлечься. Поглядеть телек, положить вещи в стиралку, сделать себе кофе. Отклик менее 400мс мозг воспринимает как мгновенный. А когда машина мгновенно отвечает на твои команды — она тебя засасывает. Приковывает твоё внимание. Отвлекаться не хочется совершенно. Это и есть состояние потока.

Это я всё к чему? Подозреваю, что не у меня одного голова так работает. И мораль тут следующая: архитектурное говно, тонна завивимостей, уебанский доступ к инфраструктуре, долгая сборка и запуск на дебаг — всё это снижает development experience и повышает когнитивную ёмкость. Разрабы прокрастинируют как описано выше, и фичи пилятся медленно. Всё то рабочее время, которое оплачивается каждый месяц, уходит просто на бесполезное ожидание, переключения контекста и прочее нагревание воздуха в помещении. А если ещё сдобрить парой созвонов, ммм...

Понимаете, если разработка идёт медленно — проблема не в разрабах. Разве что буддийский монах сможет сидеть и 10 минут смотреть в прогресс-бар, сохраняя концентрацию. Ваша команда может сплошь состоять из супер-быстрых и умных литкод-ниндзей, но если проект не располагает к оптимальному использованию когнитивных ресурсов, то толку от ваших top-3%-профессионалов будет не больше чем от команды джунов.

Когнитивная ёмкость и development experience — просто непаханное поле для исследований и разработок. Но современная архитектурная мысль движется, мне кажется, в диаметрально противоположном направлении: чем сложнее — тем лучше. А покуда оно так — всё у нас будет через жопу.

Такие дела

14 ответов

21 просмотр

вышел из потока и читаю это)

Dmitry- Автор вопроса
Ihor Ponomarenko
вышел из потока и читаю это)

ну хороший пост. про важность хорошего железа для разраба и процесса

Dmitry
ну хороший пост. про важность хорошего железа для ...

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

Dmitry
ну хороший пост. про важность хорошего железа для ...

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

Dmitry- Автор вопроса
Alexander Luzgarev
Или может просто нужно пользоваться нормальными to...

для меня там хорошие примеры, почему нужно нормальное (не топовое, а нормальное для твоих задач) железо

А дальше это всё надо как-то отдебажить. И это, блин, долго: нужен сервер БД для дебага. Хорошо если есть docker-образ, чтобы быстренько поднять локально. А если его нет? А если надо ставить MSSQL и создавать базу данных или восстанавливать бекап? А если надо подключаться через VPN к существующему серверу? Вот все эта мелочёвка отнимает тонну времени. Что при этом происходит в голове?

Mr. N
Для етого есть SSH

в котором можно пробросить порт

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

Ну ладно я не работаю в галере , то может не уловил мысль😁

Ihor Volokhovych
Тебя в .нет talks ищут

Сомнительно, они меня оттуда выгнали

Dmitry- Автор вопроса
Mr. N
Ну ладно я не работаю в галере , то может не улови...

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

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта