Як я покинув хімію і став розробником, або Що треба розуміти, змінюючи фах
Привіт, мене звуть Кирил Стронько. Три роки тому я став Front-end розробником і зараз працюю в компанії AgileEngine. Більшу частину свідомого життя я присвятив хімії та роботі в лабораторії. Але у 26 років зрозумів, що більше не отримую задоволення від цього й не можу себе достатньо фінансово забезпечити.
Чи можна поєднувати роботу та навчання? А вивчитись на Front-end розробника самостійно, не витративши на це (майже) жодної гривні? Чи вдасться повернутися на Землю, якщо вас загубили на Марсі, з пошкодженим скафандром? Про це та багато іншого я розповім з власного досвіду у статті (звичайно, крім історії про Марс).
Стаття буде корисна насамперед тим, хто ще вагається щодо зміни професії, тим, хто вже не вагається та впевнено йде цим шляхом, і тим, кого просто цікавлять проблеми самоосвіти. Щось цікаве для себе знайдуть і ностальгуючі світчери (сам регулярно таке читаю) та охочі поскаржитись на те, що нам тут медом намазано :)
В офісі AgileEngine
My Chemical Romance
Моє захоплення природничими науками почалося ще в дошкільному віці з «Дитячої енциклопедії». Книга була з відомої наукпоп-серії для дітей. І моїм батькам не було спокою, аж поки я не перечитав усе, що викликало бодай найменший інтерес. Астрономія вабила безкрайнім Всесвітом і можливістю позаземного життя, географія — потоками розплавленої магми під земною корою, фізика — мікросвітом і лазерами, а динозаври були крутими самі собою. Хімія взагалі здавалася радше магією, ніж наукою, через свою містичність і стародавнє коріння.
Моє свідоме знайомство з хімією сталося в сьомому класі. Я вперше побачив загадкові символи та рівняння, за якими стоять «живі» хімічні процеси. Мене не дуже цікавив зміст цих рівнянь. Майже всю школу сприймав їх як кумедні головоломки, які треба було розв’язати, щоб отримати оцінку або здобути місце на олімпіаді.
Хімія давалася мені легше за інші предмети. Однокласникам — навпаки, тому вона стала моєю головною фішкою. В 15 років у мене з’явився перший комп’ютер. На цей час я вже впевнено ідентифікував себе як хіміка й не бачив іншого майбутнього, аніж на хімічному факультеті.
Зі вступом до університету виявилось, що навчання не завжди буває легким, а наука зовсім не така видовищна, як думав у дитинстві. Вона надзвичайно монотонна, скрупульозна, потребує купи паперової роботи, а якийсь значущий результат побачиш у найкращому разі через роки. І це не кажучи про особливості науки в Україні.
Згодом у мене з’явилися перші сумніви щодо обраної професії. В пошуках чогось нового я зіткнувся з HTML, коли ми з другом намагалися розробити простеньку гру для «ВК». Я досі не бачив себе програмістом, тож займався дизайном інтерфейсу, бо любив малювати і це здавалось більш творчим заняттям.
Перша спроба вивчити HTML була «дуже лінива» та не залишила в голові жодного сліду. Криза минула, коли я почав підробляти на маленькому хімічному підприємстві з переробки дорогоцінних металів. Там я був далеко від нудної теорії та своїми руками робив живу хімію. А найголовніше — мав змогу бачити й тримати в руках результати своєї праці.
Після закінчення університету змінив кілька місць роботи. Спочатку був лаборантом з контролю якості (know your pain, QAs :)) на заводі із вкрай нездоровою робочою атмосферою. Потім працював технологом у напівлегальному гальванічному цеху (керувати не завжди тверезими дядьками удвічі старшими за мене було специфічним досвідом). Згодом зі мною зв’язався бос із підприємства, де я підробляв під час навчання в університеті, і запропонував повноцінне робоче місце з «райдужними перспективами» та наполеонівськими планами на майбутнє. Там я і провів наступні п’ять років життя.
Робота на маленькому підприємстві зазвичай означає, що спектр обов’язків працівника буде різнопрофільним. Формально в моєму підпорядкуванні була окрема виробнича лабораторія, де я відповідав за дві лінії електрохімічних покриттів і мав розробити третю. На практиці мені доводилося виконувати найрізноманітніші завдання: від розвантаження машин з хімреактивами та прибирання снігу до роботи на інших виробничих лініях і розробки техпроцесів, які не мали жодного стосунку до спеціалізації моєї лаби. Але попри всі недоліки саме тут я міг робити те, що не робили ніде більше в Україні, тут я відчув ейфорію від раптових осяянь, що приходили з важкою працею. Згодом більшість наполеонівських планів мого боса виявилися безплідними фантазіями.
Покинути все
Найбільший контракт моє підприємство отримало невдовзі після Майдану 2014 року. Протягом наступних місяців ми важко працювали: на льоту допрацьовували старий техпроцес під більші об’єми виробництва, розробляли нові техпроцеси для вирішення паралельних завдань і самі виконували всю фізичну роботу через складність синтезів.
Часом працювати доводилось по
Після закінчення контракту економічна криза повномасштабно вдарила по підприємству. В моєму житті теж відбулася серія особистих криз. Замовлень ставало все менше, як і цікавої роботи. Зменшилася зарплата. Незважаючи на це, я розробив та запустив третю лінію електрохімічних покриттів. Що лише додало нудної роботи.
Паралельно мій керівник продовжував генерувати бізнес-ідеї, над втіленням яких я мав працювати у вільний від основної роботи час. Для цього в моєму розпорядженні були всі книги
Роки роботи хіміком залишили мене зі специфічним набором професійних навичок. У своїй вузькій сфері я був гуру застарілих технологій і вмів робити майже дива з лайна та палок. В інших сферах або в сучасних технологіях у мене була прогалина. Тож український ринок праці міг запропонувати не так багато. Це були або підприємства зі схожою зарплатою та схожою кар’єрною стелею, або в мене не було жодних шансів зацікавити роботодавця. Я почав розглядати не пов’язані з хімією галузі.
Насамперед мене непокоїла близькість мого міста до кордону з країною-агресором. Тому мені було важливо, щоб нова професія давала змогу переїхати деінде, якщо буде така потреба. Навіть в іншу країну. По-друге, я не хотів, щоб моя робота була зав’язана на спілкуванні з людьми (5 років роботи в лабі та маленькому колективі не дуже прокачують комунікативні навички). По-третє, працювати я хотів лише головою.
Щодо можливості дистанційної роботи, то моя свідомість малювала кліпарти про фрилансерів з ноутом, шезлонгом і пальмами :) Також у планах було переходити в іншу сферу поступово. Розглядав передусім фрилансерські професії на кшталт копірайтингу або технічних перекладів з хімії (рівень англійської більш-менш дозволяв).
Якось я приїхав погостювати до свого старого друга, що працював головою відділу інформаційної безпеки у великій компанії. Вислухавши мої скарги на життя, він накидав мені посилань на онлайн-курси сисадмінів і пообіцяв допомогти з працевлаштуванням, якщо пройду сертифікацію.
Тоді вперше я почав серйозно розглядати роботу в офісі. Але після першого місяця проходження курсів зрозумів, що це не те, чого я хочу. Я прагнув робити щось, що не потребувало копирсатися в купі техніки та дротів, одразу бачити результат роботи та мати чіткі критерії її оцінювання. Я знову згадав про HTML. Але цього разу збирався зробити все правильно.
Шлях в ІТ
У сай-фай романі Енді Веєра «Марсіянин» головний герой Марк Вотні прокидається з пораненням у пошкодженому скафандрі біля покинутої бази на поверхні Марса. Що б зробила пересічна людина на місці героя роману? Найімовірніше, зосередилася б на думках про неможливість повернення на Землю та загинула б від нестачі повітря.
Марк Вотні спочатку розв’язав проблему з повітрям, потім з пораненням, після того ще пів сотні проблем, що вели до неминучої загибелі, і лише ближче до другої половини книги почав замислюватися про способи повернення на Землю. Мої минулі спроби змінити професію нагадували саме поведінку пересічної людини на поверхні Марса. І цей підхід був недієвим. Тому за основу я взяв стратегію, аналогічну до описаної в романі: розділяти велику проблему на кілька менших і вирішувати лише пріоритетні.
Почнемо з аналізу ситуації. Мені 26 років, я хімік і хочу стати фронтенд-розробником. У мене обмежені фінансові ресурси: зарплата $200-250, заощаджень практично немає. Обмежені й часові ресурси — щонайменше 8 годин на день з’їдає основна робота, я не можу її покинути, поки не з’явиться стабільний заробіток у новій сфері. Ба більше, в мене немає впевненості, що зможу засвоїти весь необхідний матеріал, а тому хочу зберегти шляхи відступу та мінімізувати можливі витрати.
З урахуванням усіх факторів самонавчання видавалось єдиним правильним варіантом, бо воно безплатне (майже) і я мав змогу самостійно організовувати свій час. До того ж ІТ-курси на той час не викликали довіри. Був 2016 рік, унаслідок фінансової кризи відбувалася масова міграція трудових ресурсів в ІТ. Статистика серед знайомих показувала найбільший успіх саме у разі самостійного навчання. Цей варіант я й обрав.
Ідея була в тому, щоб якомога швидше вивчитись до рівня, що дасть можливість достатньо заробляти на фрилансі для виживання, а тоді фрилансити, поки не знайду роботу в офісі.
Верстка
Що насамперед потрібно знати фронтенд-розробнику? Звісно, верстку. Як і де її вчити? Залежить від мови та бажаного формату. З мовою все було просто. Моє знання англійської на той час не було достатнім, щоб ефективно засвоювати новий матеріал, тож я розглядав лише російськомовні джерела.
З форматом цікавіше. До цього я стикався з трьома способами засвоєння матеріалу щодо верстки: книги, відеоуроки та інтерактивні онлайн-курси. Зваживши плюси та мінуси кожного з них, почав з інтерактивних онлайн-курсів як найпростішого формату.
Це були відомі в колах новачків курси HTMLAcademy. Після проходження безплатної частини я все ще погано уявляв, що робити далі. Але мені сподобався формат, саме в ньому я хотів продовжувати навчання. Тож за скромні на той час гроші купив місячну передплату.
Самостійна практика — це те, що відрізняє людину, здатну виконувати роботу, від людини, здатної лише проходити курси. Наступний етап — верстка справжніх макетів. Самі макети було нескладно знайти в інтернеті. Дещо складніше було розібратися з тим, яка саме верстка вважається правильною. З цим допомогла стаття «Чек-лист вёрстки» на «Хабрі». Також на цьому етапі я мав змогу погратися з препроцесорами та шаблонізаторами.
У будь-якій сфері спиратися на одне джерело інформації нерозумно. А тому, коли не було можливості верстати, — я читав статті з проблемних питань, які виникли під час практики, або книжки з HTML та CSS. Кожна хвилина була цінна, тож я використовував шлях з роботи додому, обідні перерви та будь-яку вільну хвилину вдома та на роботі.
JavaScript
Після кількох тижнів практики HTML та CSS більше мене не лякали. Однак я не поспішав з пошуком фрилансу та взявся за JavaScript. Вартих уваги інтерактивних курсів з цієї теми я не знайшов.
Відеокурси мені не подобались через поверхове викладання матеріалу та необхідність вчитися в ритмі, нав’язаному викладачем. Тож, як і багато новачків, я зупинився на підручнику на LearnJavaScript.ru через російську мову, надзвичайно докладний матеріал і гідну практичну частину в кінці кожного розділу.
У середовищі розробників JavaScript вважається простою мовою програмування. Але не для людини, яка до цього стикалася лише з версткою. Це цілий новий світ явищ і понять. Більша частина JavaScript — це справді проста для сприйняття інформація про типи даних та API браузера з їх методами. Це той випадок, коли достатньо знати, що вони існують, а деталі можна зрозуміти в процесі роботи.
Цікаво стає з циклами, рекурсією та методами масивів (складно оцінити reduce, поки не натрапиш на проблему, де він економить кілька рядків коду). Але трошки поламавши мізки над практичними завданнями, я до них швидко звик.
Ще цікавіше з промісами. Я не сприймав аналогії з чергами за піцою, яких так багато в інтернеті, аж поки не побачив своїми очима Сallback Hell та не порівняв його з охайним ланцюжком промісів після рефакторингу. Прототипи, як виявилось, взагалі сприймати значно легше без знання інших мов (саме вони зазвичай викликають підгоряння у досвідчених розробників, яким треба вчити JavaScript).
Найважче давалися замикання та контекст виклику, точніше пов’язані з ними явища. По-перше, вони лежать в основі багатьох патернів і підходів. Не зрозумівши їх, вкрай важко сприймати далі інформацію. По-друге, як мені здалося, розібратися з цими темами на належному рівні можна тільки на практичних прикладах. До цих двох тем мені доводилося повертатися кілька тижнів поспіль і навіть робити перерву на верстку, щоб хоч якось відволіктись.
Щоб не застрягати подовгу на одному й тому ж, я взявся до навчання ітеративно: читав розділ, робив конспект, пропрацьовував практичну частину і, якщо щось не виходило, повертався до розділу для глибшого вивчення. Коли виникали труднощі, шукав інші джерела з тієї ж теми, аж поки не знаходив зрозумілого для себе пояснення.
Самостійна практика та численні джерела інформації для вивчення JavaScript надзвичайно важливі. Для практикування я знайшов величезний макет з купою інтерактивних елементів і витратив близько місяця на написання кожної дрібнички на чистому JavaScript.
Ну і, звісно, книги та статті в кожну вільну хвилину. Патерни проєктування на сніданок, ООП для початківців на обід, Фленаган перед сном. Після такого інтенсиву я без вагань міг відповісти навіть серед ночі, коли втрачається контекст, як працюють прототипи та чим суворий режим відрізняється від несуворого.
І таке інше
Минуло більш ніж пів року з моменту, як я почав навчання. Я вмів верстати, непогано знав JavaScript, мав невеличке портфоліо з кількома зверстаними макетами. Я відіслав резюме на кілька вакансій для початківців і вирішив ще розібратися з jQuery. Далі — затамував подих і почав шукати роботу на фрилансі. Аж раптом фейсбук запропонував мені рекламу курсу WebUI/Node.js в SoftServe IT Academy.
Курси були безкоштовні, тривали чотири місяці. В разі вдалого проходження обіцяли працевлаштування. Не отримавши жодної позитивної відповіді на резюме через брак досвіду, я заповнив заявку до ІТ Academy. Фриланс усе ще лякав мене до чортиків, тож таким чином я відтерміновував його та використовував можливість влаштуватись в офіс найкоротшим шляхом. Водночас став розбиратися з Node.js, щоб не бути останнім у групі.
Щоб потрапити на курс, довелось пройти три етапи співбесіди: технічний тест, співбесіду на знання англійської та технічне інтерв’ю. Мене взяли, хоч моя рішучість поєднувати навчання з роботою викликала скепсис серед інтерв’юєрів. Я й сам не дуже вірив, що їх можливо поєднати.
Заняття проходили кожен день посеред робочого дня і, звісно, потребували навчання не тільки в класі, а й у вільний час. Поки був місяць до початку курсу, я намагався якнайкраще підготуватися: Node.js, Express, Angular (який ми потенційно мали вчити разом з Node.js).
Найбільше бентежила розмова з босом. Я вже майже відчував офісне крісло під своєю дупою, тож був готовий звільнитись, якби мені не дозволили відвідувати курси в робочий час. Я отримав дозвіл з умовою, що основна робота буде в пріоритеті (ага, звісно :)
Фінішна пряма
Навчання на курсі було зовсім не таким, як у школі чи виші. Не було лекцій (крім кількох вступних), не було семінарів і домашніх завдань. Був лише проєкт, який я та кілька братів/сестер по нещастю мали тягнути весь термін навчання та раз на місяць демонструвати його справжнім розробникам. Заняття в класі були лише для спілкування в команді та консультацій з ментором.
На курсі очікували, що ми вже знаємо все необхідне для роботи й прийшли лише навчитися працювати в команді. Для багатьох це виявилося сюрпризом. Один за одним студенти моєї групи почали кидати навчання. Я ж був надзвичайно вдячний собі за всі тижні, що готувався перед заняттями. Утім чотири місяці минули в напівзабутті та біганині між роботою та курсами. З десяти студентів до кінця дійшло троє. Офер отримали двоє. Один з них — я.
В офісі SoftServe
Труднощі самоосвіти
Поєднувати навчання з роботою — не найпростіше завдання. Для себе я знайшов деякі закономірності та внутрішні важелі, що допомогли пройти шлях до кінця. Щось із цього ви вже могли бачити в інших статтях. Загальні поради схожі й справді працюють.
Мотивація
Скарги на брак мотивації зазвичай перше, що чуєш від потенційних світчерів. І чомусь під «мотивацією» вони розуміють натхнення. Ніколи не покладайтеся на натхнення. Покладайтеся на рішучість і самодисципліну. Спочатку визначтесь, чи справді воно того варте, а як визначились — плануйте та дотримуйтесь плану.
Для себе я вирішив, що рік — це не така вже велика втрата часу навіть у разі фейлу (10 років уже пішли на хімію, що мені той один). Я дав собі обіцянку, що які б сумніви в мене не виникали, які б бажання в голові не викликала внутрішня мавпочка — всі наступні 12 місяців пріоритет буде лише один. І щоразу свідомо згадував цю обіцянку, тільки-но мозок чи оточення навіювали демотивуючі думки.
Планування найкраще працювало з конкретними цілями та часовими проміжками. «Вивчити JavaScript за 3 місяці» не працює, бо «зараз тільки другий тиждень, у мене ще є час випити пивка». «Пропрацювати 3 розділи книги Х сьогодні ввечері» або «Написати слайдер з макета Y цими вихідними» дає значно менше простору для ухилення від запланованої роботи.
Розуміння того, що робити далі заспокоювало мене. Підготовлений заздалегідь макет для практики, поки я вчив верстку, дещо зменшував тривогу щодо майбутніх місяців невизначеності. А от планувати далеке майбутнє — погана ідея. Будьте як Марк Вотні на поверхні Марса: спочатку полагодьте скафандр, а потім вертайтесь на Землю.
Сон і відпочинок
Щоб засвоювати нову інформацію, треба бути здатним на ній концентруватися. Втома та брак сну можуть стати серйозною перешкодою. Де взяти додаткові 8 годин, коли вся доба вже заповнена роботою та навчанням?
По-перше, потрібен постійний режим. Саме він допомагав мені тримати себе в тонусі під час напруженого графіка. По-друге, це не обов’язково мають бути саме 8 годин. Особисто мені вистачало
Фізична втома не єдина проблема. Втомитися можна емоційно від ізольованості або інтелектуально від постійного засвоєння нової інформації. Впоратися з цим допомагала фізична активність. Помірні навантаження відволікають, прочищають розум і слугують надійним джерело ендорфінів. Навіть якщо це просто прогулянка пішки чи невеличка ранкова зарядка.
З інтелектуальною втомою боровся через зміну діяльності. Якщо мозок вже відмовляється сприймати літери книги, можливо, варто саме зараз перемкнутися на розв’язання задач чи проєкти для портфоліо.
І навіть з найнапруженішим графіком не треба повністю відмовлятись від справжнього відпочинку. Але він має бути активним і за умови, що не йде всупереч навчальному плану на сьогодні :)
Навчальні матеріали
Для кожної технології у вас має бути основне джерело навчання. Воно має дати базові знання та описувати більшість загальновживаних аспектів технології. Його треба пропрацьовувати максимально ретельно, розбираючи кожну незрозумілу деталь.
Під час роботи з основним джерелом обов’язково конспектуйте, це справді допомагає. Воно має містити якнайбільше практичних завдань із докладними розв’язаннями. Ви зрозумієте, що засвоїли все необхідне в момент, коли зможете без труднощів розв’язати будь-яке завдання з практичної частини. Навіть якщо читали цей розділ кілька тижнів тому.
Щоб стати спеціалістом, недостатньо опрацювати одну книжку. Продовжуйте шукати додаткову інформацію, навіть якщо вивчили основне джерело напам’ять. Підписуйтесь на розсилки зі статтями, читайте книги та дивіться відеокурси. Це дасть не тільки нову інформацію, а й допоможе не забути стару (мозок — та ще скотиняка).
Формати
У процесі навчання я стикався з різними форматами подачі інформації. Серед них варті згадки книги, відеокурси та інтерактивні курси.
Книги зазвичай містять у собі багато докладної теоретичної інформації. І в цьому вони виграють в будь-якого іншого формату. Проте знайти книгу зі справді вдалою практичною частиною нелегко. Також надлишок теоретичної інформації може вбити запал новачка на старті. Тож починати нову для себе технологію з книги на тисячу сторінок — не найкраща ідея. Хіба що її дуже радять саме початківцям.
Відеокурси зазвичай засвоюються легше, ніж книги, і містять чимало практичних завдань. Серед недоліків — неглибоке занурення в матеріал. З мого досвіду, вони можуть непогано допомогти із закріпленням вивченого. А якщо дивитись їх англійською — ще й з мовою :)
Інтерактивні курси — це суцільна практика. Справді крутих не так багато, ще менше з них безкоштовні (можу згадати лише FreeCodeCamp). Але це найлегший для сприйняття формат, який мені траплявся. А механізми гейміфікації допомагають утримувати інтерес до навчання. Звісно, брак теорії потім доведеться надолужувати книжками.
Також згадаю статті. Вони зазвичай містять найактуальнішу інформацію, пропонують розв’язання загальновідомих проблем і тримають розробника в курсі останніх змін. Найбільшу користь з них можна отримати, якщо у вас вже є базові знання.
Фідбек і best practices
Найбільшою проблемою в самостійному навчанні є неможливість отримати фідбек від досвідченого спеціаліста. Звісно, є форуми для новачків, де може навіть трапитись добра душа, яка прогляне ваш зверстаний макет. Але переважно нікому не цікаво перевіряти чужий код. Більш-менш впоратися з цією проблемою мені допоміг тільки гугл.
Кожна відома та зріла технологія має навколо себе ком’юніті досвідчених розробників. Девелопери дуже не люблять лайнокод, а тому охоче діляться зі спільнотою своїми проблемами та разом шукають найкращі практики роботи. Останні згодом оформлюють у статті чи навіть додають до документації.
Тож якщо ви саме закінчили вивчення нової технології та плануєте почати з нею працювати — не лінуйтесь читати документацію та шукати в інтернеті поради інших розробників. В майбутньому це зекономить купу часу та нервів.
Англійська мова
Яку б мову програмування ви не вчили, знайти роботу без знання англійської хоча б на рівні Pre-Intermediate буде складно. Якщо ви ще вагаєтесь з приводу ІТ, почніть з мовних курсів. Вони ніколи не будуть зайвими. Якщо ви вже на повну взялись за опанування програмування, але англійська викликає занепокоєння — дивіться нею простенькі серіали. Щонайменше вони поліпшать ваш словниковий запас і сприйняття мови на слух.
Також після засвоєння основних технологій можна починати дивитись відеокурси та читати статті англійською. Технічна англійська значно легша за розмовну, коли ви вже знаєте всю термінологію.
Самостійне навчання vs платні курси
Поряд із курсами самостійне навчання передусім виграє тим, що ви повністю берете на себе відповідальність за прогрес і маєте змогу самостійно регулювати програму. Вам нема на кого валити провину за невдало вивчений матеріал. А якщо якась тема дається складно, їй можна приділити більше часу та пропрацювати ретельніше. І це не кажучи про фінансову складову.
Водночас на курсах у вас буде спеціаліст, який відповість на питання та дасть фідбек щодо виконаної роботи. Вам не треба витрачати нерви на планування програми та пошук навчальних матеріалів. Є люди, яких мотивує навчатись саме те, що вони платять купу грошей. Але жодні курси не зроблять із вас програміста, якщо левову частку часу поза ними ви не вчитесь самостійно.
Чи допоможуть курси впоратися з навчанням швидше? Безперечно, досвідчений ментор поряд ніколи не буде зайвим.
Чи набагато швидше? Маю сумніви. Вам треба засвоїти з нуля великі обсяги інформації. Як не крути, це неможливо зробити за три-чотири місяці.
Чи є платні курси необхідною умовою для вдалого навчання? У жодному разі. У вашому розпорядженні весь інтернет. І, повірте, в ньому більш ніж достатньо навчальних матеріалів.
Чи є платні курси заміною самостійному навчанню? Ні, не є. Вони можуть бути лише доповненням до важкої самостійної роботи.
Пошуки першої роботи та безкоштовні курси ІТ-компаній
Як зрозуміти, що вже час шукати першу роботу? Насамперед перегляньте вакансії вашого рівня на job-сайтах. Якщо певну технологію зазначають у них дуже часто, але ви ще не працювали з нею — варто це виправити. І заради бога, не брешіть в резюме та пишіть лише ті технології, в яких ви впевнені.
Головна проблема новачка — це відсутність досвіду роботи. Як тільки ви отримаєте перший рік досвіду, все стане простіше. Але зараз ви в замкненому колі, де вам потрібен досвід, щоб отримати досвід.
Тому, по-перше, додайте в резюме свої тренувальні проєкти (лише ті з них, які не соромно показати, звісно) та не забудьте описати технології та цікавими особливостями. По-друге, шліть резюме на якомога більше вакансій. Рано чи пізно щось вистрілить.
Але є інший шлях. Майже в кожному великому місті найбільші ІТ-компанії відкривають безкоштовні курси для студентів/світчерів. Саме великі ІТ-компанії створюють найбільший попит на спеціалістів-початківців. І саме випускники цих курсів заповнюють більшість таких вакансій. Звісно, ви витратите кілька додаткових місяців на навчання. Але у підсумку навчитесь працювати в живій команді та вже не будете для компанії незрозумілою людиною з вулиці.
Перша робота та враження від ІТ загалом
Після років роботи на виробництві перше, що помічаєш в офісі — це опалення (або кондиціонер, залежно від пори року). Я почувався як Мауглі, що вперше потрапив у велике місто. Друге — ставлення моїх менеджерів до мене та інших підлеглих. Вони ніколи ні на кого не кричали. До того ж спілкувалися на рівних, ставилися до усіх з повагою, не втручалися в особисте життя (ви навіть не уявляєте, як це було незвично після авторитарного боса). Впевнений, на ДОУ є купа людей зі своїми історіями про пекельних менеджерів в ІТ, але якось мені трапляються тільки компетентні та небайдужі.
Мій перший проєкт не мав жодного стосунку до Node.js чи навіть до JavaScript. Наша команда займалася міграцією тисяч сторінок документації з одного формату в інший. І я більшою мірою виконував функцію QA, перевіряючи результат роботи міграційного скрипту. Я не втрачав ентузіазму та розважався, автоматизуючи частину роботи скриптами GoogleDocs або за допомогою Node.js. Проєкт був розрахований лише на два місяці, після чого обіцяли знайти щось цікавіше.
Другий проєкт запам’ятався дуже теплими стосунками в команді. Команда була маленька та розкидана між Львовом і Харковом. Я був єдиним фронтенд-розробником. Ми працювали над підтримкою старого внутрішнього проєкту. Але я все ще знаходив чим себе розважити, проштовхуючи корисні або цікаві зміни в стеку та архітектурі. Регулярні тімбілдінги та відрядження до Львова були приємним бонусом. Залишалась остання проблема.
Мені було майже 30. Я тільки починав шлях у повністю новій для себе сфері. Фідбек на кожному оцінюванні був більш ніж позитивним. Але я не почувався програмістом. Як зрозуміти, що люди, які мене хвалять, не помиляються? А що, як я застряг на одному місці та перестав розвиватися? Я вже програміст чи все ще хімік, який просто пише код?
Відповіді на ці питання я почав шукати, випробовуючи себе на співбесідах. Аж поки не отримав офер від компанії з крутою репутацією на великий проєкт із цікавим стеком. І зрештою з найтеплішими почуттями я залишив SoftServe.
З колегами AgileEngine
Плани
Уже майже два роки я з AgileEngine. Працюю над великим проєктом разом з кількома десятками спеціалістів з різних країн. Я вже не відчуваю такого тиску щодо свого віку, як на старті кар’єри. Утім моє навчання ніколи не закінчується. З’являються нові технології, інтерес до сусідніх сфер і фундаментальної бази. Є пет-проєкти, на яких я можу поекспериментувати з новими технологіями без шкоди для роботи :)
За три роки в ІТ я не втратив ентузіазму та продовжую отримувати задоволення від роботи та постійного навчання. Наразі працюю над своїми прогалинами в математиці і, коли їх заповню, планую взятися за вивчення алгоритмів. У майбутньому мені б хотілося заглибитись в Node.js та опанувати більш низькорівневі мови програмування (можливо, Go або Rust).
Технічна складова роботи викликає у мене більший інтерес, ніж менеджерська. Тож думаю розвиватися в бік архітектора. Але, звісно, розумію, що плани можуть змінитися, і намагаюся так само прокачувати софт скіли.
Також за ці роки я збагнув, що мені подобається ділитися знаннями з оточенням. Тому влаштувався в Hillel IT School викладачем, скоро почну готувати навали світчерів до штурму українського ІТ (привіт борцям за чистоту програмістської раси :))
Висновок
Якихось років 50 тому опанувати професію та до самої пенсії робити одне й те саме на одному місці праці було цілком достатньо. Але в сучасному світі здатність адаптуватися до змін стала не просто атрибутом живої природи, а головною соціальною навичкою людини. Як можна бути впевненими, що обрана 10 років тому професія прогодує нас надовго, коли ми вже навіть не певні, що цієї зими випаде сніг?
Більшість з нас виховали батьки, травмовані
Часи змінилися. Глобалізований світ цікавить не ваш папірець з технікуму/інституту/університету, а навички та можливість заробити на них. Він цінує здорову атмосферу в колективі, бо позитивна мотивація та командний дух принесуть більше грошей, ніж репресії та приниження. Глобалізованому світу важливо, щоб ви були на своєму місці та виконували улюблену роботу, бо так ваш ресурс буде використано максимально ефективно. І це єдиний сталий тренд на сьогодні.
Чи буде робота ІТ вдалим вибором для будь-кого? Звісно, ні. Чи підійде ця робота саме вам? Дізнатися це можна лише одним способом. Чи скінчиться ваше життя, якщо ви спробуєте і у вас не вийде? Рік життя — не така вже велика ціна, щоб дізнатися. Ми вже витрачаємо роки на вагання і сумніви, аж поки не стає занадто пізно. І, звісно, ІТ — не єдина сфера діяльності, в яку можна перейти.
Не має значення, хочете ви «войті вайті», стати ландшафтним дизайнером чи просто перепродавати речі з AliExpress. Якщо здається, що це може зробити вас щасливим — лупайте сю скалу! Бо вона того варта. А в будь-якій незрозумілій ситуації вчіть англійську мову :)