Сегодня огромное количество людей занимается программированием: созданием игр, разработкой пользовательских интерфейсов, веб-сайтов, мобильных приложений, проектированием баз данных и т. д.
И оказывается так, что есть либо начинающие в этом деле, которые не до конца еще понимают что и как они должны делать, либо продвинутые разработчики, занимающиеся сложными проектами.
Проблема начинающих состоит в том, что они изначально неправильно подходят к своему обучению, будь то самостоятельно или под присмотром опытных специалистов.
Основные ошибки:
1. Попасться под влияние рекламы.
Реклама обычно влияет на тех, кто занимается самообразованием. Посты в социальных сетях, привлекающие учить тот или иной язык программирования в связи с тем, что он "популярен" именно сегодня, пишутся маркетологами, которые продают от лица компании свой продукт. И зачастую этот продукт не имеет никакой ценности, потому что все, что вы будете покупать у них за деньги есть в интернете.
Решение: потратить пару часов времени, чтобы узнать какие именно технологии вас привлекают, какая отрасль в IT-индустрии вам по душе, какие языки программирования наиболее используемые в деле, которым вы хотите заниматься. И только тогда ищите видео-уроки, онлайн курсы и литературу по данной теме.
2. Достаточно знать один язык программирования.
Нет, не достаточно. Занимаясь разработкой вы не сможете полноценно написать большой проект, используя только один определенный язык программирования. В силу того, что сейчас приветствуются кросс-платформенные приложения, которые адаптируются под огромное количество разных устройств, компании все чаще запрашивают проекты, включающие в себя "солянку" из разных видов языков.
Решение: всегда лучше начать изучение с того, что уже достаточно долго существует и продолжает развиваться. Такие языки как С++, Java(не JavaScript). В эту же категорию можно добавить Python, но он отличается легким синтаксисом. Но именно эти языки программирования могут дать достаточно сильную базу и впоследствии этот фундамент можно адаптировать под все, что будет создаваться и использоваться в будущем.
3. Знаешь синтаксис = знаешь все.
Научившись правильно использовать некоторые команды и создавать функции, человек ни в коем случае не может полноценно знать логику и структуру любого проекта. Точно так же как и знание алфавита не может научить человека грамматике и речи.
Решение: почитать об алгоритмах и структуре данных. Научиться использовать разные виды алгоритмов, решать задачи и много думать. Практика усовершенствует ваши знания и прокачает логику.
Писать код не так сложно, как кажется, когда знаешь что делаешь. И получаешь от этого одно удовольствие.
С чего начать изучение?
Есть большое количество сайтов, которые дают возможность испробовать все языки программирования.
Например:
Checkio в интерактивной и интересной форме объясняет материал простым и понятным языком (английский).
w3schools дает много материала для самостоятельного изучения, позволяет самому выбирать темы для практики (русский/английский).
CodingBat учит на реальных примерах логике решения задач. Простой дизайн, но отличный ресурс для тех, кто готов взяться за что-то сложнее, чем простые циклы и условия (английский).
CodeSignals похож на CodingBat, но имеет гораздо больше функций. Можно решать задачки, соревноваться с друзьями и участвовать в мировых турнирах.
Хорошему закреплению материала могут послужить книги на ту или иную тему. Но на сегодняшний день именно форма интерактивного обучения позволяет усвоить намного больше материала. К научной литературе можно и нужно обращаться уже со знанием того материала, о котором вы хотите прочитать, так как иногда темы расписаны немного сложно и непонятно. Особенно учитывая то, что на бумаге бывает сложнее изобразить некоторые схемы, отрывки кода и его выполнение.