Процесс обучения программированию — достаточно сложный и тернистый путь, который требует усердия и целеустремленности. Вы должны быть готовы сжечь пару часов своей жизни в поисках запятой или что-то вроде того. Сложно в такие моменты не разбить ноутбук, но удовольствие при решении задачи не сравнится ни с чем.
Трудностей на пути множество, но в этой статье мы обсудим самые основные проблемы. Также я постараюсь вспомнить, как мне приходилось с ними справляться, и дам некоторые рекомендации.
Я чего-то не знаю
Такие мысли часто мучают новичков, хотя такого рода неуверенность возникает почти у всех. И это скорее психологический фактор, нежели технический. К сожалению, люди не умеют гуглить. Это кажется смешным и нелепым, но сталкиваясь со сложной задачей, студент просто не догадывается задать вопрос гуглу. А ведь огромная часть рабочего времени у программистов тратится на «гуглёжь»! Поэтому берите за правило: «Что-то не знаешь — гугли.»
Я написал всё правильно, но ничего не работает
Сразу определим один важный момент: код — это команды. Если что-то не работает, значит вы неправильно написали команду — это факт. Других обстоятельств, влияющих на работу кода нет. Если же вы «уверены», что написали всё верно, а код так и не хочет работать, значит где-то закралась синтаксическая ошибка. Что делать в этом случае:
1) Обновить, сохранить и убедиться в том, что вы запускаете именно тот файл.
2) Посмотреть логи, если они есть. Во многих языках программирования логи показывают вплоть до строки и символа с ошибкой. Это поможет в поисках проблемы.
3) Вы всё проверили, сохранили, перезагрузили и смотрите на строку с ошибкой уже минут 5-10, но в упор не видите ошибку. В этом случае хорошим решением будет стереть строку и переписать её вновь. Некоторые синтаксические ошибки настолько визуально сливаются, что заметить их очень сложно.
Изучать всё самостоятельно или найти преподавателя?
Иди в HackerU и доверь это дело профессионалам. :) На самом деле это как посещение спортзала. Думаю, ни у кого не возникает вопросов, зачем нужен тренер в процессе занятий. А также сомнений, что с ним результативность отличается. Это касается и изучения IT-специальностей.
Как найти свою первую работу?
Это действительно сложная задача и переломный момент в жизни программиста. Нужно учесть множество факторов и научиться вести себя уверенно на интервью. Уметь анализировать неудачный опыт и смотреть на неудачи проще. В общем всё, что обычно советуют юношам в пубертатном возрасте, отлично подойдёт Джуну для подготовки к интервью. К слову, может показаться, что я хвалю HackerU, потому что мне за это платят. Отчасти это так. :) Но факт в том, что тут круто выстроен процесс подготовки к собеседованию. Студенту рассказывают, как правильно себя вести, и курируют весь процесс трудоустройства. Мне в своё время этого сильно не хватало.
Хочу все знать
Такая проблема обычно возникает у учащихся, которые уже что-то попробовали, и у них «проснулся аппетит». Желание выучить всё и сразу выражается в чтении всевозможных книг по программированию, просмотре всех видеоуроков и прочее. Так вот, делать так не надо. От слова совсем. На начальном этапе рекомендую изучить один язык и одну технологию, но на максимально хорошем уровне. Так, зная один язык «в совершенстве», вы легко овладеете другими. Тогда каши в голове не будет.
Я не могу всё запомнить: название методов и синтаксис, конструкций забываются
Это нормально. Невозможно знать синтаксис языка наизусть. Для этого есть справочники и автодополнение в вашем любимом Sublime Text (лучший редактор кода по версии автора. P.S. они мне не платят). В процессе обучения вы должны запомнить саму технологию, идею. И в будущем, столкнувшись с проблемой, вы сможете вспомнить, как ее решать. Названия же методов всегда можно нагуглить.
Поэтому, сказав преподавателю фразу — «подождите, я ещё не переписал», можно услышать звук шкварчащих мягких тканей. От вас во время занятия требуется вникнуть в идею решения, алгоритм или технологию, а не бездумно списывать материалы с доски.
И кстати, пособия по типу «выучить SQL за 1.5 минуты» созданы именно для того, чтобы показать вам синтаксис. Не разобравшись в нем, вы будете подобны гостю в столярной мастерской. Он точно помнит, как выглядит рубанок, но не знает, как его держать. Будьте бдительны! Не учите SQL за 1.5 минуты и держите рубанок правильно.
У меня есть вопрос, но я стесняюсь задавать его при всех, потому что он глупый. Задам, когда приду домой. А ещё сяду в уголочек, поплачу и всё пройдет
Не бывает глупых вопросов. Все, особенно преподаватель, понимают, что вы пришли учиться и можете не знать элементарных вещей. Действительно глупый поступок — не задать вопрос и провалить потом из-за этого интервью, заплатив деньги за обучение, и потратив кучу времени.
Все преподаватели пытаются расположить группу к комфортной обстановке и сделать так, чтобы любой мог спокойно задать свой вопрос. Если ваш преподаватель так не делает, присмотритесь. Скорее всего это не преподаватель (проверьте его логи).
Я занятой и не успеваю сделать дз. Я вроде всё понял, так что просто пересмотрю видео
Если вы понимаете, что домашку делать не намерены, то начинать учиться не стоит. Домашнее задание и практика — основа обучения. Без них толку не будет. От слова совсем. Так что если записались на курс, то делайте домашнее задание. Это не менее важная часть обучения, нежели классная работа.
PS.
В HackerU разработана длительная практико-ориентированная программа, которая позволит вам получить профессию full stack-разработчика. Проконтролируют процесс и поделятся лайфхаками действующие разработчики.
Записывайтесь на консультацию и ознакомительный интенсив: