Як успішно навчити себе кодуванню

Після того, як я опублікував свою попередню статтю про те, як я став 19-річним розробником програмного забезпечення, сотні людей прийшли до мене з фактично однаковим повідомленням: «Я любив читати вашу статтю, і я дуже хочу навчитися програмувати, але я просто не можу подолати цей перший крок. Це так розчаровує та пригнічує, що мені не вистачає структури та мотивації ". Я хочу залучити якомога більше людей до світу технологій, і я думаю, що дуже важливо зосередитись на людях, які дуже мотивовані, але просто не знають, як це зробити.

Я знаю, що сьогодні існують тисячі ресурсів, які “навчать вас кодувати”. Однак це, безумовно, не найголовніша частина тут, і насправді не про це йдеться в цій статті. Важливим є те, як ви структуруєте своє життя навколо нього, обробляєте всю нову інформацію, тримаєте себе мотивованим та зосереджуєтесь на правильних частинах.

Так, Лідія, це звучить приємно, і все, але я відчуваю, що це буде просто черговою статтею, яка мотивуватиме мене приблизно 10 хвилин, поки я знову не повернусь до перегляду випивки Netflix! Перш ніж я почну, я дуже хочу, щоб ви зрозуміли, що якщо ви готові навчити себе кодувати або навчитися кодувати загалом, ви чудові. Ви вже показали, що можете продумати кілька кроків наперед і можете відсунути себе далеко від зони комфорту, навіть якщо ви цього ще не зробили! Якщо ви можете бути раді дізнатися щось, чого ви ще не знаєте, і щось, що здається надзвичайним, ви точно будете хорошим розробником.

Я був репетитором протягом багатьох років, і я часто бачив закономірність, коли студенти казали мені, що їх більше не мотивують. Вони зосередились на більшій меті, ігноруючи незначні, але дуже важливі вдосконалення, які вони робили, що змусило їх відчути, ніби нікуди не дійшли. Хоча я знав, що це дуже важлива річ, про яку слід пам’ятати, вивчаючи нову навичку, але коли я починав програмувати, мені здавалося, що в мене точно такі ж думки. Я відчував, що насправді нічого не роблю, оскільки думав, що всі навколо мене на стільки рівнів вищі, ніж я, і я ніколи не зможу бути настільки добрим у цьому.

Поки я все це думав, я повністю проігнорував багато важливих кроків, які вже робив. До того, як я це зрозумів, я міг писати код, навіть не думаючи про це двічі, і міг створювати щоразу більш складні програми. Просто тому, що я продовжував порівнювати себе з людьми, які мали багаторічний досвід, я навіть не сприймав це як прогрес. Все, що я міг подумати, було: " Я все ще настільки далеко від своєї мети".

Горбистість, коли вчишся програмувати, є справжньою, і всі намагаються це подолати. Горб більший для одних людей, ніж для інших, але я дуже хочу допомогти вам подолати це. Це абсолютно не повинно бути там, оскільки це все у вашій свідомості, але це простіше сказати, ніж зробити. Боротьба у всіх різна, але я зупинюсь на найпоширеніших проблемах, з якими стикаються люди, коли вони навчаться програмувати: як поводитися з новою інформацією якомога ефективніше та як залишатися мотивованими. Я не збираюся зупинятися на тому, як знайти найкращересурсів, оскільки це дуже суб’єктивно.

Ефективна робота з новою інформацією

Кожен різний, і не кожен поглинає інформацію так само, як інші. Так , капітане Очевидно , але це не так очевидно, як може здатися. Перш ніж почати вчитися кодувати, потрібно навчитися навчатися.

Незабаром ви дізнаєтесь, або, можливо, дізналися, що є два типи ресурсів, які доступні де завгодно: онлайн-курси та мовна документація. Однак, поки ви не якийсь надлюдський геній, ви просто не будете згадувати всю нову інформацію, просто переглядаючи курси (тим більше, що насправді важко залишатися зосередженим, давайте не будемо жартувати, їх можна надзвичайно нудно) або читання простого тексту. Цілком нормально почуватися загубленим і розгубленим під час перегляду курсів або читання документів, спочатку всі борються. Програмістам важко пояснити код людям, які не мають настільки знань про нього, не використовуючи інших невиразних виразних термінів (дивлячись на вас, Stack Overflow!).

Незалежно від того, наскільки хорошим ви вважаєте себе: не пропускайте основи. Завжди починай вивчати мову з самого початку і нічого не пропускай. Основи надзвичайно важливі, і ви згодом пошкодуєте, якщо не звернете на них увагу! Так, ви завжди можете погуглити, але це лише зробить вас повільнішим розробником. Якщо ви читаєте документацію, починайте з першої сторінки (або у багатьох випадках 1.1) і читайте дорогу вгору. Для деяких людей це може здатися марною тратою часу, але повірте мені: це не так. Зверніть увагу на дрібні деталі, і ви згодом подякуєте собі!

Якщо ви боретеся з розумінням основ, розслабтесь! У вас буде цілком добре. Те, наскільки ви боретеся зараз, абсолютно не означає, наскільки хорошим програмістом ви будете пізніше.

Через кожні 10 хвилин або після кожного прочитаного абзацу пояснюйте своїми словами те, що ви щойно дізналися . Це може бути досить складно, але ви скоро дізнаєтесь, які частини ви ще не зовсім розумієте. Викладання - найкращий спосіб вчитися, навіть якщо поруч нікого немає! Робіть вигляд, ніби пояснюєте це комусь іншому, і як тільки з’ясуєте, що певну частину не дуже добре розумієте: відразу дослідіть її і запишіть відповідь! Фактично записавши його, ви ще більше замислюєтесь над відповіддю, що значно полегшує запам’ятовування.

Не просто слухайте курс або не просто читайте документацію: активно приймайте участь, маючи на стороні власний особистий проект. Впроваджуйте кожну нову річ, яку ви дізнаєтесь, хоч би якою вона мала! Це не так просто, як здається, насправді це може дуже засмутити, і саме тоді ти знаєш, що робиш це правильно. Ви вдосконалюєте свої навички кодування, роблячи це часто, а не просто знаючи це! Повір мені, ти стаєш кращим у цьому кожен раз, коли робиш це, навіть якщо не усвідомлюєш цього!

Залишатися мотивованим

Багато людей запитували мене, як я міг так сильно змусити себе кодувати в звичайний день. Мені знадобився деякий час, щоб знайти хороший спосіб пояснити свої думки за цим, але я думаю, що нарешті знайшов!

Кожен любить грати в ігри, незалежно від того, якого типу гри. Людям подобаються ігри, тому що ти отримуєш миттєве задоволення, ти відчуваєш, що щось зробив, і бачиш, як ти стаєш кращим у цьому. Це ідеальна формула для мотивації!Я зміг отримати той самий досвід, але під час кодування замість ігор. І це набагато простіше, ніж ви думаєте.

Ставте невеликі цілі. Чи не тому , що ви не дбаєте про поліпшення: а тому , що ви робите турботу про поліпшення. Складіть список завдань, які ви хотіли зробити цього дня: можливо, це просто читання 1 сторінки, перегляд 1 курсу або просто написання 10 рядків коду. Маючи можливість сказати, що ви заповнили весь свій список завдань, ви почуватиметесь дуже задоволеним і набагато впевненішим у своєму прогресі. Набагато краще сказати " Я зробив все, що хотів сьогодні ", ніж сказати " Сьогодні я пройшов лише 2% курсу ". Крім того, навіть якщо ви прочитали лише 1 сторінку або створили 1 поле введення, це все одно надзвичайно важливо знати. Миттєве задоволення!

Постійно нагадуйте собі про те, як далеко ви вже пройшли. Це може здатися по-справжньому важким, оскільки це часто залишається непоміченим. Ви не бачите себе активно прогресуючим, але повірте мені: кожен день, коли ви кодуєте (навіть трохи), ви стаєте кращим у цьому. Найкращий спосіб це зробити, маючи невеликий щоденник. Поясніть одним реченням, з чим ви боролись того дня, і огляньтесь на це через місяць. Існує дуже, дуже великий шанс, що ти зараз із цим зовсім не борешся! Ви бачите, як ви стаєте кращим у цьому.

Працюйте над особистим проектом, який вас насправді цікавить! Не один із мільйонів списків завдань, а щось, що ви насправді хочете створити. Тепер не думайте про самохідну машину чи робота, який може мити посуд за вас, але, вибравши щось менше, наприклад, відтворення макета веб-сайту чи невелику гру, ви помітите, що набагато мотивованіші закінчити. Після завершення проекту вам насправді є що показати: ви щось зробили!

Усвідомте, що у вас все набагато краще, ніж ви думаєте. Його також називають синдромом самозванця. Можливо, вам здається, що всі навколо знають набагато більше про це і набагато кращі в цьому, ніж ви: але це просто неправда. Я не можу наголосити на цьому досить: ви будете хорошим розробником, якщо будете продовжувати наполягати. Ви вже довели, що здатні кодувати, просто будучи достатньо мотивованими, щоб це вивчити, ви це повністю зрозуміли.

Речі, про які слід завжди пам’ятати

  • Ніколи не порівнюйте себе з іншими розробниками . Дуже кліширована порада, але це вкрай важливо. Не порівнюйте свою главу 1 з чужою главою 20. Ви опинитесь у них набагато швидше, ніж ви думаєте! Я опублікував цю картинку вище, бо знаю, що почувався б залякано, якби побачив це 4 місяці тому. Тепер я просто сміюся з цього і навіть можу помітити деякі помилки, які я там зробив!
  • Ви робите набагато більший прогрес, ніж ви думаєте. Кожного разу, коли ви навчаєтесь чи кодуєте, ви зростаєте. Просто прийміть (я знаю, що це важко).
  • На початку всі борються, ти не один, і це не означає, що ти будеш поганим програмістом. Те, як ти почуваєшся зараз, є цілком нормальним, і це лише частина навчального процесу. Незабаром ви оглянетесь на це розчарування, яке ви переживаєте, і погодьтеся зі мною!

Якщо у вас є можливість, спробуйте знайти наставника. У мене був найкращий, який я коли-небудь міг побажати, і я абсолютно готовий бути твоїм, якщо ти звернешся до мене . Чудово, якщо ви можете задати комусь швидкі запитання та отримати натхнення, це, безумовно, допомагає подолати цей горб.

Не соромтеся задавати мені запитання або запитувати потрібні ресурси, надсилаючи мені повідомлення в моєму Instagram, або додавати мене в LinkedIn!