Думай медленно… Решай быстро

01.09.21

Саморазвитие - Личная эффективность

Несколько дней назад коллег подарил мне книгу «Думай медленно… Решай быстро» Даниэль Канеман. При чтении я заметил, что понятия «Система 1», «Система 2» и их взаимодействие хорошо иллюстрируются примерами из повседневной работы программиста. Чтение стало занимательным, а сделанные выжимки по первой части я решил выложить в статью. Возможно кому-то это покажется интересным и захочется прочитать оригинал.

Система 1 – работает автоматически, быстро, легко, без контроля.
Система 2 – выделяет внимание для сознательных умственных усилий.

Система 1 – предлагает решение, а Система 2 его принимает. Мы думаем, что решаем задачу при помощи Системы 2, но на самом деле Система 2 медленно «логически» проверяет «быстрые решения» предложенные Системой 1.

Пример: Надо организовать учет остатков на складе.
Система 1: Надо регистр, а для регистра регистратор и справочники…
Система 2: Логично, хорошее решение.

Система 1 предлагает образы переходя от одного образа к нескольким другим, не обязательно связанных с текущей задачей.  Система 2 анализирует предложенные образы последовательно. Так получается когерентность (связанность, понятность) решаемой задачи. Непонятное непроизвольно игнорируется. Поиск упущений требует дополнительных целенаправленных усилий Системы 2.
Целенаправленное использование Системы 2 в одном задании снижает желание использования Системы 2 в следующем задании, скорость увеличивается, а критичность снижается. Использование Системы 2 снижает удовольствие от исполнения заданий.

Пример: Надо организовать учет остатков на складе.
Система 1: Надо регистр, а для регистра регистратор и справочники…
Система 2: Дай еще варианты.

Система 1: В УНФ есть …
Система 2: Дай еще варианты.

Система 1: В Бухгалтерии есть один вариант реализации
Система 2: Буду сравнивать.., выбираю УНФ

Надо организовать учет взаиморасчетов.
Система 1: В УНФ есть …
Система 2: Логично, хорошее решение.

Надо организовать учет денег.
Система 1: Надо чаю попить…

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

Пример: Надо организовать учет остатков на складе.
Архитектор: Надо регистр, а для регистра регистратор и справочники…
Программист: Логично, хорошее решение.

Система 2 может направлять систему 1 на поиск. Можно целенаправленно вспомнить паттерн (прайминг) и проверить решение на соответствие (поиск).

Пример: Проверка качества «вручную» по чек-листу.

Повторение события, простые формулировки, ранее обдуманная мысль и хорошее настроение формируют когнитивную легкость. Легкое решение кажется правильным, хорошим. Ключевое слово «кажется», т.е. влияет на оценку сложности и трудоемкости. Работает и обратное – сложные слова и длинные предложения увеличивают оценку.
Если во время работы с заданием специально улыбаться (можно специально, растягивая уголки губ) задание будет казаться проще, бдительность Системы 2 снизится, снизится так-же и оценка. Если специально хмуриться – то наоборот. В тоже время «хорошее» настроение стимулирует Систему 1 и качество интуитивно предложенных решений будет существенно выше. Для критического анализа уже знакомой информации лучше использовать «серьезное» настроение.

Пример: Сначала сделаю прототип (пока хорошее настроение), потом исправлю ошибки в прошлых задачах (настроение ухудшиться) и проверю качество прототипа.

Паттерны, выраженные в простых мыслях, формируют легкость и скорость восприятия за счет активного использования Системы 1.
Кроме того паттерны формируют «норму». Отступление от нормы вызывает удивление и инициализирует поиск причины. В результате могут быть найдены причины там, где их нет. Более того может появиться новая «норма».

Пример: Пусть есть две процедуры, которые формируют печатные формы. У каждой печатно формы есть «Шапка», «Шапка таблицы», «Строка», «Подвал». Две процедуры отличаются только именем макета.
При чтении кода Система 1 не произвольно анализирует код, замечает повторение и подкидывает паттерн «Не повторяй код». Система 2 сверяет код, подтверждает повторение и объединяет эти процедуры в одну.
Так формируется ошибочное решение объединить участки кода, которые совпадают «пока что», но имеют разные причины для изменения. В будущем, когда печатне формы будут изменяться скорее всего код придется снова разделить.

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

Пример: Пусть есть следующий код:

Функция СоздатьКонтрагента()
	Контрагент = Справочники.Контрагенты.СоздатьЭлемент();
	Контрагент.Заполнить(Основание)
	
	Возврат Контрагент;
КонецФункции

Функция ИНН_Контрагента(Контрагент)
	Запрос = Новый Запрос("ВЫБРАТЬ ИНН ИЗ Справочник.Контрагенты ГДЕ Ссылка = &Контрагент");
	Запрос.УстановитьПараметр("Контрагент", Контрагент);
	Выборка = Запрос.Выполнить().Выбрать();
	
	Результат = ?(Выборка.Следующий(), Выборка.ИНН, "");
	Возврат Результат;
КонецФункции

Процедура МояПроцедура()
	
	Контрагент = СоздатьКонтрагента();
	ИНН = ИНН_Контрагента(Контрагент);

КонецПроцедуры

Система 1 используя контекст все три метода прочитает как «хорошие» и только Система 2, специально направленная на поиск ошибок, может определить, что нельзя передавать объект в запрос.  

Система 1 при оценке сопоставляет интенсивности, в результате можно сравнивать несопоставимые величины (точность вычислений и достоверность информации). Такие «подмены» могут приводить к замене сложного вопроса на более простой.

Пример:

Сложный вопрос (игнорируется)

Просто вопрос (реально решается)

Какая точность прогноза?
(надо вычислить возможные отклонения)

Какая точность вычислений?
(указывается количество знаков после «,»)

Правильно ли ведется учет?
(надо проверить последовательность операций, взаимодействие разных регистров)

Правильно ли используется регистр?
(проверяется отдельная операция в отдельном регистре, связи игнорируются).

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Личная эффективность Agile Бесплатно (free)

Сегодня руководители и специалисты все чаще сталкиваются с хаосом в задачах и обязательствах, который приводит к перегрузке, стрессу и тревожности. В статье разбираем, почему привычные календари, органайзеры и популярные методики не всегда решают проблему, и показываем путь от «стихийного управления порядком» к осознанному контролю потока задач. Объясняем философию хаос-контроля, его ключевые принципы и минимально необходимые инструменты для работы с повседневной текучкой и глобальными целями. Делимся практическим опытом перехода от постоянной тревожности к устойчивой системе управления задачами без лишнего стресса.

11.02.2026    879    0    Crash_Aleks    0    

2

Личная эффективность Бесплатно (free)

Почему времени и внимания постоянно не хватает, и как растущая нагрузка на принятие решений влияет на нашу эффективность? Можно ли рассматривать когнитивную деятельность как процесс, который можно оптимизировать? Какие решения лучше принимать в разное время дня, от каких решений стоит отказаться вовсе, и как действовать, когда на сложный выбор уже не осталось сил? Ищем ответы на все эти вопросы, а также предлагаем практический подход, который позволяет высвободить до полутора дополнительных часов в сутки.

04.02.2026    706    0    kosmonavtka    14    

3

Личная эффективность Компетенции и навыки Бесплатно (free)

Эффективность ИТ-направления сегодня определяется не только технологиями, но и тем, как выстроены команды, процессы и культура внутри. Мы собрали в подборку самые рейтинговые, но еще не опубликованные доклады для ИТ-директоров с последней конференции, и хотим бесплатно поделиться ими с сообществом.

21.01.2026    1198    68    Infostart    0    

15

Личная эффективность Бесплатно (free)

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

17.12.2025    676    0    Gigantrop    0    

-1

Личная эффективность Радио Аналитик Бесплатно (free)

В восьмом выпуске четвертого сезона подкаста Радио “Аналитик“ обсудили в чем польза ведения личной базы знаний, как организовать процесс работы с информацией и какие возможности Obsidian можно для этого использовать.

08.12.2025    841    0    Radio_Analyst    1    

2

Личная эффективность Компетенции и навыки Бесплатно (free)

Карьера в экосистеме 1С - это не просто накопление знаний, а последовательная трансформация профессионального "Я". Специалист проходит через несколько стадий, каждая из которых характеризуется своим типом мышления, ключевыми мотивами и типичными конфликтами. Понимание этих стадий объясняет многое, что происходит внутри сообщества.

04.12.2025    3374    0    GarriSoft    29    

11

Личная эффективность Бесплатно (free)

Мы попробовали использовать современные макбуки для разработки на 1С – и нам очень понравилось! Настолько, что многие разработчики в отделе полностью перешли на них. Хотим рассказать, как организовали разработку 1С на технике Apple и что нас в ней так впечатлило.

30.11.2025    6373    0    leemuar    111    

7

Личная эффективность Бесплатно (free)

Здоровый программист, качественный код и стабильный карьерный рост – звенья одной цепи: невозможно развиваться, опираясь только на hard skills. Расскажем о том, как с первых шагов в профессии избежать проблем со здоровьем и выгоранием, сохраняя энергию на долгую дистанцию.

24.11.2025    4310    0    aidar_safin    58    

37
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1587 01.09.21 13:22 Сейчас в теме
Обе системы должны находить синтакс-ошибку в коде )
	Контрагент.Заполнить(Основание)
	
	Возврат Контрагент;
FesenkoA; Armando; bilex; AntonProgma; AnryMc; +5 Ответить
2. Armando 1402 01.09.21 17:21 Сейчас в теме
(1) Какую? Переменная не определена? Это же 1С. Основание может быть реквизитом формы или объекта в контексте которого исполняется функция.
3. artbear 1587 01.09.21 17:22 Сейчас в теме
(2) Нет, точки с запятой не хватает после скобки )
FesenkoA; Armando; +2 Ответить
4. Armando 1402 01.09.21 17:23 Сейчас в теме
(3) действительно. Не заметил.
5. lunjio 67 03.09.21 01:13 Сейчас в теме
Извиняюсь конечно, вы там одну главу прочитали и решили статью наклепать на пару абзацев, на совершенно выдуманном примере, который сам по себе абсурден ?) Передавать только созданного контрагента, пусть даже ссылку, чтобы ИНН получить, запросом, а не из реквизита. Более менее нормальный кодер даже если ему ссылка на вновь созданного вернется, будет знать, что объект еще в кэше и можно просто из ссылки получить реквизит, ничего страшного в этом нет, но это пол беды. В процедуре ИНН как минимум поставит проверку на типзнч контрагента, более внимательный знает что 1С индексирует по полю ИНН справочник контрагенты и не будет заморачиваться с созданием запроса и т.п, а просто через менеджер контрагентов по реквизиту найдет.
Любой нормальный программист 1С, сам может подобную книгу написать, взять к примеру пользователя Intellegency1С или как там.
Ладно бы у вас какая-то мысль лежала, что мне эта ваша система1, система2 дает ? абстракций можно приводить куча, вот дали бы вы последовательность универсальную, ладно ещё, а так на плюс не тянет.
6. Gladkov_Anton 361 03.09.21 09:48 Сейчас в теме
(5) Извинения приняты. Примеры предельно упрощены, но думаю основная мысль из них понятна.
Если одна процедура в одном модуле, а вторая в другом, обе процедуры сильно сложнее чем в примере, то при написании третьей легко допустить ошибку аналогичную указанной в примере.
Пример посложнее на ту же тему:
Процедура из БСП:
// Регистрирует изменение одного элемента данных для последующей отправки в адрес узла-получателя.
// Элемент данных будет зарегистрирован только в том случае, если он соответствует фильтрам правил регистрации 
// объектов,установленным в свойствах узла-получателя.
// Элементы данных, которые выгружаются при необходимости, регистрируются безусловно.
// Объект УдалениеОбъекта регистрируется безусловно.
//
// Параметры:
//     Получатель - ПланОбменаСсылка          - узел плана обмена, для которого выполняется регистрация изменений
//                                              данных.
//     Данные     - СправочникОбъект
//                - ДокументОбъект
//                - Произвольный
//                - УдалениеОбъекта - объект, представляющий данные,
//                  хранимые в базе данных, такой как документ, элемент справочника, счет бухгалтерского учета, менеджер
//                  записи константы, набор записей регистра и т. п.
//     ПроверятьРазрешениеВыгрузки - Булево   - необязательный флаг. Если установить в Ложь, то дополнительная проверка 
//                                              на соответствие общим настройкам узла при регистрации производится не
//                                              будет.
//
Процедура ЗарегистрироватьИзмененияДанных(Знач Получатель, Знач Данные, Знач ПроверятьРазрешениеВыгрузки=Истина) Экспорт
Показать


В процедуре:
ПланыОбмена.ЗарегистрироватьИзменения(Получатель, Данные);


И еще кусочек:
			
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(Данные) Тогда
	ЭтоНовыйОбъект = Данные.Пустая();
Иначе
	ЭтоНовыйОбъект = Данные.ЭтоНовый(); 
КонецЕсли;


А отладкой я вижу, что "Данные" - это ссылка.
Без изучения кода Системой 2 сложно понять есть тут ошибка или все будет работать корректно.

Прямой пользы, типа прочитал - стал на 1000 руб/месяц лучше может и нет, но рассмотреть взаимодействие систем 1 и 2 при программировании мне кажется занимательным.
vld_dmn; EugeneMaliy; +2 Ответить
7. lunjio 67 03.09.21 16:30 Сейчас в теме
(6)
да Системой 2 сложно понять есть тут ошибка или все будет работать корректно.

Вот в этом и вся проблема, всю хромоту и недостаточность языка, вы пытаетесь победить логикой и замудренным размышлением. Почему вы вообще не задаетесь вопросом - а нафига такой код писать ??? В этом вся и проблема 1С, в этом его и преимущества и недостаток, дали крутой бизнес-ориентированный язык, а вот руководство как писать не дали и в своих же БСП учат тому, как делать не стоит.
Для отправки сообщения требуется регистрация/авторизация