← Academy Blog

Як змінилося моє уявлення про навчання

Привіт усім Академістам! Я Катя, mobile developer у Binary Studio, навчалася в зимовій Академії в 2021-22 році. У цій статті хочу розповісти про те, наскільки ж неправильне у мене було розуміння навчання на початку мого шляху програмування, і що корисного я винесла для себе за цей час.

Труднощі з якими я зіткнулася, і чому вони мене навчили

Не варто вчити все і одразу

Я спробувала багато різних напрямків, перш ніж зрозуміти, чим дійсно хочу займатися і першою моєю помилкою було те, що це все відбувалося одночасно (у тому числі й завдяки університету). На парах я вивчала Python з базами даних, C#, JS, та ще самостійно вивчала Java. Це призвело до того, що в мене утворилася каша в голові з різних мов програмування, і я дуже погано засвоювала весь матеріал, робила багато помилок і не могла запам'ятати базових речей. Із цього я зробила висновок, що краще вибрати щось одне для початку, а потім вже пробувати інші напрямки, щоб нічого не плуталося в голові.

Застаріла інформація

В інтернеті я зустрічала дуже багато порад, що потрібно читати книги з програмування. І, на жаль, це була моя наступна велика помилка… У той момент свого розвитку я вчила веб і вирішила використати для цього книги. Погуглила найпопулярніші книги із вебу, і витративши значну суму (люблю паперові варіанти), я купила книги, яким було вже мінімум 4-6 років… Досі не розумію чому тоді вони були в топі. Коли я прочитала ці книги, я зрозуміла, що через стільки часу змінилося буквально ВСЕ, і ті знання, яких я набула, виявилися вже зовсім застарілими, а технології давно не актуальні. Тепер коли я вибираю книгу, мені важливо, щоб вона була зовсім свіжа. Якщо я і купую книгу, то за тією темою, яка базова для більшості напрямів. Наприклад, алгоритми та структури даних - вони практично скрізь однакові, і це буде корисним знанням основ. Книги з фреймворків я намагаюся не читати, використовую відео та документацією. Що стосується курсів та відео, то я обираю варіанти з регулярними оновленнями, або зовсім нові.

Не треба мати “суперпам'ять”

Раніше я думала, що бути хорошим програмістом = пам'ятати як писати будь-який код і взагалі все. Я навіть конспекти вела, щоб краще запам'ятовувати. Очевидно що мені це не сильно допомагало, і часом я думала, що, можливо, писати код це не моє… Коли я вступила в Академію, я зіткнулась із величезною кількістю нового для мене матеріалу, маючи при цьому лише 3-4 дні на виконання домашніх завдань. Домашки були дуже різноманітні, починаючи з верстки сторінок сайту, закінчуючи написанням програми на Kotlin. Звичайно, часу на конспекти вже не залишається, і запам'ятовування великої кількості коду теж викликає величезні складнощі.

Також великим стресом для мене було домашнє завдання з Flutter. На той момент я практично нічого про нього не знала, ніколи на ньому не писала і вперше побачила Dart, а мені потрібно було написати програму за 4 дні. Я подумала, що це кінець, але після великої кількості годин читання документації, перегляду лекцій і спроб все це реалізувати, мені все-таки вдалося справитися із цим домашнім, так ще й отримати максимальний бал. Цей момент був одним із переломних, адже я зрозуміла, що необов'язково все знати. Що важливо - це вміти розбиратися з новим матеріалом, навчитися приділяти час документації та не бояться того, чого ти не знаєш. Як показує практика - що на роботі, що у навчанні, доводиться постійно стикатися з тим, що чогось не знаєш або не вмієш і потрібно розбиратися на ходу.

Відкладання практики на потім

Я приділяла дуже багато часу, щоб розібратися в теорії, прикладах коду на курсах та прочитанню літератури, але не написанню коду. Я була впевнена, що, перш ніж почати писати програму, потрібно вже вміти щось. Але Академія показала мені, що я зовсім неправа. Пройшовши етап домашок та міні-проекту, я зрозуміла, що чим більше я писала код, тим більше я починала його розуміти. Для мене було дуже складно розібратися у backend на міні-проекті. Також були й інші конструкції та структура коду, і я взагалі не розуміла як можна самостійно таке написати. Проте коли я почала виконувати завдання і переписала незрозумілі мені частини кілька разів, я почала краще розбиратися як там все працює. Я усвідомила, що практиці треба приділяти набагато більше часу, ніж теорії, а не навпаки. Раніше я приділяла приблизно 80% часу теорії та 20% практиці, а в результаті ці відсотки помінялись місцями. Завдяки такій кількості практики через 3 місяці Академії я отримала більше знань, ніж за роки самостійного навчання.

Програмісти багато не спілкуються

Раніше я чула багато міфів про те, що програмісти сидять 24/7 за комп'ютером і лише пишуть код, тому тим, хто не любить спілкування з людьми ця професія здасться ідеальною. Мені доведеться засмутити таких людей. Коли я потрапила на фінальний проект, мене здивувало те, наскільки багато потрібно спілкуватися. Щоденні дзвінки, багато спілкування з командою, чи то на тему завдання, чи рев'ю коду інших учасників. Найстрашнішим для мене було демо щоп'ятниці :) Я завжди боялася публічних виступів та презентації своєї роботи. Через 1,5 місяця я була неймовірно рада, що зіткнулася з цим відкриттям саме в Академії, а не на першій роботі і змогла подолати свої страхи.

Якщо підсумувати всі пункти, то я зробила для себе такі висновки:

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

Додаткові поради

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

Багато разів до Академії я запитувала себе: "Я вчусь сама, без ментора, як взагалі дізнатися щось нове, про що важко здогадатися самостійно?" Спонтанно, коли я гуглила питання, яке мене цікавило, я натрапила на сайт зі статтями та блогами Medium. Тепер мені щодня приходить розсилка React/React Native і дуже часто я знаходжу те, над чим ніколи раніше не замислювалася. Це допомагає мені дізнаватися нового, розвиватися далі і вдосконалюватись у написанні коду.

Висновок

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