З Tech Lead — у Mobile Engineer. Чому я вважаю це підвищенням
Цієї осені я потрапив у Wix на позицію Mobile Engineer, пропрацювавши до цього техлідом та розробником в аутсорс-компаніях понад 5 років. У цій статі хочу поділитися моїм досвідом проходження співбесід у Wix та розповісти, чому я вважаю цей перехід за підвищення.
Одразу хочу попередити, що це тільки мій власний досвід, який виявився дуже позитивним. Не факт, що в інших кандидатів було так само, але мені щиро захотілося поділитися емоціями. Статтю написав з метою детально розповісти, як проходив процес хайрингу. Сподіваюся, що мій досвід буде корисним та допоможе комусь із читачів успішно підготуватися до схожих етапів та співбесід.
Почну з того, де я був до першого контакту з компанією. Працював техлідом в компанії DI. У команді було 6 мобільних React Native розробників. Разом ми пройшли довгий шлях створення продукту з нуля. За півтора року нам вдалося багато: зібрати команду, налаштувати процеси, покрити більшість коду Unit-тестами, написати купу документації та створити власний CI/CD з блек-джеком і ...
Далі все йшло в сторону стабільності, але челенджі навіть не думали закінчуватись. Тобто задачки були цікаві та команда була крутою. Ніби ж все добре, чому змінювати компанію?
А тому, що впродовж всього свого шляху в IT, мені хотілось працювати над продуктом. Здавалось, ніби в продукті люди більше «живуть» тим, що створюють, і тому там цікавіше працювати. Але до липня 2021 року я не був впевнений, що здатний пройти співбесіду у таку компанію.
Все почалось з листа від HR з вакансією. Якщо цікаво, як виглядало моє CV, можеш написати мені в особисті, я пришлю. Але, мені здається, головне — це показати свій досвід і ключові досягнення. Усе інше в мене перевіряли на співбесідах.
Тож перейдемо до етапів. У мене їх було 5. Кожен з них тривав
Етап #1. Tech Interview
Найближча вільна дата, що мені підходила, була аж за два тижні від першого листа. Я спочатку не сильно вірив у свої сили. Але з кожним днем підготовки ставало все легше. Мені одразу сказали, що на цьому етапі можуть бути задачки рівня Easy та Medium з сайту LeetCode.
Я його раніше періодично використовував, щоб знайти цікаві задачі для співбесід. На щастя, в мене ще була преміум-підписка і доступ не тільки до задачок, а і матеріали для вивчення. Із всього списку я закрив теми про масиви, дерева, графи, звʼязані списки та рекурсію. У кожній темі було декілька глав з купою текстової інформації. Також кожна глава завжди закріплялась декількома задачками. Кожного дня я витрачав не менше двох годин на підготовку. І не дарма, адже на цьому етапі в мене майже все, що проходив, запитували.
На самому інтерв’ю мені сподобалось, що воно було імпровізованим: не відчувалось, що є стандартний скрипт, діалог не був автоматичним, а навпаки, наступні питання випливали з минулих. Не було шаблонних питань про ООП, SOLID та область видимості в JS. Ми більше фокусувались на моєму досвіді та проблемах. Про те, що цей етап я пройшов, мені повідомили в цей же день. І одразу ж прислали завдання на наступний етап. Тут то я зрозумів, що шанси в мене все ж таки є.
Етап #2. Home Assignment
На цьому етапі я мав створити мобільний застосунок. У завданні дали лінку на API та список мінімальних вимог. Для вирішення завдання я вирішив максимально використати вже існуючі рішення від Wix. Для роботи з React Native в них є купа корисних open-source бібліотек: react-native-navigation, react-native-ui-lib, remx та detox. Я до цього вже працював з навігацією та detox, тому складнощів це мені не додало. На цьому етапі я намагався показати все, з чим працював раніше. Загалом стек в мене вийшов таким:
- React Native
- TypeScript
- React Native Navigation — нативна навігація
- react-native-ui-lib — для стилів та UI компонентів
- Remx — для state management
- Jest та Detox — для тестів
Нижче — як виглядав кінцевий результат.
На вирішення цього завдання витратив 2 дні. На наступний день, зранку, мені сказали, що я пройшов минулий етап. І була можливість в той же день перейти до наступного. Я був дуже радий цій новині, але я навіть не здогадувався, що на мене чекає...
Етап #3. System Design Interview
Цей етап здавався найскладнішим. Але я сфокусувався на першому етапі, і через це на System Design виділив ну дуже мало часу. У мене було всього близько чотирьох годин на підготовку. Завдяки HR, що прислали лінку на це відео, в мене було розуміння, з чого почати. Далі я знайшов цілий плейлист на цю тему в цього ж автора. Щоб швидше його подивитися, я увімкнув субтитри та збільшив швидкість до х2 в YouTube. Після перегляду в мене ще залишився час знайти щось інше на цю тему. Я натрапив на ось цей репозиторій з купою корисної інформації. Так, всього за 4 години підготовки, в мене вже було розуміння, як себе поводити та що можуть запитувати.
Співбесіда тривала близько двох годин. Треба було розповісти, як би я створював аналог Google-таблиць. За ці дві години нам вдалось поговорити й про фронтенд, і про мобайл, і про бекенд, і навіть бази даних торкнулися. Не дивлячись на те, як я хвилювався до інтерв’ю, на ньому мені було спокійно. Іноді ми заходили в глухий кут, але в цих випадках хлопці дуже допомогали своїми питаннями. Деталі розповідати не буду, бо за мою архітектуру в коментарях точно захейтять. Але я був здивованим деякими своїми рішеннями. Після дзвінка я навіть не знав, що думати, адже на цьому етапі правильних відповідей немає. Хотілось просто добре відпочити.
На наступний день мені написали про успішне проходження цього етапу. Радості не було краю, це був дійсно найскладніший етап. Далі був короткий дзвінок з HR, проговорили наступні дії та мій вільний час. Вирішили, що можемо наступний етап провести після вихідних.
Етап #4. Team Interview
Цей етап в мене складався з двох дзвінків. І мені сказали, що на них буде мало технічних питань. Більше будемо говорити про життя.
Кожна команда у Wix працює ніби окремий організм. Всередині ці команди називають компанії, або так звані вертикалі. Кожна з них має свого Head of Company. На четвертому етапі перший дзвінок у мене був віч-на-віч з менеджером, що займає цю позицію у Wix Groups.
Маленький спойлер: Wix Groups — це команда, в яку я потрапив. Ми розробляємо функціональність, що дозволяє власникам сайтів створювати для своїх користувачів групи з постами, коментарями, реакціями та галереями з фото.
На дзвінку ми трохи поговорили про мій досвід та враження від минулих етапів. Він запитував, що мене мотивує в роботі. Я відповів, що ще з юного віку мене тягнуло до технологій. У школі та коледжі активно брав участь в олімпіадах з програмування. Уже на третьому курсі знайшов стажування в маленькій компанії в Кривому Розі. Тоді навіть безоплатно був готовий працювати й всі нові знання поглинав, немов губка воду. Тобто я сюди, в ІТ, потрапив невипадково. А щодо мотивації зараз, то в мене все просто: я люблю своєю роботою покращувати іншим людям життя.
Розмова була повністю англійською та короткою, 30 хвилин. Потім в мене було три години перерви і наступний етап.
У Wix є таке поняття як гільдії. Якщо компанії — це вертикалі, то гільдії — горизонталі. Вони поєднують розробників за технологіями, з якими вони працюють. Якщо взяти інженерні гільдії, то окрім мобільної гільдії, є ще чотири: Front-end, Back-end, QA та Data Science. У випадку з мобільною, то в кожній країні, де є мобільні розробники, є свої гільд-ліди. У кожної професії також є свої гільдії, наприклад HR або BA.
На другому дзвінку в мене була розмова з двома такими лідами, один з України, інший з Ізраїлю. Ми довго говорили про мій досвід та обов’язки в минулих компаніях. Також в мене була можливість розпитати більше про стек та про те, як більше 100 розробників працюють над одним застосунком.
Про те, що я пройшов, мені повідомили в той же день. Далі на мене чекав останній етап, можливо, найважливіший.
Етап #5. HR Interview
На цьому інтерв’ю в мене був дзвінок з HR-фахівцем. Розмова була взагалі не про технічне, а більше про мене як особистість — як починав шлях, чому саме ІТ, як я себе поводжу в стресових ситуаціях. Після цієї розмови мені сказали, що у всіх інтерв’юерів разом має відбутись дзвінок, де вони будуть ухвалювати рішення, брати мене чи ні.
До мене повернулись через два дні з гарною новиною, що планують робити офер. На наступний день ми його обговорили, а я — прийняв. В додачу до цього, мене ще й запросили на корпоратив.
Перехід в компанію
Мені ще треба було місяць працювати над минулим проєктом і передати всі справи. Тож я почав працювати у Wix під кінець серпня. Мушу визнати, що починати перший день в компанії з корпоративу — це круто. У перший день на робочому місці мене чекав такий приємний сюрприз.
Що зараз
Уже більше чотирьох місяців я тут працюю. Перший місяць в мене був онбордінг. До речі, тут нема випробувального терміну — одразу потрапляєш в компанію. Через те, що проєкт великий, треба час, щоб зрозуміти, як все працює.
У мене та в усіх, хто прийшов за останній час, ще був додатковий Crash Course. Ми збиралися разом і протягом тижня слухали купу лекцій на теми, що були на обнордінгу, а саме: як працювати з навігацією, як працювати з CI, як писати E2E тести, як відбувається взаємодія між різними командами або різними модулями. Тут ці теми нам розкрили більше детально.
За перший місяць після онбордінгу встиг побувати на двох Fun Days. Так тут називають Team Buildings. Один був з командою Wix Groups. А інший — з мобільною гільдією.
Зараз працюю в команді над поточними задачами. Окрім робочих справ, у нас раз на два тижні, а саме в четвер, проходять гільд дні. Це дні, коли можна попрацювати над задачами гільдії або вивчати щось нове для себе. До задач гільдії може відноситись робота над open-source бібліотеками або інфраструктурними задачами. Можна спробувати новий фреймворк для тестів або взагалі підготувати доповідь на тему, що буде цікава колегам.
Раз на квартал проходять гільд-віки. Протягом цього тижня можна перейти в іншу компанію Wix у своєму офісі або навіть в іншій країні. Наприклад, нещодавно до нашої команди прилетіла дівчина з Литви, щоб покращити перформанс в нашому проєкті. Ми не зовсім правильно використовували залежності з їх модулю і вона допомогла це виправити.
Я вже також встиг спробувати декілька гільд віків. Я вирішив розширити знання всередині нашої компанії, а не мобільної розробки. Тому я пішов до бекенд-команди, щоб зрозуміти, як там все працює та заодно пофіксити один ендпоінт.
Завдяки можливості раз на квартал працювати з іншими компаніями, будь-хто може для себе відкривати багато чого нового. Так робота не стає нудною з часом.
Чому я вважаю цей перехід за підвищення
Я одразу з собою домовився, що навіть якщо не пройду, то проходження співбесід все одно буде дуже крутим досвідом. І я не помилився. Протягом усіх етапів я відкрив для себе багато чого нового. А знання, які в мене були до цього, вдалось упорядкувати в голові.
Для мене це дійсно був перехід на наступний рівень, у сенсі масштабу компанії, кількості людей в команді, налаштованості процесів. У мене є тут особистий челендж: хочу змінити своє ставлення до розробки і мислити, в першу чергу, продуктом, а не стеком технологій.
Тому, може я не отримав для себе нову личку для лінкедину, але я отримав набагато важливіші речі. Це, в першу чергу, можливість працювати над тим, чим я можу і хочу користуватись. Також для мене важливо постійно навчатись новому. Тут для цього дуже багато можливостей. Я нарешті здійснив мрію і потрапив працювати в продукт.
Тож особисто для мене це точно підвищення.
Наостанок, мені дуже важливо почути фідбек та я завжди відкритий до спілкування. Якщо хочеш поділитися досвідом чи дізнатися детальніше про конкретний етап, напиши в коментарях, будь ласка, цікаво почитати. Бажаю успіхів у досягненні професійних цілей!
15 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів