Как вы планировали своё учебное время?
========================================

 Всем привет,   

Хочу попросить у вас совета, как распределить процесс обучения программированию правильно, потому что я столкнулся с такой проблемой, что каждый день изучаю фронтенд по 7-8 часов в день на протяжении вот уже несколько месяцев, а в результате не могу ничего толкового сделать, т.к. распределяю своё время неправильно, то есть :  

на данный момент я совершенствую знания html,css, учусь верстать на bootstrap и изучаю основы js. В результате, за день я 2-3 часа читаю книгу, потом верстаю 2-3 блока какого-нибудь макета, потом берусь за курсы js, и посмотрев несколько уроков берусь за несколько задач, а после этого читаю несколько статей на каком-нибудь тематическом блоге.  

В конце дня, у меня нет ни одной решённой задачи, а из за того, что я всё делаю небольшими кусочками - появляется ощущения , что я вообще ничего за день не сделал. Особенно тяжело мне с задачами js, т.к. на одну задачу уходит около получаса , и сделав 2-3 задачи я и вовсе чувствую себя, будто ничего от такого обучения не получаю, а только хуже себе делаю. Учится больше нет времени, и так сплю 5-6 часов.   

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

А как вы планировали своё учебное время ??  

Спасибо 

  

Радуйтесь маленьким победам. Когда вы делаете интересный лично для вас проект, вы понимаете зачем вы сейчас читаете тот или иной материал. Вы практикуетесь, вы решаете реальные задачи. Я никак не планировал учебное время, я 15 лет назад захотел свой сайт, открыл блокнот, нашел в сети учебник по html читал и сразу делал свой сайт. Потом захотел бекенд и открыл php.net, далее возникло желание, чтобы код был не просто лапшой, а имел какую-то структуру так познакомился с различными фреймворками. Потом захотел, на свой код тесты и так познакомился с TDD/BDD. Далее захотел независимую от фреймворка бизнес-логику и так познакомился с DDD. Ну и так далее.  
  

Английский учил также. Сразу взял интересную мне статью и запоминал все важные незнакомые в ней слова. Иногда что-то о попадавшихся грамматических конструкциях читал если смысл предложения оставался не понятным зная все слова. Важно то, что я никогда не изучал всё сразу, только то, что нужно мне прямо сейчас, для решения моей задачи.  
  

Если задуматься, все наши предки делали примерно также. Сначала была задача, а только потом они искали решение этой задачи. Человек захотел подняться в небо и только потом, он искал решение. Не наоборот. И это был не боинг. 

 Не читать непонятно что и от кого, искать и изучать инфу только с проверенных источников.  
  
**ITVDN**  

- Сайт <https://itvdn.com/ru/catalog>  

- Youtube канал <https://www.youtube.com/user/CBSystematicsTV/playlists>  

После изучения их курсов точно будите разбираться в основах.  
  
**HTML Academy**  

- <https://htmlacademy.ru/>  
  
**Справочники**  

[metanit.com/web](http://metanit.com/web/)  

<https://html5book.ru/category/uroki/>  
  

Начать проще с видео, в них подробно и с самого начала, после уже можно читать и вникать в подробности, которые не нужны с самого начала, им не на что "ложиться". 

 Никак не планировал, что хотел, то и изучал, если это практика то это вполне естественный процесс для мозга и не надо в него вмешиваться, а если для вас первична не практика, а теория, то есть вы "зубрите", то это само по себе "извращение" и ничего хорошего не будет.  

Сейчас вот я работаю, и по-прежнему изучаю новое, 90% это то что нужно для работы, у меня теперь и возможности нет ставить жесткие планы по часам, и не нужно это, какие часы если работа творческая и не знаешь с какими трудностями столкнешься, тут с неделями бы угадать. 

 падавану юному говорить для начала свободно надо на основных языках веб-программирования -  

js css html  
  

js фирст, потом css и html   

надо понять что ты при желании можешь совсем не использовать возможность декларативного программирования стилей оформления и структуры дерева документа  
  

учебник Фленагана надо полностью переварить  

и php немного для начала - только основные серверные функции для работы с папками и файлами   

или лучше - изучить api node.js - и делать сервер на js  
  

js - очень простой язык, проще некуда, «Лисп в шкуре Си»  

и самый кросплатформенный - новичкам самое то  

не забываем принцип KISS - ценим минимализм-простоту-легкость  

без чужих фремворков и библиотек ты получишь максимальную производительность js - в 3-5 раз ниже чем на Си  
  

в процессе учебы надо написать свое простое клиент-серверное приложение -   

чат, рисовалку, текстовый редактор, игру и тд...  

главное - без использования чужого кода - без библиотек, фреймворков и готовых БД   

ты должен уметь самостоятельно создавать-обрабатывать-сохранять нужные тебе данные  
  

программирование это решение поставленной задачи -  

сам придумай себе задачу в интересной области и решай ее несколько лет пока учишься  
  

клиент толстый, сервер тощий -  

сервер используй только для простых функций - чтение-запись файлов, сканирование папок, авторизация ...  
  

офлайн и мобайл фирст -  

надо понять, что мобильный сенсорный экран - это основное средство ввода 21го века  

и что браузер работает в песочнице  
  

велосипайд фирст -  

чтобы научиться - делать ты должен сам  

три-пять лет надо грызть гранит  

просветление неизбежно после этого обретешь   

и настоящим веб-мастером станешь   

или даже джедаем или нинзем, если пребудет с тобой СИла  
  
![84e114455f594424ab60590ae6da6dea.jpg](https://habrastorage.org/files/84e/114/455/84e114455f594424ab60590ae6da6dea.jpg)  
  

и есть другой путь - темная сторона программирования:  

работа по чужому готовому стандартному шаблону-фреймворку   

бесконечный круговорот в сансаре капиталистической индустрии  

общение с дебилами, психопатами, жуликами, лентяями и тд  

офисное или фриланс страдание  

легкая заменяемость программиста  

вечная доделка-переделка чужого кода  

неспособность делать нужный функционал самостоятельно  

постоянное гугление готовых решений  

депрессия и уныние  

//а самые ленивые становятся верстальщиками-недопрограммистами))  
  

нормальные программисты делятся на два типа:  

1) инженеры - те кто могут написать шаблон для себя или для других  

2) слесари-монтажники и чесальщики-мотальщики - те кто работают в рамках готового шаблона  

- оба типа нужны, всё зависит от твоих способностей и талантов 

 Принципиальная ошибка — не заложено время на повторение. Должно быть каждодневное повторение изученного вчера и более обобщённое через неделю. Желательно ещё и через месяц ещё более общее. Причём именно повторение, основанное прежде всего на попытке вспомнить, а не простом перечитывании заново.  
  

Ну и да, можно "укрупнить" процесс. В начале больше сосредоточиться на вёрстке, как более простой.   
  

2-3 часа на книги + блоги слишком много, тем более для начала. 

 Как по мне самый идеальный вариант - это изучить основы и сразу пробовать самому делать проект какой либо, и уже в процессе практики черпать дополнительные знания... 

 Несколько месяцев на html css? У меня в свое время ушло где-то 1-2 дня что бы разобраться как формируется страница и принцип работы css. А потом просто пару дней, скачивал шаблон с psd и готовой версткой. И пытался повторить, подсматривая в первоисточник. Через неделю устроился на работу верстальщиком, там уже рос на реальных проектах. А js начал изучать как только появилась в нем нужда, постепенно по мере потребности.   

Но по 8 часов несколько месяцев одного изучения без реальных проектов, это что то оч круто ))) Может конечно все сильно изменилось с 08го года.  

Мой совет больше практики, что то не знаете как сделать, лезьте в поисковики, читайте. Без практики ничего не отложится в голове. Знания приходят через боль :) 

 Все правильно делаешь. Но для того чтобы хорошо учится, нужно хорошо отдыхать. С таким режимом как ты описал - спать минимум 8 часов и нормально питаться, иначе апатия и выгорание.  

Используй технику [помодоро](https://www.youtube.com/watch?v=WpClvUKG5E8&list=PL4Xdj6CMk6HSBN5ik9MMTzSCFkTJ4OEch&index=1) , и [интервальное повторение](https://habrahabr.ru/post/196448/)  

С помощью этих техник ты сможешь измерить свой прогресс. 

 Codecademy.com 

[Почему научиться программировать так чертовски тяжело?](https://habrahabr.ru/company/hexlet/blog/251411/)