Кейси

Як вивчати програмування самотужки і не здатися: 6 правил

Переклад статті "The most difficult things about learning to code by yourself  —  and how to tackle them"

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

Сайти типу code.org, codecademy чи freeCodeCamp стають все більш популярними, а кількість курсів в інтернеті та конкретно на YouTube постійно зростає. Але кодити– не надто просто. Ось деякі з перепон, із якими ми стикаємося під час навчання програмуванню, і як з ними боротися.

1. Знайдіть "необхідну" кількість часу для кодингу щодня

Якщо ви вчитеся самі, скоріше за все, у вас є інші зобов'язання в житті – кожен з нас завжди має купу справ. Але як тоді знайти час для кодингу щодня?

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

Відповідь тут можете дати лише ви самі.  Деякі люди надають перевагу коротким і легким сесіям, 15 хвилин тут буде достатньо. З іншої сторони, є історії про те, що можна стати розробником протягом року, займаючись кодингом 9-10 годин на день. Суть ось в чому: лише ви знаєте, скільки часу на день ви можете виділити написанню коду, щоб зробити це звичкою без передчасного вигорання. Останнє дійсно важливо. Засновник free Code Camp Квінсі Ларсон одного разу написав в Twitter:

"Йдеться не про прогрес за день, а про прогрес кожного дня"

Дехто з senior-розробників говорить про те, що оптимум – 3-4 години кодингу на день, адже після цього ліміту наша працездатність суттєво падає (прим.: з цією точкою зору погоджується один із гуру продуктивності КелНьюпорт з Джорджаунтськогоунверситету). Це не має бути золотим стандартом, але дає ідею того, як зробити собі реалістичний і, найважливіше, стійкий план навчання програмуванню щодня.

2. Знайдіть баланс між "недостатнім прогресом" і "вигоранням"

Швидше за все, будуть дні, коли ви не зможете зрозуміти жодного концепту чи фрагменту коду з книги, яку читаєте. В такі моменти дуже просто взяти і кинути все.

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

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

  • Знайти проблему, яку треба вирішити
  • Знайти вирішення на онлайн-форумах
  • Спробувати кілька різних шляхів її вирішення для того, щоб просто подивитися, який працює
  • Розібратися з проблемою

Аби змиритися з фактом того, що більшість речей під час вивчення нудні і складні (структури даних, алгоритми тощо), використовуйте "правило 50/50": 50% часу приділяйте для виконання складних завдань, вивчаючи основи, концепт, алгоритми; решту 50% – займайтеся своїми проектами, до яких маєте пристрасть. Так, ми отримуємо баланс для щоденного навчання.

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

3. Любити те, що ви робите – єдиний спосіб подолати всі перешкоди

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

Класика від Джобса:

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

Як зазначалося в пункті 1, в повсякденному житті ми маємо багато обов'язків. Ви можете бути чоловіком, дружиною, батьком, дбати про сім'ю, писати диплом тощо. Як при цьому всьому не пропускати щоденні заняття з програмування?

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

Цей момент просто треба перетерпіти. Ви маєте сказати собі: "Ок, перша година навчання може здатися дуже повільною і непродуктивною. Але нічого страшного, я вивчу більше завтра". Це неможливо якось підсолодити, просто йдіть уперед. Можете висловити свою фрустрацію на форумі для кодерів чи Твіттері. Але як тільки це зробите – повертайтеся до програмування.

5. Підтримуйте свою мотивацію будь-яким способом

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

Наприклад, якщо ви хочете оновити свій комп'ютер і зробити це естетично, можете дивитись цю гілку reddit (r/macsetups), адже більшість людей на ній – розробники. Вони використовують все це потужне "залізо" на фото для того, щоб робити "софт", який вони хочуть робити. Бажання мати щось подібне буде стимулювати вас йти далі.

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

6. Не впадайте в оману "навчання заради навчання". Йдіть на співбесіди, мітапи та подавайте резюме

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

Не тіште себе думкою "я вчуся, і цього достатньо; про роботу подумаю потім, коли буду готовий". Шукайте потенційних клієнтів, навіть якщо це буде безкоштовний сайт для сім'ї чи друзів. Потім, коли ви прийдете на співбесіду, у вас вже буде, що показати. А це – додаткова цінність для вашого резюме. Перший крок завжди найважчий, але його треба зробити в будь-якому випадку.

Усе зазначене вище – виклики, з якими ви стикнетеся на шляху до опанування професії розробника. Усвідомте їх і зустріньте з правильним ставленням: перепони, з якими ви стикаєтесь, можуть лише зробити вас сильнішими і кращими.

Оригінал: Найскладніші речі у вивченні програмування самотужки і як з ними справлятися

Переклав Сергій Титюк, "Рубрика"

Свіжі дописи

  • Що відбувається

“Рубрика”, Lviv Media Forum та Український ПЕН отримали в ПАР відзнаку “Відвага заради демократії”

Цією нагородою було відзначено українське громадянське суспільство “за його відважну діяльність в часи війни” 20-22… Читати більше

Friday November 22nd, 2024
  • Кейси

Сергій Каліцун: “Я глянув на ногу, розраховував, що вона ціла. А її не було”

Сергій Каліцун з Васильківської громади, що на Київщині. Своє поранення, яке призвело до ампутації ноги,… Читати більше

Friday November 22nd, 2024
  • Що відбувається

Збільшення податків на тютюнові вироби: чимало активістів не згодні з рішенням

Розбираємо, про що йдеться у законопроєкті про поступове підвищення акцизу на тютюнові вироби до 2028… Читати більше

Thursday November 21st, 2024
  • Кейси

582 години з турнікетом: як український військовий вижив у підвалі попри складне поранення

“Алексу” 52. Восени 2024-го він втратив руку в боях у Вовчанську. Але сама ця історія… Читати більше

Thursday November 21st, 2024
  • Кейси

Сергій Малечко: “У когось остання Тесла, а у мене сучасний протез”

38-річний Сергій Малечко родом із Чернігівської області. З перших днів повномасштабного вторгнення добровольцем боронив Україну.… Читати більше

Tuesday November 19th, 2024
  • Кейси

Зв’язок поколінь: як підлітки з Миколаївщини вчать літніх людей користуватися ґаджетами

“Рубрика” розповідає про ініціативу, що у всіх сенсах налагоджує зв’язок між поколіннями — і емоційний,… Читати більше

Tuesday November 19th, 2024

Цей сайт використовує Cookies.