Привет, Хабр! Это команда стажировок Авито и мы подготовили простой тест для стажеров, которые не знают, как выбрать направление в IT.
На стажировке в Авито начинающие инженеры могут за полгода дорасти до уровня junior в QA или Frontend-, Backend-, Android- и iOS-разработке. С первых дней на программе ты сможешь работать над реальными задачами рука об руку с более опытными коллегами. А что именно нужно будет делать и как подобрать наиболее подходящее направление развития — узнаешь из этой статьи.
Выбери одно из пяти направлений:
Если ты предпочитаешь не верить на слово, а проверять и тестировать — QA
Ключевая задача QA-инженеров — обеспечивать высокое качество продуктов Авито.
Это улучшает опыт пользователей и снижает затраты на исправление ошибок. Благодаря тестированию сервис становится надёжнее, а клиенты — счастливее.
На стажировке начинающие QA-инженеры работают наравне с опытными инженерами и каждый день:
анализируют требования и ищут возможные проблемы на ранних этапах;
пишут автотесты и при этом проводят нагрузочные тесты;
проводят функциональное, регрессионное и интеграционное тестирование;
оформляют баг-репорты и следят, чтобы ошибки были исправлены;
взаимодействуют с разработчиками, аналитиками, дизайнерами — теми, от кого также зависит качество продукта;
участвуют в стратегическом планировании.
Чтобы пройти отбор на стажировку и выполнять эти задачи, нужно обладать аналитическим складом ума, быть внимательным к деталям и уметь критически мыслить.
«При отборе мы также проверяем уровень хард-скиллов — без них работать не получится. Стажерам важно на базовом уровне разбираться в методах и подходах тестирования: использовать техники тест-дизайна, правильно оформлять баг-репорты и приоритезировать баги. Также нужно понимать один из языков программирования и уметь писать на нём тесты для UI или API. Для выполнения задач пригодится знание процессов разработки ПО, сетей, SQL, API-тестирования (Postman, REST, gRPC) и основ автоматизированного тестирования».
Максим Хоровинкин, QA-инженер
Если ты ценитель красивого и удобного — Frontend
Frontend-разработчики делают видимую часть сервиса — интерфейс, таким образом помогая привлекать новых пользователей и удерживать постоянных.
Разработчики улучшают взаимодействие пользователей с продуктами Авито, запускают новые функции и поддерживают то, что уже используется в приложении, десктопной и мобильной версиях сайта.
На стажировке начинающие frontend-разработчики трудятся наравне с опытными инженерами и каждый день:
участвуют в разработке клиентской части приложений;
добавляют новые флоу редактирования или разделов — например, запрос на создание подборки товаров со скидками;
улучшают кодовую базу и занимаются рефакторингом кода.
Чтобы пройти отбор на стажировку и выполнять эти задачи, нужно уметь вести переговоры и аргументировать свою точку зрения, идти на компромиссы, узнавать новое, следить за выходом новых фреймворков и применять передовые технологии, которые облегчают работу с кодом.
«Помимо софт-скиллов важны и технические навыки. Стажёры должны уметь работать с React, знать основы DOM API, протоколы HTTP, Git и JavaScript. Также необходимо знание алгоритмов, чтобы писать код с большой производительностью и выбирать для решения задач лучшие схемы. Обязательно понимать микросервисную архитектуру и взаимодействие между компонентами Frontend и Backend».
Давид Севикян, frontend-разработчик
Если любишь залезать под капот «суровых технических машин» — Backend
Backend-разработчики отвечают за всё, что есть внутри сервисов и продуктов Авито: безопасное хранение данных, интеграцию с другими внутренними и внешними сервисами, скорость обработки большого количества запросов.
Когда нужно запустить новую фичу, за разработкой её логики приходят к бэкендерам. Ведь они знают, как сделать быстрым и приятным взаимодействие пользователей с любым сервисом — от аренды квартиры до покупки грузовиков.
На стажировке начинающие backend-разработчики работают наравне с опытными инженерами и каждый день:
пишут код и добавляют новые фичи;
обсуждают инициативы продакт-менеджера и помогают в выборе альтернативных решений;
оптимизируют производительность системы и исправляют баги;
реализуют синхронные и асинхронные взаимодействия между сервисами.
«Чтобы пройти отбор на стажировку и выполнять эти задачи, нужно писать на Golang или быть готовыми перейти на него с другого языка программирования. Также важно понимать нюансы асинхронной работы, паттерны и организацию кода в проекте. Стажёры должны знать PostgreSQL или быстро осваивать сложные запросы, оптимизацию под большую нагрузку, масштабирование и шардирование. Будет здорово, если вы изучаете чужой код, читаете статьи или смотрите видео о Backend-разработке».
Дмитрий Болгов, backend-разработчик
Также нужно уметь договариваться, объяснять свои идеи, прислушиваться к мнению коллег, обладать навыками тайм-менеджмента и понимать, как сервисы взаимодействуют между собой, уточняет backend-разработчик Авито Амир Маликов.
Если ты идеалист и ценишь гармонию — iOS-разработка
iOS-разработчики занимаются мобильным приложением Авито для устройств Apple: развивают существующие сервисы и создают новые возможности для пользователей.
Мобильные приложения — основа бизнеса классифайдов: по словам нашего iOS-разработчика Дмитрия Ванюшкина, всё больше задач пользователи решают с помощью смартфонов. Поэтому, делая приложения для iPhone и iPad лучше, эти инженеры напрямую влияют на показатели успеха компании.
На стажировке начинающие iOS-разработчики работают наравне с опытными инженерами и каждый день:
совершенствуют технические решения в продуктах своей команды;
участвуют в проработке контрактов API, проводят дизайн- и код-ревью;
активно тестируют свои продукты, в том числе проверяют гипотезы через A/B-тесты.
Чтобы пройти отбор на стажировку и выполнять эти задачи, нужно нужно быть готовым учиться, уметь формулировать вопросы и обосновывать свои решения для команды.
«На этапе отбора обязательно проверяются и хард-скиллы кандидатов. Стажёрам нужно писать читаемый код на Swift, понимать базовые концепции платформы iOS и принципы клиент-серверного взаимодействия. Также будут полезны базовые навыки проектирования и знания основных архитектурных подходов, которые применяются для построения мобильных приложений».
Павел Епишев, iOS-разработчик
Если любишь крупные платформы и работу с открытым кодом — Android-разработка
Android-разработчики занимаются приложением Авито для телефонов и планшетов на одноимённой системе. Они создают новые экраны, поддерживают уже существующие и предоставляют экраны для других команд — например, для выделения блоков и баннеров.
Это направление — одно из основных в клиентской части. Оно приносит Авито существенную часть трафика среди всего DAU (Daily Active Users).
На стажировке начинающие Android-разработчики работают наравне с опытными инженерами и каждый день:
создают небольшие элементы архитектуры и дизайн-системы;
работают с кроссплатформенным фреймворком Beduin (Back End Driven UI Native);
работают над продуктовыми задачами по всей цепочке от Backend до клиента и обратно.
Чтобы пройти отбор на стажировку и выполнять эти задачи, нужно быть гибкими и способными к обучению, уметь задавать вопросы и обращаться за помощью.
«В отборе мы смотрим и на хард-скиллы. У стажёров должно быть первичное представление об Android SDK и понимание принципов клиент-серверного взаимодействия. Для работы пригодится знание базовых конструкций: списков, структуры данных — это также входит в список требований на этапе отбора. Вам предстоит работать в команде, так что важно писать понятный для других код и осознавать, на что влияют его компоненты».
Виталий Золкин, Android-разработчик
Выбрал направление? Вот, что ждет тебя дальше
Мы в Авито действительно хотим нанимать перспективных стажёров и помогать им расти. Цели у нас вполне понятны и оправданы — за полгода вырастить стажеров до джунов и усилить команду.
В любом направлении вы сможете поработать с 90% инструментов, которыми пользуются разработчики в Авито. Вы будете дорабатывать существующие фичи и проектировать собственные, а также общаться с коллегами из других отделов и перенимать их опыт — от разработчиков смежных направлений до продакт-менеджеров и аналитиков.
Участники программы с первого дня усилят свою команду и будут влиять на продукты Авито, поэтому к отбору подходят очень ответственно.
Чаще всего отбор на стажировку состоит из пяти этапов:
Заявка. Вам нужно будет заполнить и отправить форму. Отклик рассмотрят в течение двух рабочих дней. Тем, кто успешно пройдёт скрининг, придут приглашения на тестирование.
Тестирование. Приступить к тестированию можно сразу после получения приглашения на почту, на его выполнение отводится три дня. Лучших кандидатов пригласят на следующий этап.
-
Интервью и тестовое задание. Нужно записать видеоинтервью — ответить на вопросы о своей мотивации и опыте в разработке. На этом же этапе нужно сделать и загрузить на GitHub тестовое задание. С кандидатами поделятся обратной связью, а тех, чьё решение посчитают лучшим, пригласят на техническое интервью.
Кстати, на GitHub разработчики и QA-инженеры Авито также делятся полезными материалами и разборами тестовых заданий.
Техническое интервью. Разработчик из Авито оценит ваши технические навыки — вместе обсудите тестовое задание, а кроме этого вам предстоит решить несколько профильных задач в формате лайв-кодинга.
Интервью с руководителем и HR-специалистом. Обсудим, чему вам хотелось бы научиться на стажировке, как развиваться в компании, и узнаем, насколько вам близка идеология Авито.
Тем, кто успешно пройдёт все этапы, сделают оффер. А кандидатам, которые не прошли отбор, дадут фидбэк о том, что можно улучшить.
Следите за обновлениями и подписывайтесь на нашу рассылку, чтобы первыми узнать о новом отборе на стажировку. Больше о задачах инженеров Авито и том, какие продукты и на каком стеке мы делаем, вы можете узнать на сайте AvitoTech.
Был ли у вас опыт стажировок в начале карьерного пути? Расскажите о нем в комментариях!