З Tech Lead — у Mobile Engineer. Чому я вважаю це підвищенням

💡 Усі статті, обговорення, новини про Mobile — в одному місці. Приєднуйтесь до Mobile спільноти!

Цієї осені я потрапив у Wix на позицію Mobile Engineer, пропрацювавши до цього техлідом та розробником в аутсорс-компаніях понад 5 років. У цій статі хочу поділитися моїм досвідом проходження співбесід у Wix та розповісти, чому я вважаю цей перехід за підвищення.

Одразу хочу попередити, що це тільки мій власний досвід, який виявився дуже позитивним. Не факт, що в інших кандидатів було так само, але мені щиро захотілося поділитися емоціями. Статтю написав з метою детально розповісти, як проходив процес хайрингу. Сподіваюся, що мій досвід буде корисним та допоможе комусь із читачів успішно підготуватися до схожих етапів та співбесід.

Почну з того, де я був до першого контакту з компанією. Працював техлідом в компанії DI. У команді було 6 мобільних React Native розробників. Разом ми пройшли довгий шлях створення продукту з нуля. За півтора року нам вдалося багато: зібрати команду, налаштувати процеси, покрити більшість коду Unit-тестами, написати купу документації та створити власний CI/CD з блек-джеком і ...

Далі все йшло в сторону стабільності, але челенджі навіть не думали закінчуватись. Тобто задачки були цікаві та команда була крутою. Ніби ж все добре, чому змінювати компанію?

А тому, що впродовж всього свого шляху в IT, мені хотілось працювати над продуктом. Здавалось, ніби в продукті люди більше «живуть» тим, що створюють, і тому там цікавіше працювати. Але до липня 2021 року я не був впевнений, що здатний пройти співбесіду у таку компанію.

Все почалось з листа від HR з вакансією. Якщо цікаво, як виглядало моє CV, можеш написати мені в особисті, я пришлю. Але, мені здається, головне — це показати свій досвід і ключові досягнення. Усе інше в мене перевіряли на співбесідах.

Тож перейдемо до етапів. У мене їх було 5. Кожен з них тривав 1.5-2 години і на більшості з них було по дві людини. Загалом від отримання листа з вакансією і до отримання оферу в мене пройшло майже 3 тижні. Ось деталі кожного з етапів.

Етап #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 у своєму офісі або навіть в іншій країні. Наприклад, нещодавно до нашої команди прилетіла дівчина з Литви, щоб покращити перформанс в нашому проєкті. Ми не зовсім правильно використовували залежності з їх модулю і вона допомогла це виправити.

Я вже також встиг спробувати декілька гільд віків. Я вирішив розширити знання всередині нашої компанії, а не мобільної розробки. Тому я пішов до бекенд-команди, щоб зрозуміти, як там все працює та заодно пофіксити один ендпоінт.

Завдяки можливості раз на квартал працювати з іншими компаніями, будь-хто може для себе відкривати багато чого нового. Так робота не стає нудною з часом.

Чому я вважаю цей перехід за підвищення

Я одразу з собою домовився, що навіть якщо не пройду, то проходження співбесід все одно буде дуже крутим досвідом. І я не помилився. Протягом усіх етапів я відкрив для себе багато чого нового. А знання, які в мене були до цього, вдалось упорядкувати в голові.

Для мене це дійсно був перехід на наступний рівень, у сенсі масштабу компанії, кількості людей в команді, налаштованості процесів. У мене є тут особистий челендж: хочу змінити своє ставлення до розробки і мислити, в першу чергу, продуктом, а не стеком технологій.

Тому, може я не отримав для себе нову личку для лінкедину, але я отримав набагато важливіші речі. Це, в першу чергу, можливість працювати над тим, чим я можу і хочу користуватись. Також для мене важливо постійно навчатись новому. Тут для цього дуже багато можливостей. Я нарешті здійснив мрію і потрапив працювати в продукт.

Тож особисто для мене це точно підвищення.

Наостанок, мені дуже важливо почути фідбек та я завжди відкритий до спілкування. Якщо хочеш поділитися досвідом чи дізнатися детальніше про конкретний етап, напиши в коментарях, будь ласка, цікаво почитати. Бажаю успіхів у досягненні професійних цілей!

👍ПодобаєтьсяСподобалось14
До обраногоВ обраному4
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Тобто процесс найму як у MAANG. Із тим самим дауенгрейдом в дві позиції вниз, як за звичай Google і Amazon роблять із понаїхавшими (іньщі ніби ні). В цьому хочь фінансовий смисл є ? Інакше цей перехід із власного піднятого проекту із техлідскої позиції простото в іньшу контору на дві позиції вниз — це чиста дурість і прояв не поваги до себе і своїх досягнень.

5 летний тим лид не считается.
Опыт если был как то пригодится
Вроде каждые 7лет у человека вкус меняется

Спасибо за статью и за ссылки на ресурсы по System Design — как раз задавался вопросом по этой теме. Тоже наслышан от знакомых что wix найс компания. Интересно бывают ли вакансии у них на Flutter ?

Пока не слышал чтоб пробовали что-то на Flutter.

А нативная iOS разработка есть?

Да, на Swift и на Objective-C

У нас есть, есишо ) Мы в Виксом как города-побратимы, даж договор о непереманивынии был когда-то )

А ваше приложение под макос еще живо-здорово ?)

Wix классная компания, когда я к ним собесился в 2018 году весь процесс занял около 2х месяцев с первого контакта до офера, видимо сейчас ускорились, помню как на на очередной сходке гильдии это обсуждали что из-за долгого затянутого процесса собеседований они теряют хороших спецов ибо не все так долго выдерживают процесится да и другие компании за этот период перехватывали людей :) Удачи на новом месте!

Перехід в сильнішу компанію на нижчу позицію — це абсолютно нормальне явище. Цей блог-пост детально його описує:
blog.pragmaticengineer.com/...​seniority-roller-coaster

Маю кількох колишніх колег які пішли в wix працювати. Всі супер круті і перспективні, через це думаю їхніх акцій прикупити)

ЗП виросла після переходу? (не побачив цього в статті)

Так, зросла. В статті хотів більше про самий процес проходження всіх етапів розповісти.

Акции их за пол года прошлых просели с 300 до 118 на той неделе. И непонятно что дальше будет.

Підписатись на коментарі