Примером серьезной цели может быть технический проект, который вы мечтаете создать: прототип приложения, сервиса или просто личный сайт – решайте сами. Избегайте углубляться в туториалы или массовые онлайн-курсы с неясной целью «изучить программирование». Точная цель сделает процесс обучения производительным и даст мотивацию упорствовать по мере того, как вещи, которые вы изучаете, будут усложняться.
«Программирование» – широкое понятие, поэтому вам, как новичку, следует ограничить его веб-разработкой. Перед началом обратите внимание на инфографику:
Здесь видно, какой путь предстоит пройти, чтобы стать full-stack разработчиком, и какие ветки ведут к более узкой специализации.
Не существует идеального первого языка, но эти три повсеместно используются в веб-разработке и имеют перспективы в будущем. Вот три хороших начальных точки для изучения каждого из этих языков:
- (JavaScript) (Python) (Ruby on Rails)
Существует огромное количество качественных онлайн-ресурсов для изучения разработки, но использовать их все невозможно. Поэтому определитесь с тем, какой учебный план вам больше подходит на том или ином ресурсе, и используйте его. Учтите, что нет ни одного сайта, который научит вас всему от и до: следует совмещать разные площадки в своем плане и изучать некоторые вещи параллельно. Вот несколько особенно полезных ресурсов:
- (JavaScript) (Ruby) (Python / Flask) или Lifehacker (Python / Django)
Исследования процессов обучения позволили создать множество методов обучения, которым довольно просто следовать. Используйте и адаптируйте их для решения трудных задач, понимания сложных концепций, для усвоения материала и борьбы с прокрастинацией.
Вот несколько полезных практик:
– Используйте как сфокусированный, так и рассеянный режим мышления
– Разделяйте полученные знания
– Принимайте неудачи спокойно и учитесь на них
– Используйте метафоры и аналогии
Ниже приведены техники для лучшего усвоения материала:
- , вместо перечитывания
- Используйте интервальные повторения различные типы практик
- Запоминайте ключевые слова и концепции, которые помогают в решении проблем, вместо заучивания наизусть синтаксиса
Несколько советов, которые помогут избежать прокрастинации:
- Найдите друга, с которым будете учиться вместе
- Фокусируйтесь на процессе, а не на результате
- Попробуйте технику Pomodoro
- Устанавливайте регулярные цели
Обучение программированию – это много практики. Просмотр видео и решение тестов много пользы не принесут. Вы должны проводить большую часть времени создавая проекты. Вот пара мест, где можно найти вдохновение и идеи для собственных проектов:
И еще пара сайтов с примерами задач и проблем, которые приходится решать разработчику:
Главный совет, который вам могут дать: изучение программирования – долгий процесс, поэтому не дайте сбить себя с толку «гениальным программистам» и уделяйте много времени отладке.
Коллекции полезных советов:
Не позволяйте себе впасть в метания между языками, технологиями и обучающими веб-программированию ресурсами. Вы должны выбрать конкретные вещи, составить четкий план и следовать ему. Не забывайте: если освоите один язык или технологию, с новым вам будет в разы проще, поэтому вы всегда сможете переключиться на новый стек, если захотите.