Главная | Все статьи | Код

Четыре ошибки новичков в программировании

Время чтения статьи ~3 минуты

Всем привет! Меня зовут Андрей, я фронтенд-разработчик в RAMBLER&Co, ранее в Иннове. Программированием я занимаюсь около года, до этого около двух лет занимался HTML-вёрсткой. Расскажу о том, какие ошибки я совершил за эти три года, чтобы вы (если вы новичок) их не повторяли.

Ошибка №1: изучение основ языка вместо основ программирования

Свой путь в веб-разработке я начинал с книги по HTML/CSS, которую мне дал почитать знакомый программист. В конце книги был дополнительный раздел с основами языка JavaScript. Разумеется, я начал его читать и ничего не понял. Помню как увидел пример простого цикла for (var i = 0; i < 10; i++) и долго недоумевал, как это вообще работает. В итоге у меня сложилось неправильное впечатление о языке: я решил, что JS ужасный язык и его нельзя изучать.

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

Не следует начинать с изучения конкретного языка. В первую очередь нужно изучить базовые вещи вроде переменных, условий и циклов. Хекслет в этом плане молодцы, в курсе «Основы программирования» как раз объясняются все необходимые базовые концепции, причём кроме условий, циклов и прочих подобных вещей в курсе рассказывается о модульном тестировании, чистых функциях и отладке, что меня приятно удивило. Я изучал основы самостоятельно и о тестировании или чистых функциях узнал примерно спустя год после начала обучения, а на Хекслете эти темы даются в первом же курсе.

Ошибка №2: неправильные ожидания от ВУЗа

Закончив школу, я, как и подавляющее большинство сверстников, поступил в местный (омский) ВУЗ. Специальность называлась «Математическое обеспечение и администрирование информационных систем». Почему я выбрал её? Я прочёл на Хабре статью о том, какие специальности лучше всего подходят для обучения программированию, и МОиАИС была в этой статье на первом месте.

Спустя три месяца обучения я перестал ходить на занятия. Я шёл в ВУЗ с мыслью о том, что меня там научат промышленному программированию. Увы, занятия по программированию вела далёкая от мира разработки преподавательница, а математика занимала большую часть программы (это не плохо, просто у меня со школы неприязнь к математике).

После опроса своих знакомых я понял, что в ВУЗ стоит идти за фундаментальными знаниями вроде математики. Промышленному программированию ВУЗы не научат, потому что ВУЗовские программы просто не могут успевать за столь бурным развитием технологий. Поступайте в ВУЗ только если вы чётко понимаете, что вы хотите получить от него и что он вам действительно может дать это.

Ошибка №3: распыление вместо концентрации

«О, дайджест последних новостей... ого, туториал по вёрстке табов на css! А тут ещё и статья о реакте для новичков... А здесь пишут, что нужно использовать ангуляр вместо реакта...» — и у вас уже открыто 50 вкладок в браузере и вы лихорадочно читаете всё, что попадётся. А потом обнаруживаете, что уже час ночи и в общем-то надо бы пойти спать, но в очередь на чтение ещё 20 статей... Наверняка многие из вас сталкивались с такой ситуацией.

Проблема в том, что распыляясь на кучу разных тем, вы получаете мало профита. Намного эффективнее не пытаться охватить всё и сразу, а ставить какие-то небольшие цели и добиваться их. Например, вместо того, чтобы следующим вечером снова пытаться прочесть и запомнить 20 статей на разные темы, поставьте себе цель «разобраться с принципами работы промисов» и прочитайте те же 20 статей, но о промисах. Так вы гарантированно разберётесь в теме и не потратите время зря.

Ошибка №4: знания языков и фреймворков недостаточно

Когда я освоил вёрстку на достаточно хорошем уровне, я решил двигаться дальше — во фронтенд и программирование. «Изучу JavaScript и какой-нибудь фреймворк — и дело в шляпе, буду крутым программистом». Сейчас я пишу приложения на JS, Реакте и Редаксе, но этого недостаточно для «крутого программиста».

Языки и фреймворки — это лишь инструменты, помогающие в решении задач. Работа программиста заключается в проектировании достаточно простого и гибкого решения какой-либо проблемы. Чтобы спроектировать хорошее решение, недостаточно знать язык программирования. Нужно обладать инженерным мышлением. Я понял это отчасти благодаря курсам Хекслета, которые я сейчас с удовольствием прохожу. Эти курсы действительно учат не каким-то отдельным инструментам, они учат подходам и правильному мышлению.

Аватар пользователя Андрей Романов
Андрей Романов 16 октября 2016
5
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 20 июня
профессия
от 6 300 ₽ в месяц
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 20 июня
профессия
от 6 183 ₽ в месяц
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 20 июня
профессия
от 6 300 ₽ в месяц
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 20 июня
профессия
от 5 025 ₽ в месяц
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 20 июня
профессия
от 6 300 ₽ в месяц
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 20 июня
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 20 июня
профессия
от 9 900 ₽ в месяц
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 20 июня
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 20 июня
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
в разработке
Старт 20 июня