Я — розробниця-самоучка. Ось якими ресурсами я користувалась в навчанні
Привіт! Мене звати Дарʼя Галайда, і я Front-end розробниця-самоучка. Лише два місяці тому я стала частиною компанії ISsoft Ukraine. Тож я розкажу про свій шлях навчання, який привів мене до того місця в карʼєрі розробниці, де я знаходжуся зараз.
А якщо ти тільки починаєш цікавитися розробкою і вже знаєш, що точно хочеш цьому навчатися, то ця стаття якраз те, що тобі необхідно.
Зараз у соціальних мережах та в різних медіа пишуть, що навчитися самостійно розробці дуже важко та майже неможливо. Основна причина — має бути людина, яка все вже знає і вміє, яка буде тебе направляти в навчанні, доступ до якої ти можеш отримати в університеті або ж простіше — на платних курсах.
Але я розкажу про те, як можна самостійно навчитися планувати своє навчання, структурувати свій час, розбирати чийсь вже написаний код і, нарешті, як навчитися писати свій власний код.
Як можна самостійно навчитися планувати своє навчання
Я думаю, майже всі, хто зібрався вчитися самостійно, без вчителів та менторів, стикається з проблемою відкладання навчання «на завтра», що виникає через страх «великої мети», у цьому випадку, — стати розробницею(-ком). Ця проблема вирішується подрібненням цієї великої мети на менші, до яких набагато простіше дійти.
Наприклад, я зробила так: відкрила онлайн-підручник з JavaScript, подивилася, що в ньому всі теми розділені на дрібні частинки, і вирішила проходити мінімум по частинці на день. Одна частинка має невеликий обсяг тексту та декілька задач. Тобто, ти відразу маєш два варіанти того, як запам’ятати інформацію — в тексті та за допомогою розвитку практичних навичок у задачках.
Плюси цього методу навчання:
- обираєш невеликий обсяг інформації, через що мозок не лякається, що треба багато вчити;
- фіксуєш отримані знання практичними завданнями — отримуєш практичні навички, через що, ти починаєш розуміти, що розробка не така вже і складна, як здавалося.
Таким чином, кожного дня ти крокуєш до своєї мети, проходячи такі собі умовні «рівні гри», у вигляді розділів підручника чи онлайн-курсу, який тобі сподобався.
Як планувати свій час
Це продовження і доповнення попереднього пункту. Наш головний ворог у самонавчанні — це страх того, що у тебе не вистачить сил та вмінь дійти до мети, через що ми часто відкладаємо навчання на потім. Тут допоможе точне планування часу навчання.
Час, який необхідно запланувати на навчання має бути вільний кожного дня, навіть на вихідних. Якщо такий час ти маєш, то до нього необхідно правильно підготуватися.
Тобто перед тим поїсти, випити чаю або кави, зробити все, щоб тобі нічого не заважало перед навчанням, вимкнути телефон або поставити в авіарежим (бажано), щоб під час твого особистого уроку ніщо тебе не відволікало.
Якщо так вийде вчитися принаймні тиждень, то вже через цей тиждень, скоріш за все, ти почнеш помічати бажання саме в цей запланований час вчити новий розділ і розвʼязувати нові задачки.
Як навчитися розбирати чийсь вже написаний код
Напевно в деяких читачів виникне питання: «Навіщо вчитися розбирати чийсь код, якщо я хочу його писати сам(-а)?» Але відповідь на нього проста — щоб навчитися писати свій код, треба навчитися розбирати вже написаний код, а тоді змогти його повторити.
Тож, починати треба з маленьких шматочків коду, які можна побачити в курсах, онлайн-підручниках, статтях, а також на всім розробникам відомому сайті Stack Overflow, де є відповіді майже на всі питання, які стосуються розробки. Далі, те, що необхідно робити з цими шматочками коду — це детально читати пояснення до них, якщо вони розміщені в статтях чи підручниках, а якщо щось незрозуміло, то обов’язково гуглити значення тої частини, яку ви ще не розумієте.
Зазвичай код можна легко розділити на частини, про які можна читати якусь офіційну документацію, наприклад, на сайті w3schools або MDN Web Docs. Головне — зрозуміти, яка саме частина тобі незрозуміла — це може бути щось, що стосується об’єктів, масивів, методів, функцій тощо.
Просто пам’ятай — якщо розгубився в коді, то починай ділити його на найпростіші частини, тоді все стає зрозумілим, а якщо і тоді ще ні — шукай додаткову інформацію, гугли.
Як навчитися писати свій власний код
По-перше, навряд ти зможеш вивчитися за допомогою тільки одного ресурсу, але почати треба саме з цього.
Необхідно знайти онлайн-курс або відео на YouTube, де є величезна кількість хороших курсів та гайдів від чудових розробників, або на сайті про javascript, де окрім підручника є і відеокурси, або на Udemy, де є неймовірна кількість професійних курсів для розробників, за якими особисто вчилася і я.
По-друге, зазвичай усі курси з розробки починаються тим, що людина, яка розказує про якусь мову програмування, наприклад, JavaScript, стартує зі створення проєкту, на прикладі якого пояснює, що і як треба робити, щоб написати, наприклад, свою вебсторінку. Я пропоную писати щось схоже на те, що починає робити викладач курсу, але зі своєю ідеєю, тому що таким чином ти будеш створювати те, що цікаво саме тобі, а також ти будеш додатково шукати інформацію про те, як зробити якусь фічу, яка необхідна твоїй сторінці.
Такий спосіб навчання набагато скоротить час, за який ти навчишся писати працюючий код, а також зробить навчання цікавішим і кориснішим. Коли ми робимо те, що нам подобається, то запам’ятовуємо інформацію набагато легше.
При цьому треба пам’ятати, що навчитися писати свій власний код можна лише тоді, коли ти пройшов етап прийняття того факту, що ти будеш помилятися, причому помилятися кожного дня багато разів. І це — найкраще з усього в навчанні, бо як би банально не звучало, але на помилках ми вчимося, а тому помилки — це добре!
Помилки не мають вганяти тебе у відчай, хоча іноді «червоне полотно» зі словом ERROR дуже лякає і забирає сили. Для нас, розробників, помилки — це ще один спосіб навчитися новому. І все, що треба з помилками робити найчастіше — це шукати інформацію онлайн і читати, що про неї кажуть твої колеги. Адже майже всі помилки, які ти зустрінеш у своєму навчанні та роботі, вже були в когось, тому і відповідь, як ці помилки виправити, вже є, а тобі тільки лишилося її трохи пошукати і прочитати.
Третє — щоб швидше і якісніше навчитися створювати свої сторінки чи додатки, необхідно виходити з зони комфорту. Для мене такою зоною дискомфорту, а також великим поштовхом у навчанні, стали тестові завдання від різних компаній, які я шукала на DOU, Djinni та інших сайтах, де рекрутери з ІТ-компаній розміщують позиції не тільки для роботи, а й оголошення про набір у інтернатуру для розробників без досвіду роботи, різні курси, а також позиції trainee (це такий розробник(-ця), якого компанія бере до себе, щоб вивчити і далі дивитися, чи він може брати на себе відповідальність і виконувати справжні завдання з розробки різних проєктів).
Отже, що таке це тестове завдання? Тестове завдання — це завдання, на яке тобі дають декілька днів, частіше від 3 до 5, максимум. До цього завдання є вимоги, наприклад, якою мовою програмування можна писати завдання, за допомогою якого фреймворку можна писати, а також які бібліотеки компонентів можна чи не можна використовувати (якщо завдання на Front-end).
На таких завданнях вчитися дуже круто, бо ти намагаєшся зробити майже неможливе. Особисто я не отримувала жодного завдання, для виконання якого мені не було б потрібно вчити щось нове. Навіть можу сказати більше — саме через моє перше тестове завдання я зараз маю той стек, яким користуюся.
Тож, для виконання тестових на початку свого шляху буде необхідно працювати майже цілими днями, мало спати, та вчитися робити таке, чого ніколи не робив(-ла), дивуватися тому, що ти створюєш якусь магію. Бо саме так відчуваються перші виконані завдання та й перші працюючі функції.
Але водночас доведеться стикнутися з негативними та неприємними фідбеками про завдання. І тут головне — не сприймати це близько до серця, тому що навіть сіньйорам інколи дають негативні фідбеки і кажуть: «Ви добре виконали завдання, але ми обрали того, хто виконав його краще».
Також, якщо ти отримуєш негативний фідбек, завжди проси того, хто перевіряв завдання, щоб тобі детально розписали, в чому твої помилки і що не сподобалось у твоєму коді. Таким чином ти дізнаєшся, над чим тобі ще треба працювати, що вивчити краще, що взагалі нового вивчити та, звичайно, що ти вже добре вмієш.
Отже, вчитися самотужки — це звичайно важко і складніше, ніж коли тебе вчать ментори і викладачі, тому що необхідно стати структурованим, не поспішати, але і не гальмувати свій власний розвиток.
Також на цьому шляху трапляються моменти, коли здається, що вже не хочеться вчитися тій розробці, але необхідно собі нагадувати, для чого саме тобі необхідно стати розробником, тоді сили і бажання для вивчення з’являються знову.
У кожної людини йде абсолютна різна кількість часу на навчання, комусь підходить вивчення інформації з тексту, комусь з відео. Головне — не боятися пробувати різні способи і шукати таку інформацію та у такому вигляді, який цікавить саме тебе.
Не забувай, помилки — твої найкращі друзі на шляху до мети!
Ще деякі корисні посилання з мого особистого досвіду:
- LeetCode — тут є купа задачок для покращення практичних навичок, а також є обговорення цих задачок і варіанти їх розв’язання різними мовами програмування;
- NIX Education — онлайн-курси від компанії NIX, в них гарно структуровано подані посилання на інформаційні джерела для вивчення різних напрямків і мов програмування;
- плюс, до всього, що я написала — офіційна документація мов програмування, фреймворків тощо, в них зазвичай є гайди та відеопояснення різних тем для вивчення та покращення знань.
Як сказала одна мудра людина: «Не бійся не змогти, бійся ніколи не спробувати!».
Тож, бажаю усім успіхів!
79 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів