«Вивчення розробки — це марафон»: ментори про те, як вчитися онлайн та не зійти з дистанції

За кожним кар’єрним злетом розробника стоять роки кропіткої праці. За кожним вдалим світчем у трендову професію — наполегливість та щодення практика. Здається, вчитися програмуванню не так просто, як про це розповідають. Саме тому в цьому процесі так важлива роль ментора.

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

  • ментор надихає власним прикладом (бо в нас, наприклад, всі ментори — колишні студенти Web Academy, які теж пройшли схожий шлях від курсу до першої роботи)
  • ментор може дати індивідуальний фідбек
  • зазвичай студенту легше поділитися своїми сумнівами та труднощами саме один-на-один
  • студент відчуває більше підтримки
  • студент має більше відповідальності довести почате до кінця

Як же правильно працювати з ментором? Чи є секрети, які допоможуть навчитися програмувати та зробити це професією? Про це ми поговорили з менторами трьох напрямів розробки у Web Academy: iOS, Front-end та Python.

swift-mentor

За анкетою перед курсом вже можна
визначити, хто точно впорається

Максим Блашко, iOS розробник, ментор на курсі «Swift з нуля»

Чи складно вчити Swift?

Скажу чесно: професія складна, і навчання не може бути легким. Для людей, які з програмуванням ніколи раніше не стикались, то буде справжнім марафоном. Коли я сам починав вчити iOS, то вже мав певний багаж знань. До цього я займався розробкою на 1C, тому розумів алгоритми, і в порівнянні з іншими студентами, навчання давалося мені легко. Тому на курс варто йти, трохи дослідивши, що таке програмування. Наприклад, пройдіть Swift Playgrounds — гру від Apple.

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

Секрет — в меті: кому вдається пройти курс

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

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

Перше, чого треба навчитися — це формулювати думку

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

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

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

Не варто орієнтуватися на гарну обкладинку

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

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

А ще якомога більше робіть “руками”. Бо поки слухаєш — все супер, все зрозуміло. А щойно сідаєш це робити, то бачиш, що все пропало. Тоді повертаєшся до лекції — знову пробуєш зробити руками. Не виходить? Тоді допомагає ментор чи тренер.

mentor-po-frontend

Головний секрет — в настирливості

Анастасія Бібік, React/React Native розробниця, менторка на курсі «Front-end з нуля»

Чи складно вчити Front-end?

У мене “математичний” склад розуму, по першій професії я інженер-проектувальник. Тому мені було не надто складно. Але багато студентів роблять єдину помилку: йдуть на курс, не зрозумівши, на що вони йдуть. Ось їм найскладніше.

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

Зрозуміло, що не все буде легко. І якщо кожного разу опускати руки — точно нічого не вийде. Секрет в настирливості. Якщо ви оберете для себе наполегливість та оптимізм, курс дасть крутий старт. До війни один студент, наприклад, пройшов на практику в США (у нього був дуже гарний рівень англійської й можливість туди переїхати). Після курсу він ще трішки підучився, заповнив ті прогалини, які не далися йому в перші місяці навчання, і знайшов роботу.

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

Якщо є блокер — треба ставити питання

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

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

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

Не намагайтесь запам’ятати все

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

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

Мої поради: по-перше, не потрібно намагатися запам’ятати все, що дається на курсі. Завжди можна повернутися і підтягнути знання. По-друге, звикати вчитися. Немає такого, що якщо ти не вирішуєш ось цю задачу, значить з тебе розробника не буде. На курсі ви почнете звикати до того, що це така сфера: тут постійно потрібно шукати відповіді та освоювати нову інформацію.

python-mentor

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

Андрій Опалько, Python розробник, ментор на курсі «Python з нуля»

Чи складно вчити Python?

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

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

Переслухувати лекції й ніколи не пропускати практику

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

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

Для розв’язання більшості проблем потрібна просто додаткова інформація

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

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

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

Як не розчаруватися, якщо не виходить

Тим, кому не подобається досліджувати програмування й хочеться «забити» — все ж краще знайти себе в справі, яка напевне буде подобатись. Адже у сфері IT навчання й дослідження ніколи не припиняється.

А якщо справді хочете стати розробником, то ці пошуки будуть приносити задоволення. І врешті все почне виходити. Програмування — така ж професія, як інші. Примиріться з думкою про те, що в цьому можна вдосконалюватися роками: за один місяць не стати “супер програмістом”. Тоді все обов’язково вийде.