Як я «випала» з React і все одно не здалась. Мій шлях до Fullstack-розробки
Привіт, спільното! Мене звати Марія, і ось уже майже три роки я роблю свої маленькі, але впевнені кроки до професії Fullstack-розробника. Кар’єра в ІТ приваблювала мене давно, як-то кажуть, «ще до того, як це стало мейнстрімом», але довгий час мене стримував страх: я не розуміла, як це все працює, з чого почати, чи вистачить мені знань і сил. Але думка, що я обрала після школи не ту професію, не покидала мене.
Після завершення середньої освіти я, як і більшість випускників, не мала чіткого плану. Обирала ЗНО з тих предметів, у яких почувалась більш-менш впевнено, а далі — подавала документи в університети, де проходила за предметами та балами. Проблемою було те, що за час навчання в школі у нас майже не було профорієнтаційної підтримки, і я не уявляла, що вже у
Перші кроки до освоєння нового, незрозумілого, але такого бажаного
Почати було непросто, на мене давило багато сумнівів: «А раптом не зможу? А якщо не сподобається? А якщо викину гроші даремно?». Постійні думки про це не покидали й стримували мене. Але, все більше заглиблюючись в дослідження можливостей навчання, я бачила для себе кілька варіантів долучення до ІТ без початкових витрат. Спочатку в око потрапляли школи, які пропонували навчання в обмін на відсоток від майбутньої зарплати. З одного боку — вигідно, з іншого — обов’язки на кілька років. Я вагалась.
І ось дізнаюсь про проєкт IT Generation. Без роздумів вирішую подаватись — але на який напрямок? Єдиний знайомий мені на той момент — вебдизайн. А потім сиджу собі й думаю — була не була, і подаюсь на кілька напрямків одночасно, навіть не до кінця розуміючи, у чому їх суть. Через деякий час дзвінок. Я якраз їхала потягом до рідних в Україну. Стоїмо на станції, ловлю зв’язок, і тут: «Вітаємо, вас обрано на курс QA-тестувальника». Емоції зашкалювали, а в голові одразу: «А хто це взагалі? І що він робить?»
Навчання виявилось нескладним, але я вже тоді розуміла: знайти роботу та працювати буде непросто: перебування в іншій країні, незнання мови, страх і розуміння результатів першого пошуку роботи за таких умов стримували від подальшого розвитку в цій сфері. Працювати на українську компанію я не могла, на німецьку — не було можливостей. Пізніше я пройшла ще один безкоштовний курс, знову з тестування — щоб закріпити та не забути пройдений раніше матеріал. І саме тоді вперше задумалась про якість освіти: не всі школи однакові, і приваблива реклама — ще не гарантія результату (в процесі навчання дізналася багато нового, що не висвітлювалось на перших курсах).
Що ж стосується загальних вражень, то мануальне тестування здавалось для мене одночасно легким і нецікавим, а автоматизоване на той момент було занадто складним і незрозумілим. Але я не звикла кидати все на пів шляху і жила надією, що зможу працювати за цим напрямком, бо з іншими я навіть не була знайома і не шукала альтернатив.
Чому ж саме веброзробка
На одній із тем курсу ми торкнулись HTML і CSS — базових мов створення сайтів. І це був переломний момент. Мене вразило, що я можу власноруч створювати вебсторінки. Захоплення було щирим, і я почала шукати інші можливості в цьому напрямку. Я отримала змогу за аналогічною безкоштовною програмою пройти курс початкової фронтенд-розробки, який був дуже слабким на всіх етапах, тому я вже без сумнівів підшукувала інші можливості навчання.
Знаєте, часто в інтернеті вискакує реклама: «Прийди на наш марафон, ознайомся з усіма професіями за тиждень, а в кінці буде розіграш гранту на навчання». Такий формат реклами поширений серед шкіл, і це стосується не лише ІТ. І ось я «повелася». Прийшла на марафон для новачків від приватної IT-школи, нас було кілька сотень, виграти безкоштовне місце хотілося, але це ж нереально?! Ти дивишся близько двох годин трансляцію: щось нудно, щось дуже мотивуюче, і ти готова віддати всі гроші, тільки зробіть з мене крутого спеціаліста з заробітною платою, як у бізнесмена. Але знову ж бере внутрішній сумнів — ні, я не впевнена, що зможу, а в той час показують переможця, і, звісно ж, не тебе.
Але десь на третьому марафоні ти в один момент слухаєш історії успіху випускників, а вже через кілька хвилин рандомайзер розіграшу показує твій номер. Ви уявляєте, що таке можливо? Я досі ні. В мене тоді потекли сльози, я раз за разом перевіряю дані в таблиці — так, це я. Море емоцій, нерозуміння дійсності, а вже через кілька тижнів я навчаюся за напрямом Fullstack.
Але попри таке везіння важливо розуміти, чого ти дійсно хочеш. У мене був вибір призу: курси чи досить непоганий і спокусливий подарунок, який притягував зробити вибір на його користь. Але ще раз дослухавшись до себе, порадившись із чоловіком, я зробила свій вибір.
Найскладніше — не програмування, а дисципліна
Отже, нарешті я отримала змогу здобути якісні знання, що стало моєю першою віхою у світі, наближеному до реальної веброзробки. Навчання значно відрізнялося якістю, порівняно з попереднім досвідом. Але попри це я не шкодую про свої початкові кроки на безкоштовних курсах — я все ж таки отримала невелику базу верстки, що допомогло мені швидко пройти блок навчання HTML і CSS, а отримані знання в тестуванні допомагають шукати навіть специфічні баги у написаних застосунках.
Під час виконання групових проєктів я помічала, що деякі студенти мали великі труднощі навіть з елементарними речами, тому я сильно раджу перед тим, як йти на подібне навчання — відкрийте кілька відео на тому ж YouTube, спробуйте щось зробити самостійно, а не лише слідуючи детальним покроковим інструкціям по верстці на марафонах. Бо реальність виявляється дещо іншою, і в ній людини, яка буде сидіти поряд і давати вказівки, не буде.
Далі йшов блок JavaScript — це база подальшого навчання, без якої не має сенсу йти далі, та, мабуть, на якій я допустила свою основну помилку. Перша частина курсу неважка — це більше про синтаксис, основні терміни та методи. Далі вже йде просунутий блок, так би мовити, «справжнє програмування», і тут слід докладати значні зусилля. Потім почався React...
Якщо ви новачок і розумієте, що на весь курс вивчення ви не зможете достатньо абстрагуватися від навколишніх проблем і справ, то, мабуть, слід ще раз подумати про навчання або переглянути свої пріоритети. У мене під час проходження просунутого JavaScript навалилися підготовка до екзамену з німецької, сильна депресія, пов’язана з війною, проблеми з поведінкою дитини, тому React відійшов кудись на задній план. Я була на лекціях, якось виконувала завдання, але мої недоотримані знання з JavaScript і небажання щось активно наздоганяти негативно вплинули на подальше розуміння справи.
Загалом я бачила, як працює React, що за чим слідує, для чого все робиться, але нестача знань із JavaScript заважала освоєнню цього фреймворку. Далі була бекенд-розробка, де я зовсім загубилася, а останній груповий проєкт ми ледь здали, і це вже враховуючи перенесені терміни. Бо, як виявилося, «загубилася» не лише я, і ми не могли подужати всі блоки роботи. Бо решта людей, що дійсно добре розібралася, не могла фізично виконати основну частину застосунку.
Тому ще раз наголошую, що варто оцінити свої часові можливості на навчання. Кілька годин на тиждень — недостатньо.
Наступний крок до професії
Як згадувалося раніше, я не розрахувала свої можливості, і проблема була саме в цьому. Десятки студентів-випускників курсу дійсно отримали широкий спектр знань як у розробці інтерфейсів, так і з бекенду, а решта не змогла подолати труднощі з часом, обставинами або недооцінила свої інтереси. Але попри це мрія все ще залишалася, і я мала йти далі. Самостійне повторення курсу не було для мене мотивуючим — я знала, що, скоріше за все, не подужала б його без консультацій із викладачами в реальному часі. Шукати новий аналогічний курс теж не було сенсу — я вже пройшла певні блоки й мала всю необхідну інформацію.
І ось, після кількох анонсів в інтернеті, я задумалася про магістратуру. Тим паче у 90% вакансій у Німеччині вимагається завершене навчання в університеті, тому це стало для мене наступним великим кроком у світ технологій. Вибір напряму «Інженерія програмного забезпечення» на той момент був на 100% обміркованим і беззаперечним.
Вступати до німецьких вишів мені вже не дозволяли, бо я перейшла межу «дитячого віку» у 27 років і, до того ж мала вищу освіту. Професійне навчання теж не оплатили через наявність попередньої професії. Та і я, власне, не змогла б його витягнути через низький рівень знання німецької мови. Залишався один вихід — пошук онлайн-навчання в Україні. Якщо вбити в пошук щось типу «онлайн магістратура software engineer», то отримаємо не так багато релевантних результатів, а рік тому їх було ще менше. Тому мій вибір коливався між кількома закладами.
Для мене в пріоритеті були онлайн-курси, викладання українською мовою, нахил на вивчення React (який я все-таки прагнула освоїти) і гнучкість самого процесу навчання — я знала, що не зможу бути присутньою на кожній лекції, або моя дитина буде заважати в якісь дні, тому мені потрібні були їх записи та розуміння викладачами моєї ситуації.
Все ж таки моя стратегія подальшого розвитку спрацювала. Розпочавши повторне вивчення блоків, пов’язаних із React, у Neoversity, я змогла опанувати його. Це був ключовий виклик для мене в перший рік навчання, що спочатку здавався дуже складним. У якийсь момент я почала думати, що знову не змогла приборкати цього «звіра», але після самостійної роботи над фінальним індивідуальним проєктом я розкрила для себе принципи роботи і тут прийшло розуміння: «Так, я змогла!». Тому самостійна практична робота дійсно є шляхом до повноцінного розуміння матеріалу та подальшого успіху.
Крім уже знайомих мені дисциплін, я отримала виклик у освоєнні Python у різних його проявах: базові знання, повна розробка, побудова графіків і схем, написання та вирішення завдань із вищої математики тощо. В курс навчання також були включені алгоритми, бази даних і великим плюсом, який я не зустрічала в державних вузах, стали заняття з кар’єрного розвитку та кар’єрна підтримка. Це справді дуже важливо для подальшого працевлаштування, бо з отриманням першої вищої освіти я стикнулася лише з видачею диплома та нерозумінням, куди йти й що робити, а порятунком на той час стала невелика власна справа.
Зараз я маю гарне резюме українською, англійською, а також німецькою мовами (останнє під мою ситуацію), гарно оформлений профіль LinkedIn, мотиваційний лист, що підходить для більшості вакансій і потребує мінімальних правок під конкретну. Також десь після року навчання проводилася імітація технічної та HR-співбесід, де я побачила свої слабкі та сильні сторони. Можливо, це не так вже й реалістично, як справжня співбесіда, але як мінімум дуже цікаво, особливо переглянути запис і побачити себе з боку.
Весь процес навчання проходить із заняттями з англійської мови саме за напрямом ІТ. Як на мене, це гарна практика, і заняття сильно відрізняються від тієї ж ділової англійської в державному виші.
Основні помилки під час навчання, які роблять більшість новачків
Про помилки я можу говорити як зі свого досвіду, так і з досвіду колег по навчанню. Коли починаються складніші теми та з’являється перше нерозуміння, ми часто звертаємося до штучного інтелекту. Однак великою помилкою стає неправильно сформульоване запитання. Замість того, щоб попросити: «Направ мене на розв’язання цього питання», більшість починають просити вирішити завдання повністю. І от під першим завданням з’являються нові, і з часом ти вже не можеш зупинитися через звичку або брак знань.
Це одна з найбільших помилок новачків, особливо в період стрімкого розвитку штучного інтелекту, який зараз обговорюють на кожному кроці. Тому для свого майбутнього важливо визначити межу використання GPT. Однак не слід забувати про його корисність і можливості в роз’ясненні складних тем.
Інший негативний досвід, який я визнаю, сама іноді на нього йшла під час навчання, — це копіювання частин чужого коду. Ви знаєте ситуацію, коли все навалюється одночасно, а терміни здачі робіт підтискають? Так ось, ніколи не йдіть шляхом легкого виконання завдань. Ваші знання не покращаться, і подальше вивчення нових тем уже не принесе користі. Звертатися за допомогою до інших — це хороша практика, але тільки якщо вони можуть пояснити суть коду чи підказати, де саме у вас виникли проблеми. Але ніколи не копіюйте бездумно частини чужого коду. Якщо є така можливість, краще поставити навчання на паузу й спокійно пройти ще раз проблемний блок, але вже продуктивно.
І остання порада — робіть помітки під час навчання: в зошиті, мобільному застосунку, блокноті тощо. Включайте частини коду — це дуже допоможе при швидкому повторенні пройденого матеріалу та підготовці до співбесіди.
Як підсумок можу сказати: не спішіть записуватися на навчання. Досліджуйте ринок, оцініть свій час і можливості через пробне навчання на практичних відео з інтернету. Але якщо бажання освоїти ІТ-напрями не покидає вас, йдіть до своєї мрії попри все.
8 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів