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

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

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

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

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

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

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

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

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

Инструменты, которые вам могут понадобиться

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

Аккаунт GitHub
Вероятно, самый важный, так как это будет вашими воротами в мир Open Source. Если ты выходец из среды, вообще сочувствующей мало-А-анархии — подожди, друг.

Редактор
Все, что вам подходит, хорошо. Atom — это редактор с открытым исходным кодом, созданный с использованием веб-технологий (html, css и JavaScript) — он бесплатный и имеет несколько отличных плагинов. Это также клон Sublime, который некоторые люди предпочитают, так как он скомпилирован и может работать быстрее на некоторых машинах. Существует также VS Code от MicroSoft, который начинался как форк Atom и имеет отличную языковую поддержку для таких вещей, как TypeScript, Go, Erlang и т. д.

Примечание. Если вам не хочется устанавливать редактор, попробуйте Repl.it или Cloud9.

Аккаунт Twitter — это отличный способ следить за людьми в интересующей вас области и напрямую задавать вопросы. Также хорошей идеей будет писать небольшие посты о своем прогрессе (что повышает личную ответственность). Популярный курс 100 Days Of Code идеально подходит для начинающих.

Учебный план

История Интернета, технологии и безопасность(Coursera)
Мне очень полезно понять, как появился Интернет, и это — это отличный курс, не требующий никаких знаний в области программирования.

https://www.FreeCodeCamp.org
Плюсы: это бесплатно, тщательно, проектно... и если вам удастся пройти весь путь через учебную программу они предоставят возможность работать над реальными проектами для некоммерческих организаций.
Минусы: если вы только начинаете, вы можете быть немного перегружены. Не торопитесь, гуглите любые вопросы, которые у вас есть.

https://InternetingIsHard.com
Это бесплатно, это написано дизайнером, который проделал большую работу по созданию иллюстраций и сосредоточился на интерфейсе как отображаются веб-сайты.

https://Codecademy.com
Классика. Отличное место для начала обучения веб-разработке.

https://www.KhanAcademy.org
Феноменальное приложение, которое отлично подходит для повышения уровня ваших математических навыков и представляет собой увлекательный способ изучения компьютерных наук.

Справочные материалы

CSS-Tricks.com — они существуют всегда и просто лучшие. Они постоянно обновляют архивные сообщения, чтобы убедиться, что информация верна.

The Mozilla Developer Network — они в значительной степени являются полномочиями по документации веб-API. Это некоммерческая компания, которая заботится в первую очередь о разработчиках и имеет одни из лучших руководств Начало работы.

Codrops — еще один фаворит, внимательно ознакомьтесь с их Справочником по CSS.

Каналы YouTube

ComputerPhile — один из моих любимых каналов. Это дочерний канал также отличного NumberPhile, и на нем профессора объясняют отдельные концепции в мельчайших подробностях.

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

Coding Train — отличный преподаватель. Если вас вообще интересует Обработка, то это для вас.

Fun Fun Function — возбудимый швейцарец рассказывает о привычках и шаблонах современных веб-разработчиков.

Математика кодирования — в кодировании может быть много математики, этот канал дает несколько хороших обзоров.

Шестьдесят символов – аналогично Numberphile, но относится ко всем научным вещам.

Подкасты

CodeNewbie — основное внимание уделяется освещению темы для начинающих.

Больше, чем код – отличный подкаст, посвященный не только программированию.

JavaScript Air — новые выпуски давно не транслируются, но есть отличный архив.

Журнал изменений — множество подкастов на разные темы.

Приложения мега-ресурсов

Потрясающе-Потрясающе
Так называемый список Потрясающе — это файл README, содержащий ссылки на множество ресурсов. по конкретной теме. Список Потрясающе-Потрясающе содержит списки Потрясающе. Конечно, есть и репозитории для этого типа.

The Jargon File
Если вы встретите термин, которого у вас нет, например grep, иногда это может привести к забавному определению.