Как не потеряться в огромном количестве онлайн-курсов

0
1037
views

Перевод статьи «How to get unstuck when you’re feeling overwhelmed by all those helpful online programming courses».

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

Недавно мне на форуме попался вопрос от начинающего разработчика. Он чувствовал себя обескураженным.

Этот разработчик не многому успел научиться, потому что бесконечно прыгал от одного онлайн-курса к другому. Ему казалось, что проблема в чрезмерном изобилии отличных учебных материалов (и тем), которые можно изучить.

Цитирую:

«Полезных ресурсов так много, что очень легко потерять фокус. Я начинаю учить что-то одно, а затем нахожу что-то другое, кажущееся еще более интересным. В итоге я чувствую себя обескураженным и уже не знаю, что из всего этого на самом деле важно».

Я вполне понимаю этого парня. Когда я пытался приобрести новые навыки в программировании, мне тоже доводилось страдать от аналитического паралича.

Бывали времена, когда онлайн-курсы казались совершенно бесполезными и только еще больше меня запутывали. А бывало, они учили меня именно тому, что мне нужно было знать.

Обдумывая свой опыт, я пришел к выводу, что наиболее потерянным и разочарованным я чувствовал себя, когда вместо работы над конкретным проектом пытался просто «учиться программировать».

Если вы затерялись в бесконечном количестве курсов, я считаю, вам может помочь личный проект.

Имея проект, вам будет легче учиться программированию

Итак, вы учитесь программированию. А вы уже выбрали проект, над которым хотели бы поработать? Если нет, то чего же вы ждете?

Исходя из своего опыта, могу сказать, что большинство профессиональных программистов учились (и продолжают учиться), сначала выбрав для себя проект, а затем занимаясь поиском информации по навыкам, нужным им для этого проекта.

Каковы преимущества такого подхода?

Выбор проекта способствует вашей концентрации

Если у вас проекта нет, то у вас нет и четкого понимания, что следует учить. Python или Unity? Шаблоны проектирования или масштабирование?

Ответы на эти вопросы зависят от того, что вы намерены строить. Хотите создать crawler для сбора веб-данных? Вам пригодится Python. Хотите написать игру? Вероятно, стоит использовать Unity. Шаблоны проектирования важны, если вы хотите заниматься крупными проектами. Масштабирование имеет значение, если вам повезет и ваш проект станет супер-популярным.

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

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

Личный проект помогает решить проблему выбора.

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

Где вы хотите использовать свои навыки программирования? Некоторым людям тяжело ответить на подобный вопрос.

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

Как выбрать сферу деятельности? Это один из сложных вопросов, на которые нет простых ответов. Для начала вам нужно определиться, какого рода проблемы и задачи вас интересуют. Как это сделать?

Лучший совет, который я могу дать, – взяться за проект, который кажется вам интересным.

Вы думаете, что увлекаетесь играми? Попробуйте создать маленькую игру. Считаете, что ваше увлечение – фондовый рынок? Попытайтесь написать программу, которая подсказывала бы курс акций.

В процессе работы над этими проектами вы многое узнаете о себе и о том, что вам нравится, а что нет. По мере накопления опыта в программировании эта информация будет становиться все более ценной.

Компании нанимают людей, которые умеют завершать проекты

Вы на самом деле хотите быть программистом? Если да, то вам нужно научиться завершать проекты, т. е., проходить весь путь, от старта до финиша.

И хотя я думаю, что курсы могут помочь вам познакомиться с основами, этого не хватит, чтобы научиться программированию.

В подаче материала на курсах сглаживаются все неровные углы и шероховатости. Они выбирают за вас проекты и ведут вас к тому, чтобы вы научились писать код. Однако вы не сможете считаться настоящим программистом, пока не научитесь справляться с неопределенностью в ситуациях, когда нет готового рецепта.

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

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

Завершенный личный проект поднимает ваш авторитет в глазах работодателей.

Чтобы учиться программированию, работая над проектом, применяйте следующий подход

Выберите проект

Какой проект выбрать? Я бы посоветовал…

  • Выбрать что-нибудь, что кажется вам интересным.
  • Что-нибудь, что, как вы чувствуете, у вас есть хорошие шансы закончить.
  • То, что познакомит вас с технологией, которую вы хотите изучить.

Я рекомендую не слишком долго тормозить на этом шаге. Просто выберите что-нибудь. Многие знакомые мне разработчики начинали с простых текстовых видеоигр или сайтов.

Не важно, что вы выберете, главное, чтобы выбор был разумным.

Теперь, когда у вас есть проект, завершите его

Определившись с проектом, вам нужно довести работу над ним до конца. Тут я могу кое-что посоветовать.

«Сначала сделайте это. Затем сделайте это правильно. Затем сделайте это лучше».

Я стащил эту цитату у ahrefs (спасибо, ребята)… Я думаю, что она прекрасна. Она четко описывает то, как я хотел бы подходить к творческому процессу.

«Сначала сделайте это»

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

«Затем сделайте это правильно»

Когда у вас будет на руках первая версия, у вас появится множество идей насчет того, как ее улучшить. Вы поймете, что важно, а что нет. Вы буквально почувствуете, как можно упростить вашу идею и сделать ее более выдающейся.

Теперь вы знаете, с какими конкретно темами вам нужно ознакомиться для вашего проекта, а какие не имеют большого значения. Настал момент, когда можно заняться поисками информации.

«Затем сделайте это лучше»

Сделайте скриншоты того, что создали. Разместите ссылку на проект в социальных сетях. Напишите о вашем проекте и загрузите эту информацию в свое онлайн-портфолио.

Повторите весь процесс несколько раз и вы выучите целую кучу всего! А кроме того, у вас будет подборка классных проектов, которыми вы сможете гордиться.

Надеюсь, эти советы помогут вам сдвинуться с мертвой точки

Именно такой процесс обучения у меня самого и многих моих знакомых программистов. И, по моему опыту, он прекрасно подходит кому угодно.

Попробуйте и увидите, подойдет ли он вам. В конце концов, что вам терять? Желаю успехов!

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here