
За последние 18 месяцев я перешел от «Hello world!» к предложению нескольких рабочих мест в качестве разработчика программного обеспечения без университетской степени. По пути я сделал несколько ошибок. Это моя попытка помешать вам делать такие же.
1. Тратить время на «изучение» каждого найденного языка

Это, пожалуй, самая распространенная проблема, с которой я сталкиваюсь среди начинающих разработчиков! Я также не зацикливался на каком-то одном языке. Когда кажется, что все пишут в блогах о следующей лучшей вещи каждый день, легко быть в курсе всего этого.
Будь то новая среда JavaScript, преимущества функциональных языков или то, что если вы хотите работать в будущем, зависящем от параллелизма, вам нужно изучить Go, вы увидите это повсюду.
Не следите за этим шумом. Заблокируйте это. Конечно, вы можете рассказать о плюсах и минусах Пролога, но это вам не поможет. Всегда. Придерживайтесь чего-то одного и сосредоточьтесь на нем, даже если это скучно. Сосредоточиться.
2. Быстро пройтись по основам, чтобы перейти к интересным вещам

Когда мы начали учиться программировать, мы хотели создавать MMORPG, классные веб-приложения или отличные инструменты. Мы не хотели узнавать о различиях между списками и массивами или словарями и перечислениями. Кого волнует, что строка представляет собой массив символов! Мы подписывались не на это! Изучите основы, и остальное станет проще. Обещаю. Джанго может подождать.
3. Записалась на все курсы, которые смогла найти

Наступает этап, когда вы изучили основы и ждете перехода к следующему этапу. Вы написали Виселицу в командной строке, но следующий проект кажется недостижимым. Как работает ООП? Почему мой сайт Flask не работает? Что такое MVC?
Каждый раз, когда я сталкивался с одним из таких препятствий, я искал новый курс с хорошими отзывами. Возможно, Nanograde от Udacity или трек Treehouse. Я неоднократно повторял основы, надеясь, что это продвинет меня дальше. Это было дорого и просто глупо. Вы не сможете прогрессировать, пока не начнете браться за что-то сложное.
Самое худшее в этом то, что я нахожу материал курса настолько знакомым, что перестаю уделять ему все свое внимание, мне становится скучно, и я бросаю его. Нам просто нужно продолжать работать над проектом, на котором мы застряли — нам не нужно возвращаться к началу каждый раз, когда мы падаем.
4. Вам не нужно тратить месяцы на изучение алгоритмов

Если вы провели время на Quora, вы, вероятно, видели много советов о том, что изучение алгоритмов имеет основополагающее значение для получения вашей первой работы в качестве разработчика. Я не согласен. Хотя они могут быть полезны и, безусловно, популярны в Силиконовой долине среди крупных компаний-разработчиков программного обеспечения, для остальных из нас они менее распространены.
Страсть и несколько побочных проектов превосходят знание обхода красно-черных деревьев на доске. Не переживайте из-за того, что вы не читали «Введение в алгоритмы». Честно.
5. Ожидание начала собеседования дольше, чем нужно

Синдром самозванца – это реальная проблема. Разработчики-самоучки, как правило, ставят «настоящих» разработчиков на пьедестал, нервничая по поводу подачи заявки на роль рядом с ними. Не беспокойтесь. Если вы беспокоитесь, подайте заявку, прежде чем вы будете готовы, чтобы вы знали, когда «готов». Каждое собеседование, которое у меня было, было общим разговором о моих интересах в программировании с добавлением нескольких головоломок по кодированию. Если вы можете решить основные задачи по алгоритмам на FreeCodeCamp, вы можете решить и эти головоломки.