Як програмісту знайти першу роботу? Куди беруть без досвіду? І як отримати досвід найшвидше?
Коли виходить ця стаття, я активно розбираюся в правилах і коді нового проєкту, на який мене перевели. Клієнт — компанія зі списку Fortune, я — студент третього курсу ХНУРЕ Синенко Іван. У цій статті я розповім, як отримав першу роботу за спеціальністю в ІТ.
Куди беруть без досвіду?
Одна з головних проблем, з якими зустрічаються молоді програмісти — абсолютна більшість вакансій вимагають досвіду роботи. А як його здобути, якщо його нема?
На Заході розповсюджена ідея стажування (internship) — коли для здобуття досвіду людей влаштовують на роботу з меншою відповідальністю. В нас такі можливості рідші, проте є телеграм-канали, які їх збирають, на кшталт https://t.me/junior_dou_ua. Також про можливості здобуття досвіду можна дізнатися з каналів конкретних компаній, як https://t.me/epamuniprogua. Саме з повідомлення від EPAM Campus я і дізнався, що там проходить набір людей на програму Java Laboratory.
EPAM — велика і зріла компанія, і в неї є ціла організація EPAM Campus, яка займається підготовкою нових спеціалістів. Вона публікує підготовчі курси, і періодично проводить набори до лабораторій. Лабораторії — це спеціальні курси з живими менторами, з яких вже переводять спеціалістів в проєкти, які працюють в продакшен. В лабораторії беруть без досвіду — це спеціально для отримання нових спеціалістів. Лабораторії працюють за різними спеціальностями: Data Science, Android-розробка, .NET, UI/UX дизайн, Cloud & Devops… Java.
Адже я спеціалізувався на джаві, тому пішов саме в Java Laboratory, коли туди відкрився набір.
Перший крок на шляху до лабораторії
Перед технічною співбесідою треба було вирішити кілька завдань. Всі вони були програмними: завантажив проєкт, вирішив, надіслав, побачив результат. Наближено до продакшену. У такий спосіб можна не лише вчитися мислити як програміст, а й працювати з системами контролю версій як Gitlab. Чим краще вирішиш, тим більше шансів дійти до співбесіди. І я до неї дійшов.
Підготовка та співбесіда
Власне співбесіда, яку необхідно пройти, щоб потрапити до лабораторії — це «віконечко» у корпоративний світ з його мітингами й специфічними програмами. Спочатку була звичайна співбесіда з рекрутеркою, де перевірили рівень англійської, та, що мене здивувало, спитали про очікування по заробітній платі. Я сказав, що поки не замислювався над цим. Після цієї співбесіди мала бути технічна. Мене попереджали, що теми, які будуть питати на ній — це Java Core та фреймворк Spring.
Як я готувався? Окрім перечитування питань і відповідей на них з усіх джерел в інтернеті, що я зміг знайти, я застосував для підготовки ШІ. Я знайшов через GPT на сайті ChatGPT кілька штучних інтелектів, які спеціалізувалися саме на підготовці до співбесід. І я почав з ними розмови. Перевагою цього підходу було те, що вони ставили питання безсистемно, і привчали мене реагувати так, як на співбесіді (хоч і у текстовому форматові). Я відповідав їм, пишучи розлогі відповіді — так я закріплював матеріал.
Нарешті день співбесіди настав і я відповів на всі питання. Так, я хвилювався, і особливо хвилювався коли попросили написати код, хоч він і був простий. Та я пройшов.
У самій лабораторії нас розбили на групи по три-чотири людини, які очолив ментор — реальний досвідчений програміст. Ми узялися до вивчення матеріалу, а матеріалу було багато. Вчитися треба було не менше двадцяти годин на тиждень.
Нам сказали, що згодом до лабораторії приходитимуть люди з інших проєктів всередині компанії, яким потрібні джуніор-розробники, і проводити власні співбесіди.
Перехід на проєкт
Мені не хотілось довго суміщати навчання в університеті з навчанням у лабораторії, хоча там і навчали гарно. Тому, як тільки прийшов чоловік з першого проєкту, я вирішив спробувати пройти туди.
Там була окрема співбесіда. На ній також перевіряли базові знання джави. Втім цей конкретний проєкт не використовував Spring, і тому тех-ліда більш цікавило загальне розуміння мови. Найбільш мене здивувало питання «що таке масив?». Я відповів, але за складними питаннями про dependency injection і багатопоточність легко забути про основи — а про них забувати не варто.
І от, пройшовши співбесіду, я став Junior Software Engineer у компанії ЕРАМ. До роботи ще треба було звикнути, адже рівень складності як програм, так і процесу розробки незрівнянний ні з чим, що зустрічається в університеті або на курсах. Кажуть, що програмістам складніше за все знайти першу роботу — і я з цим впорався. Сподіваюсь, що впораєтеся і ви.
Іван Синенко