Я помню, что когда я начал писать код, мне не терпелось получить свою первую работу в сфере программирования.

Фактически, я начал подавать заявки в компании довольно рано в процессе обучения. Это, конечно, означает, что меня также часто отвергали, прежде чем я получил свою первую настоящую работу программиста.

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

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

Если после прочтения статьи вы почувствуете, что я помог, подпишитесь на меня в Твиттере, где я читаю и публикую статьи о фронтенд-разработке, функциональном программировании и путешествиях.

Давайте начнем!

1. Печатайте все самостоятельно

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

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

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

Печатать все самостоятельно во время изучения темы - решение номер один.

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

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

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

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

2. Разработайте «что произойдет, если…?» склад ума

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

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

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

Если вы хотите узнать, как справляться с такими ситуациями, вам нужно разработать «что произойдет, если ...?» склад ума.

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

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

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

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

Это позволит вам чувствовать себя более комфортно с языком, который вы изучаете, и с программированием в целом.

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

3. Найдите баланс между изучением «теории» и созданием проектов.

В сообществе программистов я все время слышу: «учиться на практике». И это определенно отличный совет.

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

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

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

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

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

Можете ли вы назвать этот метод по-другому? И если да, то что он изменит в своем поведении? В каких еще ситуациях этот метод может оказаться полезным?

Есть ли альтернативный способ написать код, который вы только что скопировали из Stack Overflow? Может его можно убрать или укоротить? Будет ли это доступно для чтения другим?

Не делай просто так. Считать.

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

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

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

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

4. Найдите репетитора или… иди в университет.

Этот совет очень специфичен для того места, где вы живете.

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

И прежде чем вы напишете гневный комментарий со списком сотен людей, нашедших работу программиста без ученой степени, выслушайте меня:

Я нигде не писал, что нужно закончить степень!

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

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

Вот почему я очень быстро бросил университет.

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

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

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

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

Наличие наставника устранит все эти препятствия и многое другое. Так что не стоит дешево. Если у вас есть хоть немного денег, инвестируйте в себя и наймите репетитора или поступите в университет хотя бы ненадолго!

Заключение

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

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

Вы нашли эту статью полезной? У вас есть еще один совет, которым вы хотели бы поделиться с другими? Оставить комментарий!

И, опять же, если вам понравилась статья, подпишитесь на меня в Twitter, чтобы узнать больше.

Спасибо за прочтение!

Первоначально опубликовано на https://dev.to 9 октября 2020 г.