Как-то раз в один из мрачных вечеров я нашел на javarush описание курса
TopJava и сразу понял, что это то, что я ищу. В нейролингвистическом программировании есть такое понятие, как моделирование мастерства - или перехват мастерства. В основе этого понятия лежит идея, что если кто-то, что-то делает хорошо - то этому можно достаточно быстро научиться, для этого достаточно понять некоторую общую схему. Действительно в течение многих лет мастера брали на обучение подмастерьев, которые перенимали профессионализм просто наблюдая за работой. Очень похожим способом обучает программированию Григорий. В том же НЛП предполагается, что для освоения чего-либо необходимо пройти хотя бы 3 раза. В нашем случае 1 раз - мы смотрим, как пишет программу Григорий, второй раз - выполняем домашнее задание, которое по структуре очень похоже на тот код, который Григорий создал.
Для меня третьим разом было написание кода в своем приложении. Обучение программированию, можно сравнить с обучением вождением автомобиля и от инструктора очень многое зависит. Приведу пример, когда инструктор не подталкивает человека к достижению результата, а уводит от него - на уроках в кадемике Олег Ющенко мог позволить себе прямо во время вебинара "поржать" с кода одного из участников, что отдаляло участников от конечной цели - научиться хорошо программировать. В отличие от предыдущего "учителя" Григорий всегда помогал решить трудные задачи, которые от урока к уроку возникали в процессе написания приложения "Расчет каллорий". Мне кажется, что для эффективного изучения очень важно, чтобы чувствовалась поддержка преподавателя. У Григория это очень хорошо получалось - всегда оперативно оказывал помощь в сложных моментах работы с фреймворками и фронтендом.