Skip to main content

Как я научился кодировать - муза

3.3 Открываем в себе новые способности (Июнь 2025)

3.3 Открываем в себе новые способности (Июнь 2025)
Anonim

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

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

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

В прошлом я изучал некоторые учебники по программированию, но без особого успеха. Я хотел учиться, но я никогда не мог достичь точки, когда я чувствовал, что я чего-то достиг. Я получил несколько глав и в конце концов был совершенно сбит с толку, удивляясь, почему на Земле я использовал код, чтобы напечатать слова «99 бутылок пива» в терминале. Тогда я бы сдался.

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

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

1. Начните с малого, продолжайте строить

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

До того, как я начал проект «180 веб-сайтов», я знал, что хочу создавать большие интерактивные веб-приложения, но почти ничего не знал о том, как сделать даже простой веб-сайт. Итак, я начал с того, что сделал что-то очень простое, всего несколько строк кода. Мне потребовался целый день, чтобы найти ответы на мои вопросы в Интернете, но это был первый шаг.

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

Позже в проекте я делал то, о чем никогда не думал. Многие сайты, которые я сделал, были веселыми и игривыми. Я делал игрушки, такие как Sushi Jiggler и Etch-A-Sketch, и такие игры, как Simon и Minesweeper. Я также сделал более серьезные приложения. Я действительно заинтересовался данными и создал инструменты представления, такие как Elevations, которые наносят на карту местность между двумя точками на Земле. Общение и обмен информацией также были важной концепцией для меня, и я создал такие приложения, как Audio Garden, чтобы помочь людям общаться по всему миру. Как мы себя чувствуем, который отслеживает эмоции людей в Твиттере, является одним из моих любимых.

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

2. Поставить себя на место - это лучший способ нести ответственность

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

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

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

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

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

Я никогда не писал ни одного поста в блоге до того, как начал проект «180 веб-сайтов» (что неудивительно, если вы прочитаете мои первые посты из проекта), поэтому поначалу писать каждый день было нелегко. Я часто чувствовал, что мне нечего сказать. Но чем больше я писал, тем легче стало. Я обнаружил, что написание того, что я изучал, дало мне возможность суммировать концепции, с которыми я боролся, и возможность развить свой словарный запас программирования. Это также дало мне возможность подумать о вещах, выходящих за рамки кодирования, например о том, как то, что я изучал, связано с реальной жизнью. К концу 180 дней я уже не только научился кодировать, но и рассказывал о своем опыте программиста.

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

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

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