А кто я? Я по жизни джун. Я получал знания от практики. Сначала от эфемерной практики ради процесса для себя, а потом, когда перестал бояться сделать что-нибудь не так - собрался с духом и поменял работу, которая дала мне "вызов" и этим "вызовом" вывела из зоны комфорта. И тут оказалось, что проекты open source даже очень могут помочь, а если там есть баги, которые мешают решить задачу, то всегда можно отреверсить код и поправить баг (ну, на крайний тяжелый случай поставить костыль), а потом написать в багтрек и дождаться исправлений. Упражнения периодического (не часто, иногда) реверса кода на разных ЯП волей неволей наполняли моцк информацией, которая потом, порой через года, всплывала в самый подходящий момент. Изучал ли я теорию программирования - ответ нет. Пытался ли изучать - ответ да. Поэтому рассуждения о высоких материях моделей, замыканий, трейтов, паттернов частенько ставят меня в тупик. Я практик. Я не открываю документацию, если нет задачи. Прилетела задача - тогда полный в перед. Сначала, если это что-то новое изучаю best practice, потом best development tools, потом best solutions и только потом приступаю к решению. Да, иногда, по ходу решения делаю велосипеды, ну и что - кто их не делает. Моя работа - решать задачи автоматизации для бизнеса. Мои решения полностью устраивают бизнес. А раз так - я и дальше буду работать программистом и продолжать быть джуном.