Ми живемо в епоху цифрового ренесансу. Технології розвиваються дуже стрімко і, описані колись у футуристичних оповідях речі, сьогодні стають повсякденністю. Нові інструменти дозволяють будувати все більше продуктів і вирішувати складніші користувацькі та бізнесові задачі. Цей розвиток не міг не спричинити попит на спеціалістів в галузі розробки й за останні роки він зріс дуже суттєво. Я не знаю достеменно, за яких причин, але Україна опинилась в авангарді цього напрямку. Зараз ми граємо суттєву роль на ринку (поки що на аутсорс, але то питання часу) і маємо репутацію висококваліфікованих розробників за помірну ціну серед замовників. Точніше, мали. Потім сталось повномасштабне вторгнення і будувати команди в Україні стало ризикованим вкладенням для іноземців. Сюди також наклалась рецесія світового ІТ. Ринок обвалився. Скорочення торкнулись раніше захищених закордонним ринком розробників. Але в Україні “айтішна” професія встигла сформувати певний стереотип навколо себе і стала чи не найбажанішою до освоєння. Розробники утворили певний середній клас, який своєї чесною працею на закордонних зарплатах може в Україні жити без особливого шику, але в достатку. Мені ідея імпонувала і я також почав розглядати варіант зміни професії.
Мій шлях був не оптимальний і тому зайняв багато часу. Якщо ти зараз на роздоріжжі й подумуєш також на нього стати — ти знайдеш тут багато корисного. Я розкажу, що працює, чого варто уникати, як треба, а головне — як не треба робити в цій подорожі. Про ментальний підхід і та план. Здобуття нової професії, маючи повноцінну роботу і сімʼю. Спочатку розповім про свій досвід, потім своє бачення, як це треба робити зараз. І в кінці буде бонусна пропозиція, яка може значно пришвидшити твій прогрес.
Про мій шлях
Перша робота
Свою повноцінну першу роботу я почав у прекрасній ІТ компанії Materialise на посаді медичного інженера. Безмежно вдячний цій компанії за досвід. З нею я провів більше ніж 5 років і це була надзвичайна історія. Постійний розвиток в навичках і проєктах, а також робота з програмними продуктами та інженерами, які їх робили, почали формувати в мені розуміння розробки. Я почав цікавитись технологіями та разом зі своїм братом, який також працював тут, почали робити перші простенькі сайти. Потім ми перейшли на інший проєкт, він почав більше вкладати в навички розробника, а я — в інженера. Через деякий час він змінив професію, успішно почав нову карʼєру з початку, а я досягнув майже максимального технічного рівня тут. І це стало свого роду пасткою, яка сповільнила мій рух.
Страх змін
Отже, чому пастка? Чим глибше і якісніше ти освоюєш професію, тим складніше її змінити. Особливо, якщо вона дуже специфічна. Моя була саме такою. На ринку Україні в той час годі було й шукати альтернатив. Я почав усвідомлювати, що стаю хоч і крутим спеціалістом, але в дуже вузькій спеціальності. Це робить мене залежним від компанії. Періодичні підвищення по зарплаті та обовʼязкам додавали мотивації лишатись. В мене виникало дуже багато сумнівів. Страх кардинальних змін, зовсім нова сфера, в якій ти профан, розмиті перспективи, джуніорська зарплата в противагу стабільності та комфорту. А ще я дуже звик до команди і прекрасних людей навколо, більшість моїх друзів були колегами. Словом, нормально так вріс коренями тут.
Поштовх (нормальний такий дзвіночок)
Потім стався covid. Зачинялись заклади, люди почали працювати з дому, все переходило онлайн. До закритих ТРЦ і кінотеатрів мені не було особливого діла, натомість закриті медичні заклади в Європі та Америці дали зрозуміти, що не важливо наскільки стабільна компанія є на ринку, непередбачувані обставини можуть скоригувати план її розвитку. Скасовувались планові операції, падали замовлення, меншало роботи, зменшувалась необхідна кількість співробітників. Алгоритм доволі прозорий і зрозумілий. І тепер згадуємо супер вузьку спеціалізацію і відсутність альтернатив на ринку і вуаля! Мотивація віднайдена! А віддалена робота замінила 2 години стояння в маршрутці на додатковий час для навчання.
Як вчився
Моє навчання явно не було оптимальним по одній простій причині — я намагався розібратись у всьому сам. Від цього хапався за різні статті та дорожні карти з інтернету, а більшість з них говорили різну інформацію. Ця сфера неосяжна, в ній дуже просто заплутати, якщо не знаєш, куди йти. І я не знав. Тинявся від відео, до відео і намагався засвоїти інформацію. Не розумів контекст, починав розбиратись в ньому, а там також нові пояснення, переходив до них. І так по колу, вже забувши, з чого взагалі починав. Мої знання не були структурованими, я знав якісь уривки у всьому, але не освоїв жодну тему глибоко. Щоб не кинути на цьому етапі, мені допомогли три речі: мотивація, про яку було вище, приклад брата, який зміг сам успішно пройти цей шлях і моя камʼяна дупа (читай — всидливість або дисципліна). Я продовжував накопичувати інформацію. Спочатку просто мавпував проєкти з ютубу. Дивишся 1 дію автора, згортав ютуб і намагався відтворити по памʼяті, що він там робив. Це допомагало не тільки переписувати код, але й розуміти, що він робить. Потім почав додавати в такі проєкти щось своє: інший підхід, стиль, технологію. І тут дещо змінилось. Мої знання почали складатись в пазл. Почала вимальовуватись картинка, як працює веб та інтернет в цілому. Все ще не базовому рівні, але хоча б цілісному.
Як шукав роботу
Ти ніколи не будеш готовий до своєї першої співбесіди. Завжди буде відчуття, що треба ось це ще підтягнути і оце. Меншою мірою, в мене так було. Потім якась людина в інтернеті сказала у відео: “Сходи на співбесіди, тобі там позадають питання, ти позавалюєш їх всі, але будеш знати, що дійсно треба підтягнути. Скоріш за все, це відрізняється від твоїх очікувань”. І я пішов. І це було дійсно так. Я був на стільки не готовий до цього процесу, що на першому своєму скрініг дзвінку, мене завалила рекрутерка питаннями по CSS. Відповіді я знав, але тоді їх сплутав і виглядало це максимально соромно. Існує також окремий javascript для співбесід, який трохи відрізняється від проєктного коду. Бо проходити співбесіди — це також навичка. Її треба прокачувати окремо. Я ж цю навичку втратив, бо останній раз був на них більш як 5 років назад.
Співбесіди
Тут важливо розуміти контекст, в якому я проходив співбесіди. На той час ринок ІТ настільки перегрівся, що вже шкварчав. Він був повністю за кандидатом. Всім потрібні були розробники і у великій кількості. Дуже гарні спеціалісти могли висовувати абсолютно неймовірні умови і компанії на них погоджувались, бо кадрів не вистачало. Стандартні айтішні бонусні програми з печивом і страховками вже сприймались, як опція за замовчуванням. Одним словом, кандидат шикував, рекрутери його закидували пропозиціями, він стрибав від компанії до компанії за +500 і горя не знав. В той період компанії могли дозволяти собі найняти новенького без досвіду джуна і виростити його всередині на перспективу під свою кампанію. Тоді брали всіх, хто міг формулювати свої думки і хоч трохи знав стек технологій. Бо кадровий голод, він такий. Я відчував, що цей поїзд хайпу набрав максимальної швидкості й зараз може проїжджати останній вагон, тому почпішив купити квиток на нього. Походив по співбесідах, підтягнув навички комунікації, зрозумів, що питають, що треба відповідати. Після десятка відмов, тестових завдань та живого програмування, я отримав пропозицію на роботу. Це не було просто, але більш емоційно складніше, ніж технічно. Я повідомив команду і тімліда про рішення піти, а далі почався мій новий розділ в карʼєрі, про який може згодом.
Сьогоднішні реалії
Зараз все кардинально змінилось. І головних причин тому дві: клята русня і рецесія на глобальному ринку ІТ. Українські фахівці оцінюють ці фактори майже з однаковим впливом. Десь навіть глобальна рецесія впливає більше. Ринок змінився. Відсутність закордонного замовника, який не хоче інвестувати в ризикований актив в Україні сильно вдарила по айтішці, яка все ще в більшості орієнтується на аутсорс. Багато розробників опинились на так званих “бенчах”, ще більше — звільнили. У свій час реальна загроза життю явно не додає продуктивності та креативності в роботі. Ринок повністю перейшов на сторону роботодавця.
Перспективи
Складно прогнозувати розвиток ІТ та роль розробника в ньому. З появою нових потужних інструментів на базі штучного інтелекту, багато хто пророкує ще більше зниження потреби в людях-програмістах, особливо початкового рівня. Але я до цього ставлюсь доволі скептично. Поки що. Бо хтозна, може вони там повстання зроблять, інтелекти ці ваші. Зараз ці інструменти допомагають людям, можуть виконувати рутинні задачі, але програміста вони не замінять. Радше можуть зробити продуктивнішим і 8 розробників з такими інструментами зможуть робити обʼєм 10-ох без них. Зрештою, алгоритми навчань ШІ також треба буде комусь писати, тому робота буде. Ринок відродиться. Навряд чи повернеться до рівня 2020-21-х років, але стабілізується. А якщо буде робота, ти зможеш її отримати. Треба просто постаратись.
Чи варто зараз думати про перехід
Якраз зараз і треба починати. Тут є два аргументи. Перший — цей процес не швидкий. Навіть маючи чіткий, дієвий план, це історія про довгі місяці, а деколи й роки. Ти ж не думаєш, що високоінтелектуальну професію можна освоїти за 1 місяць на курсах? Почавши зараз, ти освоїш достатньо навичок і наберешся досвіду на момент, коли ринок стабілізується і компанії знову почнуть наймати. Другий — ти не будеш джуном. Для джунів зараз настали темні часи. На вакансії без досвіду роботи зараз по 500 і більше відгуків. Мідл відрізняється від джуна самостійністю у виконанні задач. Будь мідлом. Вирішуй задачі бізнесу. В тебе є час прокачати свої навички, побудувати декілька проєктів, напрацювати портфоліо, набратись досвіду в різних технологіях. Це дасть тобі змогу не стояти в тій черзі з 500 людей.
Ключі до успіху
Кожен з нас вчиться і сприймає інформацію по-різному. Комусь текст, комусь відео. Ти свій спосіб підбереш сам. Тут буде загальний план.
0. Англійська
Маю надію, що в тебе з нею все добре. Її необхідність важко переоцінити як в навчанні, так і на роботі. Документація, туторіали, статті, новини — все спочатку виходить на англійській. Відповіді на stackoverflow тобі також треба буде гуглити на англійській. Хорошого матеріалу в перекладі на українську дуже мало. А ти ж не будеш читати і дивитись руснявою ж? Мало того, ринок ІТ в Україні — це переважно аутсорс. Відповідно, іноземний замовник, процеси та документація на англійській. Ти зрозумів. Вчи англійську.
1. Направлення
Це може бути фронтенд, бекенд, мобільна розробка, десктоп або ШІ і йому подібні. Є ще так звані фул стеки, це типу на всі руки майстер, з нього починити не раджу. Спочатку вибери вузьку нішу. Від цього буде залежати твій набір технологій та мов програмування. Для кожної галузі є найкращий інструмент. Для веба це javascript, для ШІ — python і так далі. Я рекомендую починати з фронтенда з декількох причин: javascript дуже популярна та універсальна мова програмування, на ній пишуть все; ти одразу бачиш результат своєї роботи, це надихає ще більше; для створення базових сайтів тобі треба зовсім не багато знань, зможеш верстати лендінги вже за пару тижнів. Бачити результат на початку шляху дасть тобі мотивації продовжити. Раджу також спробувати декілька мов, ознайомитись із синтаксисом та можливостями. Цілком можливо, так ти можеш знайти свого фаворита.
2. План
Він буде варіюватись в залежності від вибраного напряму розробки. Дорожніх карт в інтернеті вистачає, вони непогано описують реальність. Прекрасні приклади можеш знайти тут. Для фронтенда треба почати з основ HTML, CSS. Це база, яку треба гарно розуміти. Розуміти структуру побудови DOM (document object model) і маніпуляцію з ним. Якщо твоя ціль почати як найшвидше заробляти гроші, освоюй no-code, або змішані рішення такі як webflow. За їх допомогою можна створювати лендінги та прості сайти дуже швидко. Це ідеальна робота для початку на фрилансі. Від правильно складеного плану буде залежати, як швидко і ефективно ти будеш рухатись. Тому раджу тобі попросити когось із досвідчених розробників створити цей план. Або хоча б глянути на твій.
3. Режим
Це дуже важливо. Склади свій режим дня, впиши в нього час на навчання, побудуй рутину, створи з цього звичку. Тобі треба навчатись постійно. Послідовність — це ключ. Визнач свої продуктивні години, прибери всі відволікаючі фактори і сфокусуйся на роботі. Мої години були вранці. Кожного ранку я прокидався о 5-6-ій і сідав за ноутбук, навчався 2 години, а потім йшов на роботу. Деколи ще ввечері читав статті або дивився відео по темі. Тобі також раджу ранок. Прекрасний час, коли тебе ніхто не відволікає і не турбує. З вечора склади список задач на наступний ранок, це дасть змогу не втрачати час на роздуми та пошук мотивації. Дисципліна наше все. Просто сів і робиш. Ти маєш вчитись кожен день. Навіть на вихідних.
4. Практика
На початку тобі треба буде багато читати теорії та намагатись вловити суть, як все працює. Без цього ніяк. Але як тільки ти почав розуміти, одразу застосовуй це на практиці. Якщо це курс, пиши код разом з лектором, якщо це якийсь гайд, відтвори такий же трюк. Намагайся не потрапити в так званий tutorial hell, де ти просто по колу дивишся все нові й нові курси, вже ніби то і вагон їх передивився, але написати сам нічого не можеш. Важко переоцінити вплив практики на розвиток тебе, як програміста. Тільки за допомогою неї ти зможеш стати от тим мідлом, який не стоїть у черзі з 500-ма людьми на вакансію.
5. Фідбек
Ти зекономиш багато часу, якщо будеш ділитись своїм прогресом і ставити запитання людям, які вже пройшли цей шлях і можуть відрізнити важливе від дрібниць. Ділись своїми проєктами зі спільнотою, бери участь в обговореннях, став запитання. Починай працювати над своїм колом спілкування уже на початку. Якщо ж ти це робиш таємно від всіх, щоб бува роботодавець не дізнався про твій план звалити, то знайди собі ментора, який буде тобі підказувати і вести по шляху. З ним набагато простіше. Я втратив дуже багато часу на перемикання з теми на тему, бо не знав, що важливо, а що ні.
Це не буде легко. Це не буде швидко. Це не в магазин по хліб сходити. Мова йде про зміну професії, для цього треба буде попрацювати. Але воно однозначно того вартує. Для мене вартувало. Це було складне рішення, але безперечно вірне. Треба розуміти, що професія програміста все ж не для всіх. Тут багато своїх викликів, постійне відчуття, що ти чогось не знаєш, завжди треба щось вчити і розвиватись, вирішувати складні задачі, велика відповідальність. Але це робить цю професію цікавою. Вирішення бізнесових задач, створення продуктів, розуміння технологій, постійний розвиток, віддалена робота, глобальний ринок, гідна заробітна плата, чудові умови праці — це тільки не великий список переваг, які ти отримуєш натомість. Я не агітую, ти не подумай, мені нема в цьому ніякого сенсу. Просто ділюсь досвідом, бо для мене це рішення було вирішальним. Може і для тебе воно таким стане. Спробувати варто.
Бонус
Я вже говорив, що з підтримкою ти розвиватимешся набагато швидше. І я як ніхто розумію, на скільки це важливо. Тому якщо ти вирішив спробувати, але не маєш нікого зі своїх знайомих програмістів, хто би міг тобі допомогти, сміливо пиши мені. А якщо ти вибереш для себе фронтенд, то допоможу скласти план, підказувати по практиці та акцентувати на важливе. Одним словом, звертайся, радий буду допомогти.