Найскладніші речі навчитися самостійно кодувати - і як з ними боротися

Багато людей зацікавилися навчанням кодуванню в останні роки.

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

Такі веб-сайти, як code.org, codecademy та freeCodeCamp, стають все більш популярними. Існує величезна кількість курсів кодування в Інтернеті, а також на YouTube.

Але кодування непросте. Ось деякі труднощі, з якими ми всі стикаємось, коли вчимося кодувати.

1. Пошук “правильної” кількості часу для щоденного кодування.

Якщо ви навчаєтесь кодувати самостійно, швидше за все, у вас є інші обов'язки в житті.

Ви можете мати роботу неповний робочий день, або повний робочий день, або ви можете залишитися вдома батьками. Справа в тому, що всі зайняті цим життям. Тож як знайти час для кодування щодня?

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

Тоді виникає питання: «Скільки часу слід приділяти коду щодня? Якщо я можу отримати лише півгодини на день, чи все одно це враховується? "

Це питання, на яке можете відповісти лише ви самі. Дуже важко підрахувати, скільки годин слід кодувати щодня. Деякі люди пропонують робити це коротким і солодким. Досить добре 15 хвилин.

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

Суть полягає в наступному: тільки ви самі знаєте, скільки ви можете кодувати щодня, і створюючи звичку робити це, не вигоряючи. Остання частина дійсно важлива. Засновник freeCodeCamp Квінсі Ларсон якось сказав у своєму Twitter:

"Йдеться не про ваш щоденний прогрес, а про щоденний прогрес".

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

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

2. Пошук балансу між «недостатньо успішним прогресом» та «згорянням».

Особисто для мене я багато з цим боровся.

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

Починаючи з цього моменту, я продовжував нагадувати собі, щоб не перевантажуватись роботою до того, що повернення не було.

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

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

Це було тоді, коли я:

  • Знайшов проблему, яку мені потрібно було вирішити.
  • Знайшли рішення на форумах в Інтернеті.
  • Спробував купу різних способів вирішити це, просто щоб побачити, який з них працює.
  • Я вирішив проблему взагалі.

Щоб впоратися з тим фактом, що багато речей, які ми вивчаємо, є досить буденними та складними (структури даних та алгоритми тощо), я розробляв це правило 50/50 кожного разу, коли навчаюсь кодувати.

Я використовую 50% часу для виконання складних завдань, вивчаючи основи, концепції, алгоритми тощо. Інші 50% часу я роблю власні проекти, проекти, якими я справді захоплююсь. Щоб було рівновагу, коли справа стосується мого повсякденного навчання.

Отже, прямо кажучи, вам потрібно любити те, що ви робите. Що веде нас до наступного пункту.

3. Любити те, що ти робиш, - це єдиний спосіб пережити всі ці перешкоди.

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

Таке виконання не можна позичити, замінити чи, що ще гірше, підробити.

4. Продовжуйте повертатися до кодування ПІСЛЯ прихильності до інших обов’язків у житті.

Реальність така, що коли справа доходить до самонавчання, це ніколи не буде ти самим, перебуваючи там, навчаючись.

У житті ми всі маємо всі види обов’язків, перед якими нам потрібно взяти на себе зобов’язання. Ви можете бути чоловіком, дружиною чи чиїмось батьком. Вам потрібно піклуватися про свою сім’ю, або у вас є робота, на якій вам потрібно піти. А може, ви студент, якому потрібно закінчити диплом або ступінь.

З усіма обов'язками, які лежать на нас, де ми знаходимо час для кодування?

Правда в тому, що іноді ви цього не робите, або просто не можете. Бувають дні, коли я пропускав кодування. Найдовша “перерва”, яку я зробив, - два місяці.

Але після цього я негайно повернувся до кодування. І я з’ясував, що забув багато чого, про що дізнався. Це може викликати розчарування, коли ти береш ту саму книгу, і ти просто не знаєш, як продовжувати. "Боже, чи справді мені доводиться перечитувати всі глави і переробляти всі квести знову?"

Це момент, коли вам просто потрібно наполегливо, довести це до місця.

Потрібно сказати собі: „Добре, ця перша година навчання може здатися справді повільною і не такою продуктивною. Але це нормально, я виправлюсь, дізнавшись більше завтра ».

Немає жодного способу це зробити, але продовжувати, продовжувати продовжувати. Зайдіть на форум кодування або Twitter і висловіть своє розчарування. Але як тільки ви це зробите, негайно поверніться до кодування.

5. Будьте спонукані будь-якими способами.

Самонавчання дуже відрізняється від відвідування школи. Коли ви кодуєте, навколо вас нікого немає. Немає однокласників, немає соціальних взаємодій, ви не можете знайти ту “велику церемонію”, яка чекає вас у кінці тунелю. Велику частину часу ви робите це наодинці. І більшу частину часу ви самі.

Тож вам потрібно знайти якусь мотивацію, щоб тримати себе вперед.

Я постійно перевіряю цю редакцію (r / macsetups), тому що там багато людей є розробниками. І вони використовують все те саме потужне обладнання, щоб створити програмне забезпечення, яке вони хочуть створити. Немає нічого кориснішого за це.

Також винагороджуйте себе і робіть це звичкою.

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

6. Не впадайте в помилку “навчання заради навчання”. Ходіть на співбесіди, зустрічі та подавайте документи на роботу.

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

Не впадайте в таку помилковість мислення: «Я вчусь, тому це досить добре. Я буду думати про роботу пізніше, коли буду готовий ".

Це те, що я мав би робити частіше, щоб бути відвертим. Звернутися до потенційних клієнтів, навіть якщо він безкоштовно створює веб-сайт для сімей та друзів.

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

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

І останнє, але не менш важливе, щасливого кодування! Насолоджуйтесь тим, що ви будуєте, будь то ваш проект або ваше власне майбутнє.

Слідуйте за мною у Twitter, на GitHub (де я зробив короткий зміст відомої серії YDKJS), і перегляньте мій веб-сайт slowpacedcoding.com, щоб отримати більше подібних статей.