7 советов «Как научиться программировать»

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

как научиться программировать

7 советов «Как научиться программировать»

Кратко: нужен план изучения, нужно вести словари для запоминания команд, нужно знать разные способы решения, нужен английский, нужна личная подборка решений, нужно вести список материалов для чтения в виде todo, нужен блог.

1 Составь свой личный план по освоению учебных курсов, которые тебе интересны. Сейчас много курсов онлайн. Начни с курсов программирования, в которых процесс обучения напоминает игру. Игры там зачастую глупые, но играть всегда веселее, чем просто заучивать учебники. Игрушки для Андроида и Айфона бывают не менее тупые, а народ с них тащится.

Постановка и контроль достижения целей
Рекомендую SmartProgress — один из самых навороченных сервисов постановки и достижения цели.
2 Изучать программирование, а точнее — языки программирования — это то же самое, что изучать иностранные языки. Заведи себе словари — тетрадки или файлики на компьютере: в них будешь записывать команды и их значение.

Я не являюсь сторонником чтения толстых книг. Поэтому опишу немного другой подход. Вы ставите себе несколько средних по масштабности задач. Это может быть приложение «Записная книга», «Калькулятор», «Бот для игры» и т.п. Желательно что бы по сложности они все таки шли по нарастающей. Таких задач вы ставите штуки 3-4. Со скрипом в зубах, постоянным тырканием Интернета решаете первую, вторую с третей Вы справляетесь уже легче, с четвертой еще легче. После этого у Вас появляется опыт в написании законченных программ, однако он очень мал. Поэтому после решения всех задач, садитесь и решите их повторно с нуля. Почти всегда второе решение данных задач будет куда более компактно и красивее. Вы сами учитесь на своих ошибках.
После этого ставьте себе более сложные задачи, и так же решайте их по два подхода. Чем сложней задача, тем больше Вы будете сталкиваться с чтением документаций и статей, однако постепенно все это начнет откладываться у Вас в памяти. Стоит заметить, что пытаться специально запомнить все функции и их параметры не нужно. Для этого и есть документации, чтобы в них всегда можно было посмотреть. Вы запоминаете именно то, с чем сталкивались на практике. Этого не стоит бояться — знать все невозможно, а вот сориентироваться и найти решение в незнакомой ситуации нужно уметь.

Так же все таки не плохо будет почитать про алгоритмы. Самообучение это хорошо, но по крайней мере знать о том, что Вашу задачу можно решить более быстрым способом, нужно.«Как научиться программировать?» или «Стать программистом может не каждый»

3 Хотя в Интернет можно найти справочную информацию о том, как решить ту или иную задачу, но нужно иметь общие представления о том, какие классы задач могут решать те или иные языки программирования. Игроки в гольф знают, какую клюшку брать, потому что уже пользовались каждой из них. Решай одну и ту же задачу несколькими способами и выбери для себя более простой. Да, это требует времени. Суворов говорил: тяжело в учении — легко в бою. Я подтверждаю — это не просто умная фраза и не рекомендация — это строгое правило. Я знаю опытных программистов, отлично знающих только один язык. Они для любой задачи выбирают свой язык, даже если это дорого, долго и выглядит некрасиво, потому что не знают альтернатив. Поэтому на свет иногда рождаются калькуляторы на базе Microsoft Access.

Расскажу об этом чуть-чуть по-другому, из личного опыта. Однажды я покупал жене шкатулку под бижутерию. Крутя шкатулку в руках, я мысленно раскладывал её на дощечки, ткань, замочки, петли, клей, гвозди — то, из чего она состоит — и довольно чётко представлял процесс изготовления. Делал я это автоматически, прикидывая — смогу ли я сделать сам такое своими руками. Выходило, что смогу, если будет время и материалы.
В другой раз я смотрел на две фотографии: до и после компьютерной обработки. И не было у меня в голове ничего между двумя этими фотографиями. Просто тёмная пустота по имени «Магия Photoshop». Потому что я подобных работ ни разу до этого не делал.
4 Русскоязычных источников информации исчезающе мало и они устаревают ещё до того, как заканчивается их перевод. Начни изучать английский язык. Для начала достаточно будет очень узкого направления — чтение технической литературы. Несмотря на то, что авторы иногда вставляют шутки, метафоры, идиомы — большая часть документации, обучающих материалов и тем на форумах — это сухой технический язык. Главное понимать языковые конструкции, типовые обороты речи. Ни произношения, ни аудирования, даже словарь весьма скупой. Как максимум надо научиться внятно излагать свои проблемы в форумах, если нужна помощь, а найти не получается. Не теряй времени, английский понадобится практически с первых шагов.

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

6 Выписывай себе в отдельный список то, что надо будет прочитать: ссылки, книги, статьи. Поверь, если не составишь такой список, то не прочитаешь. Просто взглядом пробежаться и сказать себе — “О, что-то интересное” — это не поможет. Ты завтра забудешь не только о том, что писалось в каком-нибудь обзоре, но и даже о факте чтения этого обзора. Так что, бери и выписывай. Заведи закладку в браузере, напиши на стикере, а лучше занести в какую-нибудь программу с возможностью указания ключевых слов, заметок и поиска. После прочтения ненужное вычеркнешь, а нужное перенесёшь в свой список полезных ресурсов.

7 Заведи себе блог. Для себя. Записывай туда краткие выводы по прочитанному и отдельно описывай процесс и результаты решения задач. Кстати, ссылки можно хранить там же. Если заведёшь себе блог на своём домене, на базе какой-нибудь платформы для блогов — получишь значительный опыт в тех же самых веб-технологиях. Если блог будет аккуратно наполнен ценной информацией, то это покажет тебя как активно развивающегося профессионала и будет значимой добавкой к твоему резюме.

Ссылки по теме:

  • Smartprogress — один из самых навороченных сервисов постановки и достижения цели. Его задача — помогать правильно структурировать и организовать информацию по целям, обеспечить коммуникацию с единомышленниками и наставниками. На русском языке.
  • WordPress — одна из самых популярных платформ для блогов. Огромное количество возможностей за счёт модулей, расширений, плагинов, большое сообщество пользователей и разработчиков. На русском языке.
  • Блог Wodpress — бесплатный блог на WordPress на русском языке без необходимости покупки хостинга.
  • Todoist — простая и мощная бесплатная кросплатформенная система для хранения ссылок, цитат, файлов. На русском языке. Сервис описан в моём блоге на странице Time management в корпорации «Я»
webmentor.pro — твой надёжный друг, опытный советник и поддержка
Программы поддержки при изучении проектирования и разработки веб-приложений, новых языков программирования и веб-технологий.
Опросник по стеку технологий для веб-разработчика
Быстрая оценка текущего уровня знаний. Графики личного профессионального роста. Виджеты для портфолио. Рекоментации по эффективному повышению уровня знаний.

Павел Волынцев

Уже более 15 лет занимаюсь разработкой веб-проектов. Fullstack Senior Developer. IT евангелист — доношу свет знаний об информационных технологиях. Профессиональные цели: Дать людям возможность дать людям больше.

Читайте также: