Я бы не стал называть себя веб-разработчиком.

Я подражатель.

Самозванец.

Но не веб-разработчик. Еще нет. Я застрял в аду обучающих программ.

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

Для остальных из нас это сложно.

Уроки просто фантастические. Текущее состояние Интернета таково, что вы можете найти учебник практически по всему. Хотите создать приложение Express? Создать свой первый шаблон WordPress? Понять ключевое слово this в JavaScript? Сеть разберется с вами. Некоторые великие учителя тратят часы своего времени на создание видеороликов, написание статей и ответы на вопросы на различных форумах. Они вас накроют.

Они также внушают вам ложное чувство знания.

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

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

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

По крайней мере, я так думал.

Пока я не решил бросить уроки и заняться настоящим проектом. И вдруг я потерялся.

О, так потеряно!

Создание чего-либо с нуля требует знания технологий, а также умения соединять детали. И очень легко вернуться в теплый и уютный комфорт другого урока! Я использую CDN или загружаю фреймворки и библиотеки через npm? Что мне использовать: нпм или пряжу? Каковы преимущества одного перед другим? А чем отличается фреймворк от библиотеки? Я уверен, что где-то об этом читал.

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

Так есть ли решение этой проблемы?

Могу ли я преодолеть свою зависимость от обучающих программ?

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

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

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

У новичков также очень хрупкое эго - отклоненный запрос на вытягивание (PR) - это огромное дело!

В прошлом году я представил свой первый PR, но он был отклонен. И не потому, что это было нехорошо. Это просто было не нужно. Мой PR был решением проблемы кодирования. Я думал, что отлично поработал, проверял свой код снова и снова, я был так горд! Но он был отклонен, потому что у них уже было три других решения в их вики, а четвертое просто не было нужно.

Справедливо.

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

Этот пиар был только началом. Внезапно у меня возникло подозрение, что я, возможно, не настолько невежественен. Голос в моей голове был очень слабым, но он был там. Я имею в виду, даже перемещаясь по лабиринту мерзавцев, разветвляясь, клонируя, вытягивая, толкая, совершая, о мой мир, я думал, что это никогда не закончится! Я прочитал руководящие принципы для участников, как если бы это был самый важный документ в мире. Я сделал каждый шаг, который сказал, что должен. Я проверил и перепроверил. Я все еще скучал. Я испортил. Удалил вилку. Начат сначала. Думаю, я начал трижды заново. Все это просто для того, чтобы репозиторий был на моей машине, а приложение работало локально.

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

Ваш потенциал.

Ваши навыки и ваши способности.

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

Мой совет - выберите проект с открытым исходным кодом, который вам нравится, и придерживайтесь его. Узнай это. Прочтите базу кода, как будто это самый продаваемый роман. Просматривайте хлебные крошки от одного файла к другому, даже если вы не понимаете большую часть этого. Придерживаться. Прочтите форум, если он есть, прочтите другие вопросы, открытые и закрытые. Делайте перерывы, но всегда возвращайтесь. Покажи свое лицо! Легко представиться, сказать, как сильно ты хочешь помочь, только чтобы тебя больше никогда не видели.

Появляйтесь ради себя самого. Потому что в открытом исходном коде есть сила. Это сила сообщества. Быть частью чего-то большего. Иметь дом.

Мой дом с организацией freeCodeCamp. Раньше это была просто интерактивная обучающая веб-платформа, но теперь это намного больше. Благодаря активному форуму и чат-румам, средним публикациям, каналу YouTube, местным организациям и различным другим проектам это идеальное место, чтобы окунуться в бескрайние воды открытого исходного кода. Он также состоит из многих талантливых и добрых участников, которые были там, где я сейчас. Они были новичками не так давно, и они не забыли, что это такое.

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

Если вам понравился этот пост, подпишитесь на меня в twitter, чтобы узнать, чем еще я занимаюсь!