10 неочевидных новичку подводных камней программирования

Много сказано про то, как нужно учиться программировать, но есть и другая сторона обучения – то, чего делать новичку точно не стоит.

Мы собрали список крайне частых ошибок, о которых вам стоит помнить, чтобы не допускать их, если вы только начали свой путь программиста.

1. Бесконечный поиск технологий, вместо написания кода

Начинать всегда тяжело, а вас гложет еще и необходимость правильного выбора технологий для разработки. Что, если я выберу неправильный язык? Или фреймворк? Или базу данных?

Но факт таков: нужно кодить, вместо того чтобы читать об этом. Можно потратить месяцы на поиск и чтение информации о подходах и техниках, но намного больше знаний вы получите, если будете просто сидеть и писать код. Хотя бы по часу, но каждый день.

Помните: как только вы неплохо освоите один язык, освоить второй будет значительно проще. Так что если изначальный выбор технологий вас разочарует, то получить новые знания о других технологиях вам уже не составит труда.

2. Изучение программирования, будто подготовка к экзамену

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

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

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

3. Позволять проблемам в коде накапливаться, не проверяя как на самом деле все работает

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

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

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

Так что, чтобы расти как разработчик, нужно скептически относиться к своему коду.

4. Обучаться в одиночестве

Почти в каждом более-менее крупном городе, на регулярной основе происходят разные митапы и конференции, а кроме них есть отличные международные онлайн-площадки для общения, вроде Реддита или StackOverflow. Также не стоит забывать про Хабр.

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

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

5. Слишком эмоциональное отношение к ошибкам

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

Главное, помнить: ошибки не говорят о том, что вы плохой программист. Это лишь значит, что вы где-то ошиблись парой символов в текстовом редакторе.

6. Думать, что вам нужно сразу пару мониторов

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

7. Отказ от изменения плохого кода

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

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

8. Считать продуктивно потраченным только время набора кода

Не только новички проводят кучу времени вне редактора кода. Работа программиста вообще, это по большей части постоянный поиск информации, идей, эксперименты, тесты, чтение логов. И совсем немного "физическое" набирание кода.

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

9. Пытаться полностью в чем-то разобраться, не двигаясь дальше

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

Например, изучая Руби, вы захотели узнать как определяются методы и что происходит, чтобы все работало так, как работает. И тогда вам необходимо углубиться в чтение исходников Руби, которые написаны на C. И тут возникает проблема — оказывается что чтобы понять Ruby, вам нужно изучить и понять C.

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

10. Ожидать, что наступит время, когда вы будете понимать все

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

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

Другие статьи по теме

Спортивное программирование и 5 ресурсов для решения задач

Функциональное программирование: рефакторинг, замыкания и функции высшего порядка

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ