снижается. Стало интересно разобраться как так получается.
Вот я, когда пишу кровавый тырпрайз на шарпе, жуть как не люблю добавлять поля в базу данных. То есть нет, сама операция-то простая — закинуть проперть в класс, заскаффолдить миграцию... А дальше?
А дальше это всё надо как-то отдебажить. И это, блин, долго: нужен сервер БД для дебага. Хорошо если есть docker-образ, чтобы быстренько поднять локально. А если его нет? А если надо ставить MSSQL и создавать базу данных или восстанавливать бекап? А если надо подключаться через VPN к существующему серверу? Вот все эта мелочёвка отнимает тонну времени. Что при этом происходит в голове?
А в голове я держу названия 3-5 классов в коде, столько же методов, представление как это всё лежит на диске и как взаимодействует. Помню какую переменную куда добавил, какой метод куда докинул, какую сборку подключил. Это позволяет быстро принимать решения и воплощать их в коде. Это и называется "работать в потоке". Так вот, когда работающий в потоке мозг сталкивается с необходимостью подождать — ощущение, будто поезд, несущийся во всех парах втыкается в скалу.
При том с современным тулингом ждать приходится долго так, основательно. До нескольких минут. Ждать пока сраный VPN подключится, билд пройдёт, виртуалка поднимается, бэкап развернётся, фронтенд соберётся. Что делать в это время? Обычно я стараюсь сохранить состояние потока до последнего и переключиться на другую задачу, или ответить коллеге, или прочесть почту. Но если ждать надо дольше 5 минут — я из потока вываливаюсь. Иду твиттер читать, ютубчик глядеть, телефон проверять. Всё, здравствуй прокрастинация.
Вот так я обнаруживаю, что сижу и тупо скроллю интернет. А пока я его скроллю — контекст задачи из головы выветривается. Помилуйте, ну какая задача? Там вон сиськи показывают, в подкасте KUJI что-то интересное рассказывают, в твиттере опять феминистки сцепились. Мозг остывает и к работе я возвращаюсь через полчаса минимум. Медленно влезаю обратно в поток, подгружаю контекст задачи...
Так, что я там хотел сделать? А, поле в базу добавить!
...
В первом сезоне Halt and Catch Fire протагонист толкал отличный тейк о том, что отклик машины менее 400мс — это совершенно иной опыт взаимодействия. Когда ждать надо долго — хочется отвлечься. Поглядеть телек, положить вещи в стиралку, сделать себе кофе. Отклик менее 400мс мозг воспринимает как мгновенный. А когда машина мгновенно отвечает на твои команды — она тебя засасывает. Приковывает твоё внимание. Отвлекаться не хочется совершенно. Это и есть состояние потока.
Это я всё к чему? Подозреваю, что не у меня одного голова так работает. И мораль тут следующая: архитектурное говно, тонна завивимостей, уебанский доступ к инфраструктуре, долгая сборка и запуск на дебаг — всё это снижает development experience и повышает когнитивную ёмкость. Разрабы прокрастинируют как описано выше, и фичи пилятся медленно. Всё то рабочее время, которое оплачивается каждый месяц, уходит просто на бесполезное ожидание, переключения контекста и прочее нагревание воздуха в помещении. А если ещё сдобрить парой созвонов, ммм...
Понимаете, если разработка идёт медленно — проблема не в разрабах. Разве что буддийский монах сможет сидеть и 10 минут смотреть в прогресс-бар, сохраняя концентрацию. Ваша команда может сплошь состоять из супер-быстрых и умных литкод-ниндзей, но если проект не располагает к оптимальному использованию когнитивных ресурсов, то толку от ваших top-3%-профессионалов будет не больше чем от команды джунов.
Когнитивная ёмкость и development experience — просто непаханное поле для исследований и разработок. Но современная архитектурная мысль движется, мне кажется, в диаметрально противоположном направлении: чем сложнее — тем лучше. А покуда оно так — всё у нас будет через жопу.
Такие дела
вышел из потока и читаю это)
ну хороший пост. про важность хорошего железа для разраба и процесса
на самом деле не понимаю людей которые жмуться себе на норм железо или хотя бы ссд какойто, это твой инстремунт, он тебя кормит, тебе должно быть комфортно
Или может просто нужно пользоваться нормальными tools, которые не требуют суперкомпьютера для тривиальных задач
для меня там хорошие примеры, почему нужно нормальное (не топовое, а нормальное для твоих задач) железо
А дальше это всё надо как-то отдебажить. И это, блин, долго: нужен сервер БД для дебага. Хорошо если есть docker-образ, чтобы быстренько поднять локально. А если его нет? А если надо ставить MSSQL и создавать базу данных или восстанавливать бекап? А если надо подключаться через VPN к существующему серверу? Вот все эта мелочёвка отнимает тонну времени. Что при этом происходит в голове?
Для етого есть SSH
в котором можно пробросить порт
Максимально душевный крик, близкий абсолютному большинству Энтерпрайз проектов
Ну ладно я не работаю в галере , то может не уловил мысль😁
Тебя в .нет talks ищут
Сомнительно, они меня оттуда выгнали
для каждого свой смысл, для меня основная мысль была в уменьшении простоя, что бы не отвлекался и не расфокусировался
Обсуждают сегодня