Лето закончилось, а вместе с тем закончилось и большинство летних стажировок в IT-компаниях. В этом году мне повезло пройти летнюю стажировку ВКонтакте. Это были без преувеличения самые насыщенные два месяца в моей жизни, и мне очень хочется рассказать о том, как это было.
О себе
Сначала хочу немного рассказать о себе. Меня зовут Амина, мне 25 и по образованию я логист. В IT я пришла относительно недавно — всего три года назад. Началось всё с уроков по вёрстке от HTML Academy, а уже через год я устроилась фронтенд-разработчиком в веб-студию. А ещё это моя первая статья на Хабре, так что с почином меня :)
Как я узнала о стажировке
Один из моих друзей работает в VK в отделе iOS-тестирования. Как-то раз он рассказал, что скоро ВКонтакте начнётся набор на летнюю стажировку, в которой будет два места по направлению frontend. Всё, что будет нужно, — решить тестовое задание и пройти собеседование.
Я была уверена, что в VK попасть довольно сложно ввиду редко открывающихся вакансий и высоких требований к кандидатам, так что практически не надеялась пройти дальше этапа заявки. Но мне стало интересно, в чём заключается тестовое задание, — если оно будет интересным, можно в дальнейшем приложить его к портфолио.
Тестовое задание
Всего в программе стажировки «ВКонтакте на практике» участвовали восемь команд:
- Команда прикладных исследований;
- Команда мессенджера;
- Команда мобильной инфраструктуры. Android;
- Команда мобильной инфраструктуры. iOS;
- Команда рекламного фронтенда;
- Команда Core ML;
- Команда аналитики в отделе бизнеса и рекламы;
- Команда баз данных.
Для заявки в каждую из них нужно было выполнить как минимум одно тестовое задание, а в некоторых их было два. По направлению frontend стажёров набирали два ментора: от Команды мессенджера и Команды рекламы.
Тестовое было общее для обеих команд, так что можно было отправить заявки сразу в обе. Но я решила, что реклама мне не очень интересна, и отправила заявку только в Команду мессенджера.
Вот как выглядел перечень требований к тестовому заданию:
Сделайте упрощённый вариант канбан-доски, на которой можно:
- добавить новые карточки;
- добавить новые колонки;
- перетаскивать карточки между колонками.
Добейтесь того, чтобы решение было удобным, быстрым, аккуратным. Подумайте, как сделать так, чтобы пользователю было комфортно и приятно пользоваться вашим продуктом.
Макет по ссылке: vk.cc/9jpmLH
При оценке работы в том числе будет учитываться:
- соответствие макету, аккуратность кода;
- качество вёрстки;
- гибкость и масштабируемость решения.
Кроме этого, мы любим, когда в коде используется минимальное количество внешних зависимостей.
Макет дизайна был очень лаконичным и только для десктоп-версий. Поэтому все детали и нюансы пришлось додумывать самой. Как потом выяснилось, это был один из подвохов этого задания. Я решила не изобретать колесо и полезла смотреть, как это реализовано на Trello и аналогичных сайтах с канбан-досками.
Я была уверена, что если хочу хоть как-то запомниться среди огромного количества кандидатов, то стоит отправить своё решение как можно раньше. И не прогадала! В итоге сделала задание в течение пяти дней с начала приёма заявок (без сна, еды и вот этого всего ).
Вот так выглядела сама реализация задания:
Если интересно, то в группе VK Education есть видео, где менторы обеих команд, Тим Чаптыков и Дима Безуглый, рассказывают, как должна была выглядеть идеальная реализация задания, и расписывают наиболее частые ошибки при выполнении. Вот ссылка: vk.cc/9Q54fO
Собеседование
Спустя долгие и мучительные две недели ожидания мне написала HR ВКонтакте и пригласила на собеседование. Я была так рада и одновременно в таком ужасе, что всю неделю до этой встречи разбирала статьи на тему «Как пройти техническое собеседование на frontend-разработчика» и подобные материалы.
Само собеседование должно было проходить с ментором из Команды мессенджера — Тимом Чаптыковым. Но со мной пришёл пообщаться ещё и ментор из Команды рекламы — Дима Безуглый. Вопросы были стандартные — про себя, про опыт, стек технологий, которые я использую в работе. Я плохо помню само собеседование, потому что всё ещё была в ужасе, нервничала и вообще не понимала, что я тут делаю. Единственный вопрос, который я хотела задать на самом собеседовании, — были ли какие-то замечания по моему тестовому заданию.
Естественно, я об этом забыла! Поэтому передала его уже после собеседования через HR. Я-то думала, что получу ответ в виде двух-трёх комментариев, но просто не была знакома с Тимом. Уже на следующий день мне прилетело максимально развёрнутое ревью со всеми замечаниями, описанием того, что должно было быть сделано, а также разбором всех минусов и плюсов моей реализации.
Вот это сообщение:
Это было очень круто и приятно, потому что обычно такие вопросы после собеседования оставались для меня без ответа (возможно, мне просто везло, но всё же).
Дальше оставалось только дождаться окончания приёма заявок и объявления результатов. Это были две очень волнительные недели ожидания, после которых мне наконец-то позвонили и сказали, что меня приняли. Я выхожу на стажировку в VK!
Первые впечатления
Мой первый день ВКонтакте был очень насыщенным. Сначала всем стажёрам провели экскурсию по офису: показали, где какая команда базируется, где находится знаменитая переговорка «Пыточная», как подняться в купол. Потом показали рабочие места и выдали оборудование: макбук, монитор, клавиатуру и наушники по желанию (они бывают нужны — за это надо сказать спасибо музыкантам, которые летом оккупируют Невский проспект). И сразу после этого у меня началось погружение в работу. Мы с ментором обсудили план работы на два месяца, и я отправилась настраивать рабочее окружение, шерстить документацию и играть в игру «найди нужную статью в Confluence».
Задачи на стажировку
Мои задачи на стажировку были известны с самого начала — о них я узнала ещё на собеседовании. Никакого сидения в уголочке и правки багов, до которых ни у кого руки не доходят. Это были три крупные продуктовые задачи для раздела сообщений — скоро вы увидите их реализацию в десктопной версии VK. А пока NDA ;)
У раздела сообщений VK есть много особенностей, которые нужно учитывать при разработке. Самая главная из них, на мой взгляд, — это то, что практически все события происходят в режиме real-time. Данные с сервера постоянно обновляются, за этим нужно следить. Ещё накладывается то, что тестирование должно обработать абсолютно все кейсы, —и если выявлены даже какие-то максимально редко встречающиеся баги, то их нужно фиксить. Тут всё просто — VK каждый месяц пользуются 97 миллионов человек, и если баг появляется у каждого стотысячного, то получается, что почти 1000 юзеров его отловят. Поэтому минорных багов практически нет.
Мессенджер
Хотелось бы отдельно рассказать про Команду мессенджера. Круто, что она очень слаженная, несмотря на то что делится на подкоманды по платформам. Чтобы все были в курсе дел по каждой платформе, по понедельникам проводится митинг, где каждый рассказывает, чем он занимался на прошлой неделе и что будет делать на следующей.
Но самые крутые встречи — это ретроспектива. Раз в месяц проводится митинг, на котором собирается вся команда и обсуждает всё хорошее и плохое, что случилось за это время.
Сначала ведущий ретроспективы берёт большую чашку с M&M’s. Затем в двух предложениях он рассказывает о чём-то хорошем, что случилось в его жизни, съедает конфету и передает чашку следующему. И встреча продолжается по той же схеме. И так до тех пор, пока не выскажутся все. Ребята говорят и о глобальных изменениях в жизни, и про мелочи вроде «дочитал хорошую книгу» или «сходил на отличный фильм». Это всем поднимает настроение и помогает настроиться на позитивный лад.
Далее происходит обсуждение накопившихся проблем. У команды есть специальный почтовый ящик, куда в течение месяца ребята кидают стикеры: на зелёных пишут о том, что понравилось, на жёлтых — что расстроило, на красных — разозлило.
Все стикеры распределяются на доске по колонкам glad, sad и mad, и затем команда их обсуждает. Если есть проблемы, которые невозможно устранить здесь и сейчас, то выясняется, как можно их решить и кто за это возьмётся. Проблемы могут быть разные: от самых маленьких, вроде температуры кондиционера, до крупных технических или организационных. Главное, что всем не всё равно: если что-то беспокоит одного, это беспокоит всех. Поэтому профит от этих встреч максимальный.
Также было очень круто узнать, как кипит жизнь внутри офиса ВКонтакте. Например, каждый четверг проходит Demo Day, где разработчики из разных команд делятся радостью от реализованных ими фич. Организуются походы в кино, тимбилдинги и пицца для сотрудников каждую пятницу.
Отдельно для стажёров проходили обеды с топ-менеджерами компании: четыре группы по два-три стажёра и четыре топ-менеджера. Так сложилось, что мне и ещё двум стажёрам из iOS выпал обед с управляющим директором VK Андреем Рогозовым. Я ожидала, что всё пройдёт в довольно официальной обстановке, но на деле оказалось совсем по-другому. Был ламповый обед, где АР рассказал много историй из жизни ВКонтакте, мы обсудили планы на будущее.
В целом было столько событий, что эти два месяца пролетели моментально. В конце всех стажёров ждала финальная презентация, где каждый рассказал об итогах своей стажировки. Моим результатом были две новые фичи. Должно было быть три, но в разработке редко что-то идёт по плану. Одна из этих фич была отдана в тестирование, чему я невероятно рада. Очень хочется про них рассказать, но сделать это можно будет только после релиза До этого я также прошла этап код-ревью. 47 комментариев были заботливо оставлены моей командой и зарезолвлены.
В заключение хочу сказать, что я очень горжусь тем, с какими крутыми людьми мне удалось поработать за время стажировки. В частности, я имею в виду маленькую команду из двух человек, отвечающую за сообщения на вебе. Тим и Катя — настоящие фанаты своего дела со своими особенными подходами к разработке. То, что я узнала от них за эти два месяца, кажется, суммарно превышает все знания, накопленные за скромные два года работы.
Стажировка ВКонтакте — это шанс увидеть, как работает такой большой проект изнутри, узнать побольше о процессах. Стажировка сама по себе не подразумевает дальнейшего трудоустройства, стажёры проходят собеседование на общих условиях. Это обговаривалось сразу и не было сюрпризом.
Но, как это часто бывает, всё может поменяться. Стажёры так сработались со своими менторами и коллегами, что 8 из 13 были приняты в штат! Однако не все остались в своих командах — некоторые решили попробовать себя в чём-то другом.
Например, я теперь младший разработчик в Команде автоматизации и эксплуатации инфраструктуры — познаю админскую сторону ВКонтакте.
Комментарии (31)
s493599
25.09.2019 16:02А есть код вашего решения тестового задания, по которому вас выбрали?
amiom Автор
28.09.2019 11:47Код можно глянуть здесь github.com/a-omarova/kanban-board
Я внесла пару правок по ревью, но еще не все пункты успела сделать
Closius
25.09.2019 16:38+2Работая на такие компании как ВК, мейл ру и тп вы становитесь мало уважаемым человеком
Tangeman
25.09.2019 17:08+2А на какие компании нужно работать чтобы стать мгногоуважаемым человеком? Хотя гораздо интереснее узнать — почему? (в обоих случаях).
ne_kotin
25.09.2019 18:00+3Хотя гораздо интереснее узнать — почему? (в обоих случаях).
Потому что мейл.ру проактивно сотрудничает с органами? А это data disclosure курильщика, в отличие от data disclosure здорового человека, когда данные пользователя раскрываются по решению суда.
А на какие компании нужно работать чтобы стать мгногоуважаемым человеком?
Telegram, Google, CloudFlare, EFF, AccessNow, Tor Project, Linux Foundation, Canonical, Docker?Tangeman
25.09.2019 19:09К сожалению, в РФ (и ряде других стран) трудно найти компании которые бы этим не занимались (власти легко могут это устроить), и получается что любой кто работает на компанию в РФ не может быть уважаемым человеком почти автоматически.
Мне понятна ваша позиция, проактивное сотрудничество тоже весьма не одобряю, но уверен что уважение к человеку (который, скорее всего, никаким боком к сотрудничеству не относится) не должно завязываться на работу в компании. Кроме, разумеется, случаев когда человек сознательно вовлечён в работы, непосредственно имеющие отношение к этому самому сотрудничеству (например, путём создания средств для оного).
ne_kotin
25.09.2019 22:33К сожалению, в РФ (и ряде других стран) трудно найти компании которые бы этим не занимались (власти легко могут это устроить)
Перечитайте мою реплику еще раз, пожалуйста.
Да, есть законные кейсы, когда компания обязана делать раскрытие. Например, решение суда.
А мейлрушечка зашкварилась в кейсах когда данные сливались по телефонному звонку, по емейл-запросу, и т.п.
Closius
27.09.2019 12:38+1уверен что уважение к человеку (который, скорее всего, никаким боком к сотрудничеству не относится) не должно завязываться на работу в компании.
Должно. Это как если ктото помогает маньяку например в предоставлении убежища или разделке мяса жертв. При этом он же не совершает преступления непосредствненно (по его убеждению). Действительно, что тут такого.
ghostinushanka
25.09.2019 19:37+2Простите, но
Telegram, Google, CloudFlare, EFF, AccessNow, Tor Project, Linux Foundation, Canonical, Docker?
Google в одном списке с EFF в треде, где Мейл.ру это «фу-фу-фу» сотрудничающее с органами? Особенно после скандала со специальным поисковиком для Китая? Вы серьёзно?ne_kotin
25.09.2019 22:31-2Google в одном списке с EFF в треде, где Мейл.ру это «фу-фу-фу» сотрудничающее с органами?
Да. По моему мнению, Google — таки корпорация добра, сделавшая и делающая довольно много для блага среднестатистического пользователя.
wikipro
25.09.2019 21:00Мало уважаемым кем?
roscomtheend
26.09.2019 13:47Анонимами, считающими себя профессиональным комьюнити и считающие именно свой список идеальным. Имеет ли смысл социализация с подобными?
pyrk2142
26.09.2019 17:56Моё крайне субъективное мнение, что в первую очередь — собой. Когда ты идёшь работать в ВК, то оказываешься в коллективе, который рассказывает всем о важности безопасности пользователей и уважении приватности, но в то же время допускает серьёзные детские уязвимости, не исправляет их месяцами и в целом ведёт себя сомнительно в плане безопасности/приватности. Если сотрудник смог с этим смириться, то его ждут неплохие условия и «крутые» коллеги в элитной компании. Если нет — возможно, у человека осталось самоуважение.
Closius
27.09.2019 12:42+1Людьми с кем ты живешь в одной стране. Так как ты становишься крысой в этом случае.
lamerok
25.09.2019 21:07+1А мне понравилось. Видно же искренне девушка написала. Да и вообще молодец, тестовое задание хорошо сделала! Мне интересно было читать.
acedece14
28.09.2019 11:47Всегда было интересно заглянуть в код фроненд-разрабов, которые проходят собеседования в крупных компаниях.
Выложите, пожалуйста, круто посмотреть на лаконичное и минималистичное решение.amiom Автор
28.09.2019 11:51github.com/a-omarova/kanban-board — там уже есть правки по ревью, так что версия, которую я отправляла, на один коммит раньше)
trojan218
Что я сейчас прочитал и зачем? (если офф топ то сори)
Javian
Судя по первой фото: «В Питере бывает солнце».
ne_kotin
Всё лето 2018го например.
Klenov_s
Ну видимо, кому-то нужно больше раскрытий, вот и взаимодействуют как могут ))
nomadmoon
Я вообще не читал, только фотки смотрел. Симпатичная девушка.
spc
Возможно, Амину удерживают в заложниках, и в тексте зашифрована жизненно важная информация. Смогут ли герои ГТ расшифровать ее? Кто будет тот рыцарь в белых доспехах, что проникнет ВКорпорацию и спасет невинную душу от регулярной зарплаты и шоколадок в стакане (и то, и другое — раз в месяц)?
Смотреть бесплатно без смс в высоком качестве
/s