Стратегія і тактика: як з кандидата наук та футбольного тренера стати фронтенд-розробником за 1200 годин
Усім привіт! Мене звати Руслан, я Front-end Developer у продуктовій ІТ-компанії OBRIO з екосистеми Genesis. Я світчнувся на цю позицію із зовсім іншої сфери — раніше був футбольним тренером та доцентом кафедри медико-біологічних дисциплін Національного університету фізичного виховання і спорту, кандидатом наук за спеціальністю «Олімпійський і професійний спорт».
У цьому тексті поділюся стратегією і тактикою, яка допомогла мені опанувати нову професію з чистого аркуша. А також розповім, чим мені допомогли тестові завдання, як у спорті розвивають когнітивні навички і логічне мислення, та чому не варто хапатися за першу ліпшу пропозицію роботи.
Ця стаття буде корисною людям, чия професія ніяк не повʼязана з ІТ, але їм дуже кортить спробувати. А також тим, хто шукає першу роботу, не маючи комерційного досвіду.
Про застосунок для спортсменів та знайомство з ІТ
Спорт був сенсом мого життя від самого дитинства. Мій батько також був спортсменом, тому я виріс у відповідному середовищі. Я не тільки займався, але й багато читав на цю тему — понад 50 книжок тільки за шкільні роки. Потім я вступив до Національного університету фізичного виховання і спорту України — там у свій час навчалися і тренувалися Сергій Бубка, Яна Клочкова, Лілія Подкопаєва, Віталій Кличко та багато інших відомих спортсменів. Памʼятаю ці відчуття: раніше ти тільки читав про них та дивився виступи по телевізору, а тут опинився в місці, де всі вони починали свій шлях.
Закінчивши університет, я залишився там працювати та викладати. Паралельно працював тренером з футболу. Згодом закінчив аспірантуру та захистив кандидатську дисертацію за спеціальністю «Олімпійський і професійний спорт».
Моя спеціальність була на стику спорту та медико-біологічних наук. Мабуть, єдиною спільною з ІТ дисципліною була англійська мова, яку я добре знав. Також мій брат був програмістом. Але загалом я ніколи не цікавився нюансами. Наприклад, я не знав, що в українському ІТ існує щось окрім аутсорсу.
Але розібратися в нюансах таки довелося. Працюючи в університеті, у мене зʼявилася ідея створити застосунок для тренування когнітивних здібностей спортсменів: памʼяті, уваги, концентрації тощо. Часто спорт сприймають як виключно фізичну активність. Але без розвитку певних функцій мозку спортсмен не зможе досягнути високих результатів. Таким тренуванням приділяють багато уваги. І я почав розвивати ідею спеціального застосунку. Крім створення програми навчання, я поступово заглиблювався в цю тему, дізнавався, що є на ринку, як створюються продукти, що для цього потрібно, які є напрями та спеціальності в ІТ. Зі всіх питань я консультувався з братом та друзями.
А потім почався карантин. Тренування скасували, а заняття перенесли в онлайн, тож у мене вперше зʼявився вільний час. Багато вільного часу. І я розумів, що це надовго. Створення застосунку також поставили на паузу, але я так захопився цією темою, що зʼявилися думки засвоїти додаткову професію. Так і вирішив вивчати фронтенд.
Друзі порекомендували буткемп Mate academy. Для вступу треба було пройти їхній базовий безкоштовний курс з основ JavaScript, після цього — співбесіду, а також знати англійську. Подавши заявку, я почав готуватися.
Етап 1. Вивчення JavaScript для вступу на курси
Тактика: вивчити мову програмування, постійно практикуючись на задачках з кодингу.
Вивчення JavaScript я почав з перегляду уроків на YouTube. Я шукав загальні відео: як це працює, для чого застосовується, як використовувати для сайтів, як додавати скрипти в HTML тощо.
Далі читав специфікацію мови та одразу пробував вирішувати задачки на Codewars. Не знаючи рішення, я шукав відповіді на YouTube, а якщо не знав, що шукати, звертався до моїх «менторів» — брата та друзів. Щоразу я питав у них не готове рішення, а що маю почитати та подивитися, щоб розв’язати задачу. Ця тактика допомогла мені не заглиблюватися у зайві хащі та натренувати практичні навички.
Проблеми:
- Спочатку було відчуття, що мій мозок лусне.
- Важко знаходити рішення без допомоги.
Поради:
- Почати із загальних тем, зрозуміти як взаємодіє код з апкою.
- Практикуватися. Працюючи з кодом, ваш мозок згадує, що ви читали та дивилися, а це — найкращий метод щось запамʼятати.
- Знайти ментора, у кого можна спитати пораду.
- Питати не рішення, а пораду.
У такий спосіб я досить непогано розібрався з JavaScript і добре вправлявся з вирішенням задачок. Співбесіда на Mate academy пройшла добре, хоча не без курйозів. Памʼятаю, як мене спитали, як давно я цікавлюся програмуванням. Я відповів: «три тижні», й повисла тривала пауза. Напевно, інтервʼюер частіше чує інші відповіді.
Практичним завданням було вирішити за 15 хвилин три задачки на JavaScript. Я все зробив досить швидко.
Етап 2. Вивчення фронтенду на курсах
Навчання було дуже насиченим: 12 годин щодня протягом трьох місяців. Це був фактично марафон, на якому ми вивчили HTML, CSS, JavaScript, React.
Було важко. Зі мною на курсі навчалися студенти, які були більш підготовленими та знали, куди йдуть. Дехто навчався за спеціальністю. А я мав дуже загальне розуміння про ІТ та базові знання з JavaScript. Більшість інформації була для мене новою.
Тому спершу я навіть не завжди розумів, про що вони розмовляють, та було відчуття, що я випадково «помилився дверима». З навичок, здобутих у попередній професії, мені знадобилися лише знання англійської та вміння комунікувати з людьми.
Тактика: сфокусовано вивчати новий матеріал.
Тут став у пригоді спортивний вишкіл та сила волі. Бажання досягти результату та перемогти своє незнання було дуже сильним. А розвинуті концентрація та увага, про які я писав вище, допомагали не відволікатися та ефективно витрачати 12 годин на день, відведені для навчання.
Проблеми:
- Психологічне відчуття, що ти нічого не знаєш, нічого не вмієш і тобі треба всьому навчитися. Коли ти — експерт у певній сфері, починати з нуля досить боляче.
- Попередній досвід ніяк не перетинався з ІТ, тому довелося починати із чистого аркуша.
Поради:
- Підготуватися до інтенсивного навчання, як до марафону. На курсах тебе ще на самому початку попереджають, що буде важко. Сформувати такий графік дня, щоби 12 годин ви могли сфокусовано навчатися, а решту часу витрачали на фізичну активність, відпочинок та здоровий сон. Один-два дні на тиждень варто відпочивати, щоби завчасно не вигоріти та дійти до фінішу.
- Концентруватися на навчанні та дисципліні.
- Не боятися свого незнання — ви тут, щоби навчатися.
Етап 3. Пошук першої роботи
Щойно закінчилися курси, я одразу почав шукати роботу, але без комерційного досвіду привернути увагу досить складно. Як альтернативу я використовував виконані на курсах проєкти, що були наближені до комерційного досвіду.
Також мені допомогли тестові завдання. Знаю, що багато хто їх не любить та шкодує про витрачений час, якщо в результаті не отримав офер. Я ж сприймав їх як тренування. Це допомагало відшліфувати отримані навички та добрати ті, яких не вистачало. Також я почав додавати їх до портфоліо, і це допомогло.
Тактика: використовувати тестові завдання, щоби поглиблювати знання та набувати практичний досвід.
Я брав не всі тестові, і тільки після співбесід, якщо мені підходив технологічний стек. Наприклад, я не брав завдання на Angular, Vanilla JS. Також скіпав тестові, коли розумів, що треба багато чого довчити для його виконання — наприклад, серверна частина. І тут причина не в тому, що я не хотів витрачати час, а в тому, що завдання все одно було б неякісним. Моєю метою було краще розібратися в тому, що вже вмів. У першу чергу я брав тестові з верстки та кодингу на React — це було пріоритетом. У другу — завдання з JavaScript, повʼязані з класами, розумінням ООП.
Найбільше мені запамʼяталося перше тестове. Воно було дуже складним, але я доклав чимало зусиль, робив його не менше двох тижнів. Усі наступні тестові були значно простішими та тривіальнішими.
Завдання передбачало використання Ant Design, деякі компоненти йшли зі своїм функціоналом, і треба було добре налаштувати безліч різних фільтрів, сортування, пагінацію. Думаю, і зараз мені б знадобився певний час, щоби розібратися в цьому, а тоді це було неймовірно складно. Звичайно, якість коду була не найкращою, але все добре працювало.
Це завдання виглядало респектабельно, тому я додав його в портфоліо. І після цього зі мною почали частіше спілкуватися рекрутери.
Загалом я пройшов близько 15 співбесід, зробив 7 тестових, перш ніж отримав офер.
Проблеми:
Відсутність фідбеків на деякі завдання. Мабуть, зворотний зв’язок я отримував у 60% випадках. Для людини, яка шукає першу роботу, важливо розуміти, що вона робить не так. До речі, на те надскладне завдання я фідбеку не отримав. Але потім, уже коли працював на іншій роботі, з тієї компанії зі мною звʼязалися. Вони шукали розробника, підняли моє тестове та хотіли поспілкуватися.
Поради
- Якісно виконувати тестові та додавати їх у портфоліо.
- Обирати такі завдання, щоби розвинути та поглибити наявні навички. Усе інше — скіпати.
- Відмовлятися від тестових, якщо не сподобалася співбесіда.
- Просити фідбек та ретельно його вивчати.
Загалом від моменту, коли я почав розбиратися в JavaScript, до оферу пройшло близько семи місяців та понад 1200 годин навчання.
Як джуну без досвіду знайти свою компанію
Робота, яку я отримав, передбачала релокейт з Києва в Миколаїв. Багатьох це дивувало, але для мене були важливими інші умови:
- команда з пʼяти фронтенд-розробників — мені було, у кого вчитися;
- стек технологій — це те, що я вчив і в чому я хотів розвиватися;
- робота в офісі — це були часи карантину, коли всі переходили в онлайн. Але для мене було важливим працювати в офісі, щоби швидше зростати;
- приємна атмосфера в команді. Я одразу знайшов спільну мову з тимлідом, який також був спортсменом.
Найважливіше на першій роботі — це досвід взаємодії в команді. Ви не зможете вивчити цього на жодних курсах: як відбувається процес релізу, як в цьому процесі знаходитися, працювати, бути ефективним, як робити ревʼю, як реагувати на конструктивну критику. Тому так важливо потрапити в команду зі здоровою атмосферою та комунікацією. І для цього треба рішуче відхиляти пропозиції компаній, які тобі не підходять, та не боятися казати «ні», навіть якщо шукаєш роботу в ніші з великою конкуренцією. Якщо співбесіда пройшла некомфортно, — це сигнал.
Від того, як з тобою ведуть діалог під час інтервʼю, можна зрозуміти атмосферу, у якій доведеться працювати. Памʼятаю, як один з тимлідів питав мене, чи можу я працювати самостійно, бо у нього «команда баранів». Я одразу подумав, що тут я точно не буду працювати. На іншій співбесіді було відчуття, що інтервʼюери не дуже розуміють, що їм потрібно, та шукають спеціаліста, який буде єдиним фронтендером, усе зробить і ще навчить інших. Погодься я на роботу в подібній компанії, я би просто нічого не навчився та витратив час.
Замість висновків
У Миколаєві я попрацював близько пів року. Потім у стартапа, на жаль, закінчилися інвестиції. Другу роботу я знайшов значно швидше, потрапивши в OBRIO. Коли тільки починав навчатися, мені хотілося працювати у великій компанії, де багато команд діляться досвідом та експертизою. Так і вийшло.
Що мені найбільше подобається в ІТ — це інтенсивний ритм, коли усе змінюється, потрібно швидко ухвалювати рішення, а також те, що можна впливати на результат та бачити його. Друге — це високий рівень освіченості та інтелекту. Це величезне задоволення — працювати в оточенні таких людей.
Поради для тих, хто хоче змінити професію
- Не гайте час. Якщо ви думаєте про перехід, час діяти.
- Попередньо ознайомтеся з цією сферою, подивіться огляд професій. Їх дуже багато, отже можна знайти себе навіть у вузькій спеціальності, яку ви вже маєте.
- Вивчіть ринок вакансій, перш ніж обрати напрям.
- Знайдіть спеціаліста, з яким зможете консультуватися. Бажано, щоб це було
2–3 людини, і ви могли порівнювати різні думки. Якщо таких немає серед знайомих, можна написати профільним спеціалістам в LinkedIn і попросити допомогти. Досвідченому розробнику це майже не буде коштувати часу, а вам може зекономити тижні. - Оберіть хороші курси. Самостійно можна дізнатися базові речі, але експертні знання — тільки на курсах.
- Навчайтеся системно. Визначіть мету та йдіть до неї крок за кроком.
Бажаю всім успіхів та знайти «свою» компанію!
Корисні посилання
Цей канал підходить, щоб отримати базові уявлення про роботу в ІТ. Автор цікаво розповідає про ІТ та допомагає зрозуміти, як тут все працює, відповідає на питання та бере інтервʼю у цікавих людей з цієї сфери. Буде цікавим і для досвідчених спеціалістів.
Автор розглядає майже всі базові питання, які можуть виникнути у веброзробника на початку: робота з масивами, об’єктами, строками, цікаві алгоритмічні задачі, питання для співбесід тощо.
Тут можна безкоштовно пройти базовий підготовчий курс з різних мов програмування. До кожної теми прикріплені задачі, щоби застосувати отримані знання.
На цих ресурсах можна обирати мову, яку вивчаєте та розв’язувати задачі різної складності. На Codewars можна також подивитися на рішення інших розробників, що також корисно.
17 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів