JavaRush /Java блог /Random UA /Як (не) отримати Junior позицію в Epam / Що являє собою н...
hooray
25 рівень
Санкт-Петербург

Як (не) отримати Junior позицію в Epam / Що являє собою навчання в лабораторії

Стаття з групи Random UA
Всім привіт! Приблизно рік тому я відчув, що настав час рухатися у бік пошуку роботи. На превеликий жаль для себе я виявив, що знань Java SE недостатньо навіть для позиції Intren'a, а моє резюме зовсім не нарозхват - всього кілька відповідей на відгуки за місяць, і ті негативні. Як (не) отримати Junior позицію в Epam / Що являє собою навчання в лабораторії - 1Тоді випадково я натрапив на компанію Epam, яка проводить безкоштовні курси, а потім, при успішному закінченні, пропонує стажування на реальних проектах з подальшим працевлаштуванням. Про Epam в інтернеті досить багато неоднозначних відгуків, а з боку студентів майже нічого, власне, мета моєї розповіді – заповнити цю прогалину. Відразу хочеться відзначити, що все описане нижче відноситься безпосередньо до Санкт-Петербурга і безпосередньо до напрямку Java. Велика компанія має багато відмінностей від офісу до офісу і від проекту до проекту, не кажучи вже про міста. Шлях в Epam починається на сайті training.ru, де можна вибрати напрямок, що цікавить у вашому місті, подивитися вимоги і відправити заявку на участь. У моєму випадку це був тренінг Java Core. Процес відбору на тренінг складається з 3 етапів - телефонне інтерв'ю з HR, де зададуть кілька простих технічних питань і перевірять вашу англійську, комп'ютерне технічне тестування + інтерв'ю за його підсумками, а також лист англійською в офісі, і спільне інтерв'ю з HR, де докладніше дізнаються про вас, про ваші цілі, мотивацію та детальніше розкажуть про компанії. При успішному проходженні цих етапів вам надійде пропозиція пройти тренінг. Тренінг - це лекції в офісі 2-3 рази на тиждень увечері по 3-4 години, де проходить, як правило, Java Core (синтаксис, ОВП, колекції, винятки, рядки, багатопоточність загалом, JDBC). У результаті курс розрахований приблизно на 100 годин. Якість лекцій залежить від лектора, в основному це міддли/синьйори з продакшену, зазвичай люди досить грамотні. Крім лекцій є домашні завдання, якість та своєчасність виконання яких є одним із критеріїв успішності проходження курсу. Насправді, у мене крім 25 рівня на Javarush, був якийсь досвід розробки своїх, хоч і не великих, пет-проектів, тому курс давався мені досить легко - 80% інформації, що проходить я вже і так знав. Закінчення тренінгу та ключовий критерій успішності проходження у різних містах відрізняється. Десь, наприклад, у Києві, - це досить великий підсумковий проект на чистому джаві, з авторизацією, сервлетами та базою даних. Як мені сказали, його майже ніхто не міг виконати успішно, тому в Пітері від нього відмовабося на користь підсумкового тесту на основі сертифікації від Oracle OCA/OCP (імхо не найкращий варіант перевірки знань, але що є тобто). Якщо ви регулярно відвідували заняття, добре і швидко робабо домашні завдання, і добре здали тест (або написали проект), ви потрапляєте на наступний етап – до лабораторії, і тут починається найцікавіше. Відразу хочеться сказати, що лаба не оплачувана. Проекти не комерційні, тобто компанія не отримує за вашу роботу прибутку. А ще вас вчать, витрачають на вас ресурси та час менторів. Тому і платити вам ніхто не буде. Це вигадав не я, а компанія таким чином аргументує свою позицію. Наскільки справедливі подібні судження – вирішуйте самі. Лаба починається з тритижневого проекту (знову ж таки, не впевнений щодо інших міст). Як правило, у кожного студента свій особистий проект, який буде доповненням до основного студентського. Зазвичай вони являють собою класичні CRUD додатки з UI, ну або трохи складніше, яке з нуля потрібно писати самому. Мета - познайомитися з процесами всередині компанії, "помацати" технології, що використовуються на проекті, та й взагалі освоїтися, відчувати себе більш впевнено перед завданнями на основному проекті. Після презентації вашого проекту перед вашим потоком, менторами, керівництвом лаби і просто людям, яким цікаво, починається повноцінне навчання. Зазвичай у компанії просять приділяти лабі від 20 години на тиждень. Загалом ніхто не може вас до чогось зобов'язувати, тому що жодними договірними відносинами ви не пов'язані. Тим не менш, від вашої відвідуваності та успіхів на проекті залежатиме термін проходження стажування. Вся робота в компанії ведеться за методологією Agile - багато спілкування, різноманітних зустрічей та мітингів, у тому числі дейлі мітинги, на яких потрібно бути особисто. Питання поєднання з основною роботою складне. Я сказав би так - поєднувати можна, але складно і не бажано. По-перше, більшість Дейлі проходять в обідній час. По-друге, окрім завдань на проекті є ще лекції, за цими лекціями домашні завдання та тести. Все це встигати досить складно, разом із основною роботою тим більше. Завдання на проекті зовсім різні та залежать від самого проекту. Зазвичай на студентських проектах використовуються досить сучасні та затребувані технології, наприклад: Java 8/11, Spring Core, Spring Boot, Spring Data, Hibernate, JUnit, бази даних. Як я вже сказав, у лабі так само проходять лекції з основних напрямків: Java 8, Spring, бази даних та багатопоточність. Кожен із цих модулів триває приблизно півтора місяці, тому, якщо вам не хочеться сидіти в лабі пів року, якусь частину технологій доведеться освоювати самому. До речі, протягом лаби необхідно пройти асесмент з англійської з викладачем. Якщо вам визначать рівень нижче B1, то просто не зроблять оффер, яким би ви не були добрим фахівцем з технічної точки зору. Компанія орієнтована на закордонних замовників та знання англійської дійсно важливі. Якщо є якісь прогалини, я радив би йти на здачу якомога раніше. Якщо визначає рівень нижче необхідного, буде можливість записатися на курси від компанії, підтягнути мову і перездати її в кінці. Взагалі, за правилами, перездавання мінімум через пів року, тому краще відразу добре. Але теоретично можуть зробити виняток і дозволити перездати раніше. Якогось фіксованого терміну проходження лаби немає, у кожного він індивідуальний і залежить від двох факторів: фідбек від менторів із проекту та готовність до технічного інтерв'ю. Середній термін за моїми спостереженнями – 4 місяці. Особисто я пройшов менше ніж за 3, але при цьому приділяв навчанню по 8-10 годин на день. Хтось при мені проходив і за півтора місяці, але це винятковий випадок. Наприкінці стажування на вас чекає технічне інтерв'ю. Воно триває 2 години і запитують по всіх темах, пройдених за час навчання, а також, як правило, дають практичні завдання з SQL/стриму. Інтерв'ю складне і готуватись до нього треба дуже довго. Кар'єрне зростання в епамі досить швидке - через півроку можна підвищуватися до міддла. Тому і знань від вас вимагатимуть відповідних. Ось лише невеликий список тем, які обов'язково запитають на інтерв'ю: Spring (Core, Data JPA, MVC, AOP, Boot), Git, Java 8, SQL та бази даних (рівні ізоляції транзакцій, індекси, нормальні форми, аномалії), Hibernate, Багатопоточність (від основ до Concurrent колекцій, Completable Future та ForkJoinPool), CI/CD, JMM тощо. До нового року в пітерському офісі для працевлаштування достатньо було успішно пройти інтерв'ю та мати рівень англійської B1 або вище. З того часу політика компанії змінилася і тепер беруть лише найкращих і одразу на проект. Коли він з'явиться, чи захочуть туди запропонувати саме вас і чи зможете пройти інтерв'ю із замовником - не відомо і ніхто вам нічого не обіцяє. Зі свого боку хочу сказати, що про компанію загалом залишилося позитивне враження. У ній добре налагоджені процеси, зворотний зв'язок, круті, сучасні, комфортні для роботи офіси, купа заходів для студентів, високі вимоги, але головне – практичний досвід, з яким шанси на отримання роботи підвищуються багаторазово. Я успішно пройшов лабу, але не зміг отримати роботу в Epam через поточну ситуацію у світі та відсутність проектів на даний момент. Тим не менш, з отриманими знаннями я без проблем отримав кілька офферів з інших місць і зараз працюю як розробник junior. Чи варто воно того – вирішувати вам. Якщо у вас залишабося питання, пишіть у коментарях, і, дякую за прочитання 😉
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ