Есть у нас человек, назовём его Снежинка. Этот человек, сам того не ведая, создал довольно забавную задачу, которую я предлагаю вам решить. Сразу скажу, правильного ответа я не знаю. Чтобы подогреть ваш интерес, скажу, что Снежинка не одинок в своей проблеме – их там целый сугроб. Итак, Снежинка хочет стать программистом. Теперь несколько деталей.  Снежинка работает кодером – пишет код. Что именно написать, ему говорят в техническом задании, составленном достаточно подробно, с указанием имён таблиц, контекста исполнения, способов вызова, типов возвращаемых значений и т.д. Код, обычно, ему дают написать несложный и не важный. Причина – в особенностях Снежинки, которых две. Снежинка родился со смартфоном в руке. Не будем давать оценку этому факту, лишь беспристрастно опишем последствия. Грубо говоря, Снежинка очень мало знает и умеет, т.е. у него почти пустая голова. Неплохо справляется с повседневными действиями по обслуживанию своего тела – завязывать шнурки, чистить зубы, одеваться, ходить, кушать и т.д. Немного умеет взаимодействовать с социумом, во всех его проявлениях – не 80lvl, но крайнего в очереди найдёт. Почти всё остальное Снежинка тоже может сделать, хоть и не знает, и не умеет. Потому что у Снежинки есть гугл – его, снежинкин, персональный резервный мозг, который хранит в себе всё, что может пригодиться в жизни. Раз есть такой прекрасный резервный мозг, основной можно не нагружать. Чем Снежинка и пользуется. Что важно: код Снежинка тоже пишет с постоянно включенным гуглом. Конечно, он уже запомнил, как сделать цикл, присвоить значение переменной или определить функцию, но всё равно не может обходиться без своего любимца. Итак, ограничение первое: подавляющее большинство знаний Снежинки находятся в гугле, а не в Снежинке.  Так случилось, что у Снежинки – клиповое мышление. Как, почему такое произошло – знает, наверное, только гугл. В качестве причин приводят и информационную интоксикацию (перебор видосов, короче), и изменения в системе школьного образования (например, «дискретные» тесты вместо «аналоговых» сочинений), кто-то приплетает даже неправильное питание. В причинах ковыряться не будем, посмотрим на следствие: Снежинка не может сосредоточиться на одном вопросе дольше, чем на несколько минут («клип»). Максимум – 15, но в среднем 5-7. К счастью для Снежинки, этого времени вполне хватает, чтобы найти решение, требуемое для работы кодером, в гугле. За время клипа Снежинка успевает даже готовые куски кода находить и копипастить. И вот Снежинка решил подняться на уровень выше – стать программистом. Или разработчиком – не будем углубляться в терминологию. Более серьёзным чуваком, короче. Снежинка изъявил своё желание, и услышал требования к программисту.  Требований было несколько, приведу ключевое: там надо думать и придумывать. Названия этого процесса используются разные – анализировать, проектировать, разрабатывать, тестировать, создавать и т.д. Но смысл примерно один – надо думать. Снежинка спросил, что значит «думать». После долгих споров, дискуссий и мозгового штурма Снежинке дали простую формулу – «23 минуты». Кратко изложу суть. Придумать что-нибудь стоящее – это создать в голове сложный интеллектуальный объект, учитывающий все особенности, ограничения, цели, возможности, взаимосвязи и т.д. Программистам часто приходится так делать, т.к. решаемая задача редко бывает абстрактной и оторванной от остального приложения, требований к быстродействию, паттернов поведения пользователей. Для того, чтобы создать в голове сложный интеллектуальный объект, необходимо выполнить, как минимум, два условия. Первое – составные части объекта уже должны быть в голове. Не на бумаге, не в интернете, не у соседа, а в голове того, кто будет думать. Второе – думать нужно достаточно долго, 20 и более минут, чтобы объект получился качественным. Иначе получится поделка автоматизмов. Теперь вы, наверное, уже понимаете, в чём загадка.  Итак, подведём итоги и сформулируем загадку. Программист должен уметь конструировать в голове сложные интеллектуальные объекты. Для этого нужно иметь в голове знания об объекте и уметь сконцентрироваться на 20 и более минут. Снежинка хочет стать программистом. Но все знания Снежинки находятся не в его голове, а в гугле. Сконцентрироваться Снежинка способен на 5-7 минут, максимум – на 15. Как Снежинке стать программистом? Биоробот