Ідея для даної статті прийшла просто із останніх комунікацій із своїми студентами, з якими ми вивчаємо веб-розробку з допомогою python фреймворку Django. Є кілька важких моментів, коли лише починаєш практикуватись у програмуванні. І саме у ці моменти дуже легко зійти з дистанції і здатись.

Stop Reading, Start Coding!

Stop Reading, Start Coding!

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

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

Отже,

Чому ми відкладаємо на завтра?

В першу чергу маю сказати, що страх, невпевненість, дискомфорт від переходу від теорії до практики – це насправді нормальна річ.

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

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

Це нормально.

Ми, люди, природньо хочемо завжди почуватись в безпеці та комфорті. Не робити помилок і завжди робити тільки те, в чому ми впевнені і що вже робили до цього.

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

Без помилок не буває навчання. А якщо і буває, тоді дуже повільно.

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

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

Як почати?

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

Проблема Вибору

Яку мову обрати? Куди піти вчитись? Той чи цей ВУЗ? Йти на курси чи самому, а чи ментора шукати? 2 чи 3 книжки прочитати перед практикою? Яку технологію обрати: веб, декстоп чи мобільний?

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

Що є найцікавішим, так це головна причина прихована за цими питаннями: страх нарешті почати щось робити. А “вибір” – це така собі обгортка цього страху, яка оправдовує відкладання навчання на місяці!!!

Поставте собі 2 тижні як дедлайн для вибору. В межах двох тижнів зробіть вибір незалежно від кількості інформації, яку вдалось зібрати за цей час. І рухайтесь далі!

Все одно знатимете усі правильні відповіді лише коли спробуєте і пройдете даний етап. Тому сидіти над вибором на початку – це даремна трата часу.

Втеча в теорію

Ви не повірите!!! Але, щоб зверcтати просту сторінку чи запрограмувати програму калькулятор у командній стрічці – вам достатньо пройти один туторіал (або безкоштовний онлайн курс) на кілька годин.

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

Хватить дивитись футбол, пора вже спробувати пограти!

Хватить дивитись футбол, пора вже спробувати пограти!

Книга – це добре. Але в міру. Це як дивитись футбол і думати, що після перегляду матчу ви станете краще грати у футбол. Якщо дійсно цікаво як читати книги, скільки і які, то рекомендую прочитати мою статтю на dou.ua.

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

Хочу ідеалу!

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

А хіба буває по іншому?

Невже дитина одразу починає бігти? Скільки разів вона повинна впасти, щоб почати з часом ходити і зрештою бігати? Невже птахи починають літати без розминки крил і довгої підготовки в гнізді, а дехто все одно падає? Невже ви з першого разу поїхали на лижах, ковзанах, автомобілі?

Так само і з програмуванням…

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

Кожен має пройти свій шлях помилом і проб. Програміст також!

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

  1. написати будь-який код
  2. зробити цей код, щоб запускався, тобто без синтаксичних помилок
  3. оновити код, щоб він працював
  4. оновити код так, щоб працював правильно
  5. заглянути ще раз в середину коду і тепер зробити, щоб він ще й виглядав гарно і згідно кращих практик вашої мови та технологій
  6. дописати тести та документацію (якщо звичайно має зміст у вашій ситуації)
  7. вернутись до вашого коду за деякий час і виявити у собі бажання переписати ваш код ще кращим чином. Якщо бажання з’явилось – значить за цей час ви ще прогреснули!

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

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

Як не здатись?

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

Звичка

Найкращий спосіб не зійти з дистанції і таки навчитись застосовувати ваші теоретичні знання на практиці – це ввести практику написання коду на рівень щоденної звички.

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

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

Ідеально для початку кожного дня писати хоча б 50-100 рядочків коду, або писати його протягом однієї години.

Зовнішнє зобов’язання

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

Кожного дня звітуйте людям, перед якими ви зобов’язались про ваші успіхи:

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

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

І друге зауваження для тих, хто працює із наставником: не чекайте від нього конкретних відповідей, коду і допомоги. А лише отримуйте підказки, які допоможуть вам вийти на правильний шлях і знайти власне рішення проблемі. Якщо вам датуть конкретну відповідь, тоді користі від даної проблеми у вас буде мінімум. Зате, якщо вирішите її із мінімумом підказок, тоді вважайте, що проблему ви вирішили власними силами, а значить і отримали максимум користі та досвіду. Інакше – Ментор буде більше прогресувати, ніж ви 😉

Бій у різних напрямках

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

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

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

Графік дня має значення!

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

Зранку ви повні сил, енергії, а також мозок працює дуже добре та вирішує задачі значно швидше.

Тому краще відкласти теорії, книги, навчання на після обіду, а саме практику та роботу пов’язану з вирішенням проблем робити першим ділом.

Графік дня є насправді важливим!

Графік дня є насправді важливим!

 

Наберіться терпіння

Це найпростіша і найочевидніша порада, але водночас найпотужніша.

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

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

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

 

***

 

Дочитали? …

… А тепер закривайте цю вкладку із статтею і відкривайте ваш редактор коду та через годину чекаю вашого коментаря із деталями про те, що накодували. 😉

А які у вас звички та фішки, що допомагають вам краще організувати ваш день і не відкладати на завтра важливі речі?