Русский
Русский
English
Статистика
Реклама

Стажировка

Главное мотивированность и настойчивость как в Deutsche Telekom IT Solutions растят своих специалистов

25.05.2021 18:15:50 | Автор: admin

Как выглядит типичный процесс отбора на стажировку? Есть ли у выпускников гуманитарных вузов шансы на трудоустройство в IT? Как найти способного стажёра и вырастить из него настоящего специалиста? Сотрудники Т Дмитрий Балахонов и Сергей Морозов набирали ребят в свои команды, преследуя разные цели, но в итоге пришли к схожим выводам. Этими выводами, а также интересными историями из практики, коллеги готовы поделиться с читателями Хабра.

День карьеры на факультете прикладной математики и механики Воронежского госуниверситетаДень карьеры на факультете прикладной математики и механики Воронежского госуниверситета

Вы оба набирали стажёров. Почему возникла такая потребность?

Сергей: В компании я являюсь руководителем трайба Test Management SSC Russia. Одна из моих задач это поиск стажёров для различных проектов, не только для себя, но и для коллег. Часть стажёров приходит к нам непосредственно через HR-отдел. Например, они могут увидеть вакансию на корпоративном сайте или на HH.ru и откликнуться. Других мы находим через программу рекомендаций, в рамках которой действующие сотрудники могут предлагать кандидатуры своих знакомых. В случае прохождения стажировки и успешного трудойствойства кандидата такой сотрудник получает бонус. Наконец, кого-то мне приходилось искать и самостоятельно.

Исходя из специфики работы, стажёры требуются мне достаточно часто, поэтому накопился опыт отбора, собеседований, педагогической работы.

Дмитрий: У меня немного другая специфика. Сергей набирает людей про запас, чтобы сначала выучить, а уже потом выбрать для них проект. Мне нужны были стажёры в конкретную команду в проект Open Telekom Cloud. Задача была важная, требующая оперативного решения, поэтому я сам был замотивирован заниматься поиском.

По какой причине чаще всего отсеиваются кандидаты?

Сергей: Самый большой отсев происходит из-за английского. Причём у нас не такие уж высокие требования. В идеале, конечно, B2. Но на практике можно и чуть-чуть снизить планку. Если говорить о стажёрском уровне, то вполне достаточно, чтобы человек мог понять вопрос на чужом языке и ответить на него, пусть с ошибками, но чтобы основная мысль была понятна.

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

Дмитрий: Справедливо. Грубо говоря, проще взять выпускника или выпускницу факультета романо-германской филологии и помочь освоить тестирование, чем взять вроде бы продвинутого человека с факультета компьютерных наук, но с нуля учить его английскому или немецкому.

Сергей: Часто в резюме написано B2, С1, а человек этому уровню не соответствует. История из реальной практики. Приходит ко мне кандидат. В резюме указано, что уровень владения английским С1, т.е. продвинутый. Спрашиваю: Could you please briefly tell us about yourself?. Отвечает на русском: Извините, я сегодня рассказ о себе не готовил. То есть даже эту фразу произнести на английском он не смог.

Дмитрий: А есть и противоположное. Человек скромничает, мол, я на английском только вино у бармена в Турции заказывал, а когда предлагаешь ему пообщаться он раскрывается. Выясняется, что никаких проблем, никакого языкового барьера у него нет.

По каким ещё критериям проходит отбор?

Сергей МорозовСергей Морозов

Сергей: Если речь идёт именно о стажёрах, то завышенных требований мы не выдвигаем. Мы просто хотим увидеть, что у человека есть элементарная техническая база (SQL, REST, понимание протокола HTTP и т.п.). Можем давать простейшие задачи на программирование. Важно, чтобы человек, помимо упомянутого владения языком, просто обладал логическим мышлением и был способен к обучению.

Дмитрий: Другие очень важные критерии отбора мотивированность и настойчивость. Однажды в мой проект на стажировку пытался попасть парень, которого не взяли в другом нашем проекте. Коллеги считали, что техническая база у кандидата слабая и с ним будет много хлопот. Но в процессе общения выяснилось, что парень работает инженером на заводе, проектирует насосы, а в свободное от работы время каждый вечер занимается программированием. Мне стало понятно, что с такой настойчивостью в реальном проекте он очень быстро прокачается. Так оно и произошло в итоге. Поэтому никогда не нужно отчаиваться всегда есть возможность попробовать пройти интервью ещё раз и попробовать себя в других проектах.

А что важно указывать в CV?

Сергей: Я всегда говорю обязательно пишите ключевые слова по вашим компетенциям, даже если вы не очень глубоко в чём-то разбираетесь. Речь ведь идёт о стажировке, а не о полноценной занятости. Если читали книжку по профильной теме, проходили курс, даже видео на Youtube смотрели, пишите об этом в CV. Интервьюеру это позволит найти темы для разговора и в итоге максимально раскрыть кандидата. А так мы порой вынуждены сами буквально выуживать из человека информацию.

Дмитрий: Да, это очень типично. Как-то перед собеседованием я просматривал резюме девушки, которую мне рекомендовали как хорошего специалиста в Python. Так у неё ни разу слово Python в CV не мелькнуло. Если бы я изначально об этом её навыке не знал, то как должен был догадаться?

Такое ощущение, что сейчас бум платных курсов по программированию и тестированию. Часто их указывают в CV?

Сергей: Да, они встречаются. Но у меня к ним скептическое отношение. Конечно, если платные курсы есть в CV, это лучше, чем ничего. Но при прочих равных условиях я бы предпочёл видеть там стажировку в конкурирующей IT-компании. Обучение в таких компаниях, как ни крути, выгоднее для человека, чем платные курсы. Во-первых, не нужно платить деньги. Во-вторых, IT-компании реально заинтересованы в том, чтобы вырастить специалиста и устроить его в свой проект, а не заработать на обучении. А платные школы это всё-таки коммерческая история, и нередко бывает так, что за красивой картинкой там ничего не стоит. Не буду обвинять всех подряд, но такое действительно бывает. Поэтому важно читать отзывы о школах и образовательных курсах, общаться с теми, кто их уже проходил, чтобы иметь релевантную информацию.

Но если человек прошёл стажировку в другой компании и его не взяли на младшего инженера, значит, он недостаточно хорош. Разве не так?

Сергей: Не совсем. Возможно, в другой компании были очень высокие требования в конкретном проекте, на который набирали стажёров. И у нас бывают проекты разного уровня, в том числе сложные для освоения начинающими специалистами. В 2018 году у меня была группа из пяти стажёров. По окончании стажировки трёх забрали проекты, а двоих не взяли. В итоге один из стажёров устроился к нам на следующий год, а другой нашёл работу у конкурента. Так что всё относительно, целеустремлённый человек рано или поздно найдёт себя.

Дмитрий: У меня был стажёр, который где-то полгода ходил по разным компаниям, но никуда его не брали. В итоге попал в наш проект. Стал отличным специалистом. Причём ещё на стажировке его разные команды буквально делили между собой, т.е. задатки стали проявляться очень быстро.

Как проходит стажировка? Ваши подходы чем-то отличаются?

Сергей: На стажировке к человеку прикрепляется ментор или несколько менторов, каждый из которых покрывает какую-то тему. Кто-то может о Java рассказывать, кто-то преподавать теорию тестирования и т.д. Сама программа обучения составляется так: мы смотрим, в каких проектах в ближайшем будущем готовы взять младших инженеров и какие требования есть в этих проектах по технологиям. Исходя из этого находим менторов с нужными скиллами.

Далее обязательно держать руку на пульсе и не оставлять стажёра наедине с собой. Ментор должен регулярно давать ему задания, проверять, разбирать ошибки, отвечать на вопросы. Задания могут быть взяты из реальных проектов, а могут быть придуманы самим ментором. Разница не очень существенна. Главное, чтобы стажёру была обозначена конечная цель что он должен знать и уметь по истечении трёх месяцев.

Дмитрий: Я уже говорил, что мы берём людей в конкретный проект. Люди сразу работают над реальными задачами. Что касается подбора менторов, то здесь есть два варианта развития событий. В каких-то командах Open Telekom Cloud много специалистов из России, а в каких-то единицы. Может сложиться, что стажёр попадёт в команду, где вообще никого из России нет. Ментором тогда станет иностранец и задания будут исходить от него. Но в таком случае мы всё равно подыскиваем и русскоязычного наставника. Его можно найти в другой команде, которая выполняет похожие задачи.

Приходят ли на стажировку люди с абсолютно не профильным образованием и бэкграундом? Насколько они бывают успешны в профессии?

Сергей: В моей практике есть несколько успешных кейсов. В основном они связаны с тестированием. Например, у нас стажировалась девушка, которая окончила строительный университет и до этого восемь лет работала архитектором. Сейчас успешно влилась в IT, более двух лет работает в нашей компании. Или был молодой человек, который десять лет трудился в ресторанном бизнесе: барменом, менеджером и т.д. Потом он вдруг решил переквалифицироваться в QA. Тоже работает сейчас у нас и прекрасно справляется.

А какой вообще процент стажёров в итоге становится специалистами?

Дмитрий: Точный процент я не назову, но он очень высокий. Ведь основной отсев происходит на собеседованиях. Если человека взяли на стажировку, то скорее всего через три месяца он уже станет младшим инженером, полностью вольётся в команду и возьмёт на себя какой-то участок работы.

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

Не в каждый проект можно взять начинающих. Но по возможности выращивать своих специалистов нужно, это даёт огромное стратегическое преимущество.

Сергей: Преимущества стажировок для компании налицо. Найти стажёра проще, чем синьора. Его легче интегрировать в корпоративную культуру. А при наличии способностей он будет быстро продвигаться внутри команды. Если при этом и другие специалисты не останавливаются в развитии, система начинает работать по-настоящему эффективно. Ведь можно же и мидла развить до уровня синьора, ставя перед ним чёткие цели. А когда он достигнет нужного уровня, то в свою очередь освободит место для бывшего стажёра. Это прекрасный путь, который позволяет развивать команду и давать людям возможности для роста.

Подробнее..

Summ3r of h4ck 2020. Итоги программы

17.09.2020 06:14:34 | Автор: admin
Лето закончилось, и вместе с ним закончилась и наша программа Summ3r of h4ck 2020. Пришло время подвести итоги и посмотреть, чего же добились за этот месяц наши подопечные. Об их исследованиях и впечатлениях от Digital Security и будет рассказано в этой статье.



Посмотреть, чем занимались наши практиканты в прошлые годы, можно здесь:


Мы придерживались хорошо зарекомендовавшей себя практики: участники выбирали интересную им тему из предоставленного списка и в течение месяца проводили своё собственное исследование под руководством куратора.

В программе участвуют два отдела нашей компании отдел анализа защищённости и отдел исследований. Первый занимается тестами на проникновение, аудитом веб-приложений и корпоративного ПО, а специалисты второго задачами reverse engineering, поиском уязвимостей в бинарных приложениях и устройствах и написанием эксплоитов.

Порядок отбора на Summ3r of h4ck также остался неизменным: сначала участники отвечали на вопросы анкеты на нашем сайте и решали небольшие проверочные задания, а после получали приглашение на удалённое собеседование. Хотя программа Summ3r of h4ck проходит только в Санкт-Петербурге, мы рады были видеть участников и из других городов.

Введение


В первую очередь, наша программа направлена на помощь молодым специалистам и студентам, но свои анкеты могут прислать все желающие. Кроме того, мы всегда очень рады, когда к нам приходят повторно: приятно наблюдать за ростом нового специалиста и видеть, как он развивается и изучает ИБ. Но это не значит, что в отборе существуют поблажки ;)

Программа Summ3r of h4ck начинается с лекций. Их читают специалисты от двух отделов, и вот некоторые темы, которые в них затрагиваются:

  • Разработка для Ghidra
  • Advanced Server Side
  • Про Libfuzzer
  • Куда жать после RCE?
  • Pentest Android
  • Про taint анализ
  • Kubernetes: From zero to hero и т.д.

Кроме лекций были и практические задания, и даже своего рода мини-CTF для всех желающих. Результаты этих заданий учитываются позже, при отборе кандидатов в сотрудники Digital Security.

В конце программы Summ3r of h4ck прошла защита проектов. Участники выступали перед всеми и рассказывали, какие задачи перед ними стояли и чего им удалось добиться, с каким трудностями они столкнулись и какие проблемы решали. Некоторые объединились в группы, чтобы поработать над общей темой мы всегда это приветствуем.


Наш замечательный мерч

Все, кто успешно прошел практику, получили сертификат Summ3r of h4ck 2020.

По традиции мы попросили наших практикантов ответить на вопросы мини-интервью и поделиться своими впечатлениями.

  1. Почему решили стажироваться именно в Digital Security? Чем привлекла вас компания?
  2. Понравилась ли стажировка? Что особенно запомнилось? Насколько реальность совпала с вашими ожиданиями?
  3. Расскажите о своей задаче/задачах.
  4. Показались ли интересными задачи, над которыми вы работали в процессе стажировки? Было ли что-то, чем вы хотели заняться, но не удалось?
  5. Готовы ли вернуться в компанию на стажировку или на работу?

Орфография, пунктуация и стиль авторов сохранены

Даниил Гавшин, тема Разработка плагина для Ghidra


1. Думаю, не секрет, что вы популярны в кругах spbctf, и на каждый отбор summer of hack о вас там появляется рекламный пост. Это круто, что вы уважаемы в таких сообществах, о вас хорошо пишут и в отзывах на прошлых стажировках. Из этого складывается впечатление как об открытой, дружелюбной и современной компании, и теперь я с уверенностью могу это утверждать)

2. Как сами организаторы заметили, это больше практика или обучение, и в этом плане я очень доволен. Много интересных лекций, на которых ты можешь спокойно задать вопрос, попросить повторить, объяснить какой-то момент, ведь обстановка уютная и неформальная. После презентации можно сварить кофе и пообщаться со стажерами о наболевшем или пойти обсудить с ментором свой проект. Такая простая связь между всеми это большой плюс

3. Сначала я изучал, как реверсить прошивку UEFI, работу ее протоколов, а потом, когда пришло какое-то понимание, начал писать плагин для Ghidra, который рисовал бы графы связей между этими протоколами. Бесценный опыт изучения Ghidra API)

Ссылка на Github-репозиторий плагина для Ghidra


Граф связей плагина

4. Моя задача была довольно абстрактной и поэтому на ее решение мыслей сразу не приходило, однако это все равно было интересно. Каждое обсуждение с ментором продвигало проект вперед, и лишь в конце стажировки мы вышли к чему-то конкретному. Осталось много интересного с фаззингом, у вас была крутая лекция на эту тему, и хотелось успеть нафаззить что-нибудь вместе с вами, но жаль, что не успел.

5. Думаю, да, мне понравилась атмосфера у вас, на протяжении всей стажировки сюда хотелось приходить

Никита Челноков, тема Автоматизация поиска code reuse гаджетов для обхода CFI


1. До стажировки активно играл в CTF. В какой-то момент понял, что хочу попробовать себя в реальных задачах. Увидел, что в Digital Security есть программа летней стажировки. Про прошлые стажировки я прочитал несколько статей на хабре и решил, что будет интересно и, главное, полезно, в чём я не ошибся.
2. Если кратко очень. Лекции позволили узнать лучше темы, о которых я лишь слышал, а также задать определённый вектор развития навыков. Очень понравились мастер-классы на некоторых лекциях и, конечно же, работа над самим проектом.
3. Моя задача автоматизация поиска code reuse гаджетов для обхода CFI. В проекте я использовал IDAPython, в результате чего задача была минимально решена. Я продолжу работу над этим проектом, и следующей целью будет сделать графический интерфейс для этого скрипта в IDA. Необходимо сделать его максимально информативным и интерактивным с целью упрощения задачи поиска примитивов.

Пример работы скрипта

4. Задача была действительно интересная, с этой темой ранее я не сталкивался. Если решение данной задачи сделать наиболее эффективным образом, можно будет создать новые способы обхода защиты, нацеленной на усложнение эксплуатации бинарных уязвимостей. Созданная утилита может быть всячески доработана и использована для широкого круга задач. В процессе работы я улучшил свои навыки в автоматизации в IDA. Отдельное большое спасибо моему ментору, который помогал с проектом и рассказал мне немало интересного и полезного.
5. Безусловно да, и то, и другое.

Новосельцева Алёна, тема Символьное исполнение в Ghidra


1. Стажировку в компании Digital Security прохожу второй год подряд. Задачи отдела исследований (Research Centre) крайне интересны для меня, так что было здорово взять работу над проектом и в этом году. Каждый день сотрудники компании выступают с лекциями на актуальные темы, что придает стажировке обучающий характер. Очень приятно было узнать, что большинство тем были либо обновленными, либо абсолютно новыми, а с учетом специфики материала повторение пройденного казалось вполне уместным и даже полезным.
2. Из-за нестабильной ситуации стажировку пришлось пройти удаленно и стать единственным стажером отдела исследований на удалёнке. Работать таким образом можно вполне успешно, однако теряешь возможность живого общения с наставниками, другими стажерами. Крайне негативной стороной является тот факт, что нет возможности послушать вживую лекции сотрудников, позадавать вопросы и обсудить технические тонкости. Так что рекомендую проходить стажировку именно очно, иначе многое теряется.
3. Задача ресерча реализация символьного исполнения в Ghidra. Нужно было выбрать один из существующих на данный момент движков символьного исполнения и прикрутить его в интерфейс Ghidr-ы. Кандидатами стали KLEE, Triton, S2E и Angr. В результате решили выбрать Angr, поскольку он популярен и имеет доступный и хорошо задокументированный API. С этого момента началась стадия разработки, начала писать логику и графический интерфейс. Стоит отметить, что на GUI пришлось потратить львиную долю времени.
В принципе, задача выполнена успешно. Теперь символьное исполнение доступно в двух кликах прямиком из Ghidr-ы.

Ссылка на Github-репозиторий плагина AngryGhidra


GUI и пример работы плагина

4. Как отмечала в прошлом году, всегда хотела погрузиться в тему символьного исполнения поглубже, так что это была великолепная возможность познать как теорию, так и практику. В будущем планирую подробнее изучить фаззинг и заняться поиском уязвимостей.
5. С большим желанием и удовольствием! Университет еще продолжается, так что, скорее всего, поучаствую и в следующий раз.

Олег Мошков, тема Binary Lifting Fuzzing


1. Было желание расставить все точки над i: куда дальше двигаться в сфере ИБ и чем заниматься. Отсюда и возник выбор стажировки в ведущей компании в России в области ИБ Digital Security, уж здесь-то меня направят в нужное русло.
2. Стажировка превзошла мои ожидания. У меня был самый топовый ментор: он был для меня настоящим учителем, который мне помог не только с исследованием, но и в общей части, связанной с областью ИБ.
3. Необходимо было протестировать инструментарий для Binary Lifting'a бинарников, попробовать их пофазить и найти уязвимости. Проблема была в том, что большинство из утилит были либо заброшенными, либо лифтили только совсем простые бинари. Пришлось часть из них патчить, допиливать и пересобирать, на что и ушла большая часть времени. А пока они пересобирались по нескольку раз, удалось пофазить один из open-source проектов и найти в нём пару дыр :)


Таблица сравнения Lifting-а инструментов

4. Также хотелось бы изучить кучу инструментария, о котором нам рассказывали на лекциях, но на который не оставалось времени, чем я и займусь в ближайшее время.
5. С удовольствием!

Георгий Геннадьев, тема Apple BLE protocols


1. Я решил стажироваться в Digital Security, так как вы являетесь одним из фаворитов в области ИБ в России и за рубежом. Помимо этого очень сильно привлекли исследования, которыми занимается компания.

2. От стажировки я ожидал многого, и мои ожидания были не только оправданы, но и превзойдены. Множество интересных тем для ресерча, менторы, готовые помочь и ответить на любые вопросы, лекции охватывающие множество областей (это получение действительно бесценного практического опыта, в сравнение с университетскими бумажками) и виртуальная лаборатория для отработки новоиспеченных знаний.

3. Для исследования я выбрал новую для себя тему мобильные устройства и Bluetooth Low Energy, а конкретно две вещи Apple find my и Exposure Notifications (API для детекции контактов с инфицированными COVID-19) от Apple и Google. В процессе удалось углубить свои знания, узнать много нового, написать пару PoC-ов, но поскольку темы тяжелые закончить за время стажировки их не удалось, поэтому я занимаюсь их исследованием и по сей день.


Exposure Notification

4-5. Все задачи на стажировке были очень интересными, но попробовать все, к сожалению, невозможно, поэтому я с уверенностью могу сказать, что я готов вернуться в DSec, чтобы продолжить исследовательскую деятельность и повышение собственных навыков.

Заключение


Мы рады видеть, что программа Summ3r of h4ck приносит пользу, и стараемся работать над тем, чтобы делать её лучше в соответствии с отзывами наших участников.

Огромное Спасибо! тем, кто пришёл к нам, принимал участие в исследованиях и ломал голову над нашими заданиями. Мы вами гордимся!

До встречи в следующем году ;)
Подробнее..

Не человек для работы, а работа для человека мои ошибки при организации стажировок для студентов

18.05.2021 16:06:28 | Автор: admin

Пару недель назад мы объявили набор стажеров в нашу дирекцию по интеграции. Среди профессий, в которых мы предлагаем попробовать свои силы, есть аудит ИБ, аттестация и консультирование. Во время стажировки я буду курировать это направление, поэтому хочу поделиться опытом введения новичков в профессию. За несколько лет я выработал подход, который позволяет стажерам увидеть творчество в такой суровой сфере, как комплаенс и не потерять мотивацию, закопавшись в нормативке.

Несколько лет назад я посмотрел выступление дирижера Бенджамина Цандера на TED Talks Сила классической музыки, где целый зал людей впервые в своей жизни слушал и слышал классическую музыку, потому что научился это делать. Вы можете осветить целую деревню глазами этого мальчика, сказал Цандер об одном из своих слушателей. Это и есть результат понимания. Именно тогда у меня закралась мысль, что и в моей повседневной работе все должно обстоять точно так же.

Опыт, сын ошибок трудных

Опыт работы со студентами у меня появился еще до того, как я пришел в Ростелеком-Солар. Несколько лет назад я был должен выстроить рабочие процессы ИБ-интегратора в государственной организации, попутно укомплектовав штат специалистов. Речь шла про весь цикл работ: от инвентаризации до аттестации и эксплуатации, а свободных рук не было совсем. Поначалу руководство рассчитывало найти высококвалифицированных специалистов с большим стажем чтобы как в анекдоте: и дракона победить могли, и положительный опыт организации концертов Бориса Моисеева в Дагестане имели. После довольно долгих попыток реализовать мечты пришло рискованное решение попробовать перехватить толковых ребят пораньше пока они еще студенты. Первый опыт оказался не очень удачным. Оказалось, что недостаточно просто позвать ребят, раздать им задачи и контролировать ход их выполнения.

В большинстве случаев для человека без опыта задачи из серии сделай модель угроз для такого-то проекта, напиши проект защиты и т. п. пустой звук. Студент слушал часовую лекцию о том, как это делается, кивал головой, что все понял, и исчезал до конца практики или времени, отведенного на тестовые задания. Да, какой-то результат был, но только для галочки.

При этом маленькие рутинные задачи, такие как перевести полезный документ на русский язык, заполнить тысячу записей в журнале, привести документ к единому стилю, уничтожали всякий интерес к работе. Задачи выполнены хорошо, но желания остаться нет.

Я понял, что дело не в студентах, а в подходе к стажировке. Не надо растить универсального солдата под названием специалист по ИБ. Надо разделить эту должность на подзадачи: моделирование угроз, проектирование, аудит, аттестация, пентест, управление проектами (собственно, именно так все и будет на нашей предстоящей стажировке). Однако тут возникает еще один момент на мой взгляд, ключевой для молодого специалиста, только-только узнающего профессию на практике.

Мотивировать, а не сломать студента

В начале стажировки я обычно провожу две лекции вводную и мотивационную. С вводной все понятно, а мотивационная нужна для того, чтобы рассказать ребятам, какие задачи бывают, как их выполнять, как получается результат, в чем его ценность и кем он востребован. А дальше начинается индивидуальный подход. За эти годы я понял для себя одну важную вещь: не надо ломать характер человека. Если начинать карьеру с того, к чему вообще не лежит душа, это вполне ожидаемо отпугнет от профессии.

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

И, исходя из этого, уже можно делить студентов по направлениям. Общительным я предлагаю попробовать себя в аудите и консалтинге: там предстоит много разговаривать с заказчиком, его айтишниками и безопасниками, без прокачанных коммуникативных навыков тут непросто добиться успеха. Более замкнутые товарищи часто выбирают проектирование и пентест. Конечно, общаться с коллегами здесь тоже придется, но немалая часть работы проходит наедине с собой. Ребятам, которые сильны в программировании, возможно, будет интересно строить модели угроз и нарушителя: здесь пригодится умение систематизировать, мыслить алгоритмами, просчитывать в голове разные варианты развития событий.

Если найти в рабочих процессах применение сильным сторонам студента, он загорится дальше развиваться в этом направлении. Вызвать азарт, дать человеку радость от того, что он делает, гораздо важнее, чем просто обучать. При этом важно, чтобы стажер понимал всю цепочку работ и видел значение и значимость своих задач.

Учимся читать, писать и планировать

Еще в первые годы работы со студентами я понял, что они не умеют это делать. Не спешите обижаться. Речь о профессиональных навыках, которым не учат в университете они появляются с опытом. Поэтому теперь я начинаю работу со своими стажерами именно с этого.

Когда я говорю об умении писать, я имею в виду навыки работы с офисными пакетами. Я объясняю ребятам, что, если мы говорим о комплаенсе, придется самостоятельно готовить огромное количество документов. Если успеваю продолжить до того, как увижу их быстро удаляющиеся затылки, то добавляю: если владеть стилями, уметь оформлять таблицы и верстать не с помощью пробелов, то всю эту работу можно делать играючи. В ином случае да, возненавидишь ее через пару дней. Но я же имею дело с ребятами, которые как минимум изучали в университете программирование, а может, даже знают про CSS. Поэтому часто бывает достаточно объяснить, что Word не сильно отличается от веб-верстки. Потом отправляю студента проходить курс по Microsoft Office на их официальном сайте. Не для галочки, а для того, чтобы человек мог ускорить свою работу, исключив повторение однотипных действий. Использование шаблонов, стилей, стандартных блоков и скриптов VBA сокращает рутинные операции до минимума. А постоянно создавать однотипные документы с нуля, конечно, даже конкуренту врагу не пожелаешь.

Читать тоже придется переучиваться. Мы живем в эпоху победившего инфостиля. Тексты принято писать без трехэтажных конструкций, продвинутые сервисы общаются с клиентами максимально простым и понятным языком. И вот современный студент открывает нормативку, видит зашкаливающее количество канцеляризмов, постоянные тавтологии и думает, что это неправильно, так нельзя. Но такова документация, юридические тексты законов и тому подобное они пишутся не для людей, и читать их нужно другим способом сканированием, то есть считывая только значимую информацию. Еще один аспект правильного чтения в нашем деле прочитали текст закона, открываем комментарии юристов, судебную практику. Потому что с одной нормативкой далеко не уедешь.

И о планировании. Тут все как в мультфильме Крылья, ноги и хвосты: Лучше день потерять, потом за пять минут долететь. Я это объясняю еще во время мотивационной лекции. Вы можете сделать работу за один час, а можете потратить четыре на автоматизацию, но зато потом на такие же задачи вообще времени не тратить. Так вот планирование в конечном счете сводится именно к тому, чтобы автоматизировать повторяющиеся задачи снова в помощь программирование, которое изучали в универе.

Но перед этим в планировании нужно освоить базу: оценку трудозатрат на единицу работу и оценку полноты входных данных. Здесь уже на помощь приходит математическая статистика (не теория вероятностей, ведь они решают противоположные задачи). Самый простой метод оценка по трем точкам, когда смотришь худший результат, максимальный результат и математическое ожидание. Он позволяет снизить погрешность от субъективности оценки.

Остаться в ИБ

Конечно, один из главных мотивирующих факторов возможность получить работу после стажировки. Чтобы ее целью была не только оценка за практику, нужно увлечь студента профессией, показать ему перспективы. Те условия, которые есть у нас, позволяют вчерашним стажерам получить карьерное развитие без смены работодателя. Направлений много, заказчики федерального уровня есть куда расти и в чем развиваться. Было бы желание. Другими словами, успешная карьера студента начинается не где-то там в будущем, а уже прямо сейчас можно почувствовать себя полноценным членом большой команды.

Какие навыки мы ценим

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

Начну с профессиональных скиллов. Хорошему ИБ-специалисту совершенно точно пригодятся математические знания теория множеств, алгебра, теория групп, теория вероятностей, математическая статистика, теория графов. Буду полезны навыки программирования C#, VBA, Python. Понятно, что будет сложно в ИБ без понимания устройства сетей, систем и т. п. Придется разбираться и в нормативке и правильно ее читать (см. выше). Владеть базовыми инструментами, такими как Word, Excel, Vision, PowerPoint, на уровне экзамена Microsoft тоже здорово. Но, как говорится, не умеешь научим (см. выше).

Еще один важный навык это развитое абстрактное мышление, которое еще называют системностью и аналитическим складом ума. Поясню. Как я уже сказал, я занимаюсь комплаенсом. Уже само это слово вместе с аудитом и аттестацией способно отпугнуть очень многих. Однако именно умение смотреть на конкретные ежедневные рутинные задачи как на элементы системы, подлежащей автоматизации, делает работу творческой. Мне очень часто приходится сталкиваться с нетипичными проектами, поэтому у меня уже большой опыт в стандартизации того, что еще не стандартизировано. Умение проводить аналогии, обобщать уже сделанное позволяет не заниматься весь день мелкими однотипными задачами, а делать их быстро, посвящая рабочее время интересным и нестандартным проектам.

И конечно, важны критическое мышление, чувство юмора, развитый эмоциональный интеллект, умение и желание общаться, задавать вопросы. Без этих качеств будет тяжко где угодно.

Почему могут не взять на работу после стажировки?

Вообще, причины схожи с теми, из-за которых можно лишиться работы или не пройти испытательный срок, даже будучи специалистом. Дальнейшему сотрудничеству могут помешать несколько моментов.

Если стажер с опозданием эскалирует проблемы, не сообщает руководителю проекта и куратору, что что-то пошло не так, то он вредит не только себе. Зависает одна задача зависнут те, которые с ней связаны. Как я уже говорил, нужно, чтобы стажер, делая часть, понимал процесс в целом и чувствовал свою ответственность за общий результат.

Еще один вариант проблем с коммуникацией когда человек стесняется спрашиваешь, если не знает, и, наоборот, не стесняется спрашивать, если знает ответ или, по крайней мере, знает, где его найти. Тут важно почувствовать этот баланс. Нельзя быть необщительным букой стажер просто недополучит знания, которые мог бы получить. Ну а про вред общему делу я уже сказал выше. Но и перебарщивать не стоит: бывает, что человек все знает, но то ли от неуверенности, то ли от чего-то еще постоянно переспрашивает.

Сотрудничества не получится, если человек альтернативно понимает прочитанное (стандарты, законы, нормативные акты). Лечится тем самым умением читать. Но у кого из нас даже в обычной жизни не возникало: Ой, да что там разбираться, тут и так все понятно! В ИБ, и особенно в комплаенсе, так точно не надо.

И вполне вероятно, что предложение остаться не получит стажер, который увлечен какой-то мечтой, а ИБ это только миг. Но это скорее про то, что не надо насиловать себя и заниматься нелюбимым делом.

Вместо заключения

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

Однажды среди моих стажеров был парень, который вообще-то увлекался программированием и хотел стать веб-дизайнером, но в итоге он пошел в проектировщики, осознав связь между ГОСТами 34-й серии (разработка и эксплуатация автоматизированных систем) и каскадными таблицами стилей. Он стал писать стандарты, потому что ему понравилось, как он автоматизировал свою работу, как научился управляться с документами и быстро готовить их.

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

Автор: Алексей Матвеев, ведущий консультант по информационной безопасности Дирекции по интеграции компании Ростелеком-Солар

Подробнее..

Как я попал на стажировку в Яндекс

18.06.2021 00:22:38 | Автор: admin

Всем привет, меня зовут Виктор и я frontend разработчик. Хочу поделиться тем, как я решил стать программистом и попал на стажировку в компанию Яндекс в 27 лет без высшего образования.

Сначала моя история о том, как я заинтересовался it сферой и в частности web разработкой.

Знакомство с кодом

Впервые с программным кодом я познакомился на третьем курсе института по специальности прикладная лингвистика. Это был язык программирования python и мне очень понравилось то, как я могу заставить компьютер делать разные классные штуки с помощью циклов, условных конструкций, функций и переменных. Преподаватель был современный и за основу учебной программы взял курс по основам программирования с учебной платформы udacity. В процессе нужно было написать простенький web crawler и небольшой поисковый движок для ранжирования веб страниц по количеству ссылок на них с других веб страниц. По определённым обстоятельствам я вынужден был уйти из вуза после третьего курса и стал зарабатывать на жизнь переводами.

Глубже в технологии

Тем временем я понял, что мне также интересна it сфера и я начал думать, как бы мне продолжить её осваивать и что выучить в первую очередь. Уже не помню почему, но выбор пал на курсеровский курс HTML, CSS and JavaScript Гонконгского университета. Так я впервые познакомился с языком гипертекстовой разметки, каскадными таблицами стилей и языком программирования javaScript. Мне показалось интересным манипулировать различными объектами на web странице, менять стили, расположение элементов и добавлять разную интерактивность. Затем было много разных других курсов с курсеры, edx, степика, главным курсом первого времени был наверное знамений курс Гарвардского университета cs50 на котором я впервые познакомился с алгоритмами и структурами данных и языком си. Это был очень непростой, но интересный курс по основам computer science.

Первые попытки заработать на разработке

Долгое время программирование было для меня эдаким хобби и я несильно видел себя в коммерческой разработке, я проходил курсы, делал разные учебные и личные проекты, изучал разные языки программирования (Haskell, java, golang, scheme etc) и парадигмы, в общем всё это было больше в интерес. В какой-то момент я решил попробовать сделать пару заказов на фрилансе, связанных с веб разработкой и мне удалось заработать первые деньги. После этого я начал помимо переводческой деятельности подрабатывать и веб разработкой, делал простые вещи: правки в вёрстке, подвязка сайта к crm через ajax, калькуляторы стоимостей услуг и товаров и всё в таком духе.

Смена профессии

После этого я начал задумываться о том, что нужно сменить таки профессию и стать полноценным разработчиком, специализироваться я решил на javaScript по причине его гибкости и возможности программировать во всех возможных парадигмах, а также его присутствию, как на клиенте, так и на сервере. Нужно было освоить какой-нибудь фреймворк, научиться тестировать код, верстать адаптивно, кроссбраузерно, валидно и семантично, освоить препроцессор для css, node js, typescript, webpack. Если до этого моё изучение программирования было в большей степени академичным, то теперь я решил взяться за дело всерьёз. Выбор пал на react за счёт того, что это javaScript first библиотека с минимумом магии и функциональным подход в построении интерфейсов ui, как чистая функция от состояния и свойств, переданных компоненту. На данный момент я также знаю на базовом уровне vue js, который меня восхитил своей магией и скоростью разработки, но опечалил отладкой и поиском ошибок, когда что-то ломается в шаблоне.

Хочу в крутую компанию!

Теперь перейду уже к стажировке. Я понимал, что в 25+ устроиться без опыта работы в крутую it компанию будет довольно непросто и уже пытался до этого попасть в школу программистов Хэдхантера и курсы от Тинькофф банка, после которых можно было попасть в штат, но там были очень сложные алгоритмические задачи, с которыми я не мог справиться полностью, обычно решая половину задач или меньше. В мэйл дорога была заказана сразу, потому что на свои стажировки они берут только выпускников своих образовательных программ. Про Яндекс я почему-то всё это время даже не думал, потому что считал, что там всё будет ещё гораздо страшнее. Но месяц назад в телеграм канале одного хорошего ютубера (S0ER) я наткнулся на пост о стажировке в Яндекс и подумал ну а почему бы и не попробовать, я вообще ни на что не расcчитывал и заполнил анкету указав честно все свои скромные достижения в виде одной курсовой, пачки сертификатов и резюме с указанием технологий, которые я освоил на тот момент.

Письмо счастья

В ответ мне пришла ссылка на контест. Я не буду говорить о том какие там были задания, но я был приятно удивлён тому, что на алгоритмы там была ровно одна задача из четырёх и именно её я завалил, моё решение прошло только половину тестов, из остальных там было задание на вёрстку, оно было довольно жёстким, нужно было pixel perfect сверстать определённый рисунок, состоящий из геометрических фигур без использования svg и готовых картинок, только html и css. Две оставшиеся задачи проверяли базовые вещи для javaScript разработчика: асинхронность, контекст вызова, прототипы, замыкания. Надо отметить, что каким-то образом я умудрился все три этих задания сдать с первой попытки в контесте. На всё это было дано 6 часов.

На следующий день со мной связался рекрутёр Яндекса с предложением пройти 2 интервью в зуме, одно из них на общие навыки программирования и javaScript, другое на алгоритмы.

На первом интервью меня попросили рассказать о том, как пришёл в разработку, спросили про навыки из резюме (правда ли я знаю вебпак и тайпскрипт, показал на гитхабе игру крестики нолики, которую я как раз недавно сделал, написанную на тайпскрипте. Спросили про опыт разработки и мои проекты. Дальше началось само интервью. Сначала мне были предложены куски кода с предложением найти ошибки и объяснить, что в них работает не правильно и почему. Затем были задания на написание кода. Работа со стандартными методами массивов, объектов, в общем на знание языка и понимание его особенностей. В конце была ещё алгоритмическая задачка (задачи на алгоритмы должны были быть на следующем собеседовании) потому что как оказалось, я решил основную часть раньше установленного срока. После предыдущих задач я немного расслабился и сначала встал в ступор, но после небольшой наводки от собеседующего смог решить и её.

На втором собеседовании проверялось понимание сложности алгоритмов, основных структур данных и умение с нуля построить рабочее решение. Я смог решить две задачи. Никаких красно чёрных деревьев там не было (даже обычных деревьев не было), всё обошлось словарём, массивами и пониманием того, как работают стек и очередь. Багов я не избежал, но смог их отловить.

После этого мне на следующий день позвонил рекрутёр и предложил пройти финальные собеседования с командами.

Это были команды картинок, лавки и маркета.

По итогу я выбрал маркет поскольку меня интересует сфера электронной коммерции. Стажировка начнётся в конце июня. Если кому-то будет интересно, то я могу дальше писать о том, как она проходит по итогам каждого месяца из трёх. Это будет своего рода дневник для меня и возможность для людей узнать, как оно проходит изнутри, потому что материалов на эту тему я нашёл совсем немного.

Спасибо за внимание, надеюсь, что это было кому-то полезно. Задавайте вопросы в комментариях.

Подробнее..

Открыт набор в Школу разработчиков с перспективой стажировки в Mindbox

27.07.2020 18:22:43 | Автор: admin
Школа разработчиков первый шаг к стажировке в Mindbox. Программа предназначена для студентов 34 курса и выпускников технических вузов с базовыми навыками программирования.
Первый набор Школы стартует 6 сентября, курс разбит на 8 занятий по 45 часов.

Чтобы записаться, оставьте контактные данные пришлем тестовое задание, рассчитанное на два часа. Но сначала убедитесь, что обучение в Школе разработчиков Mindbox это то, что вам нужно. Все подробности под катом.



Как появилась идея Школы разработчиков Mindbox


Стажеров мы набираем уже полтора года. Цель программы пополнить ряды разработчиков джуниорами. За это время с нами поработали 22 человека: шесть из них учатся прямо сейчас, еще шестеро устроились к нам в штат.

Чтобы молодым разработчикам было проще справиться с задачами на стажировке (а они не по силам многим начинающим), мы решили запустить бесплатную Школу, призванную помочь будущим коллегам со стартом карьеры. О том, как пройти путь от Школы через стажировку до трудоустройства, расскажу я разработчик и автор учебного курса Виталий Маргелов. Своим видением и советами поделится наш CEO Александр Горник.

О Школе разработчиков Mindbox


Чему и как обучаем в Школе


Обучение ориентировано на отработку современных подходов к .NET разработке, включает в себя практику объектно-ориентированного и функционального программирования на C# и Typescript, использования инструментов разработчика, активное изучение и применение принятых в индустрии практик командной работы (agile, scrum, code review, gitflow, continuous integration, continuous delivery). Главный навык после окончания курса умение писать полноценные веб-приложения с фронтендом, сложной бизнес-логикой и работой с базой данных.

План занятий


  1. Базовые знания разработчика: цели, инструменты, основные понятия.
  2. Что такое объектно-ориентированное программирование и почему оно важно.
  3. Архитектура больших приложений.
  4. Практические аспекты ежедневной работы программиста.
  5. Процессы разработки и её место в компании.
  6. Основы реализации собственного API.
  7. Базы данных и работы с ними из C# кода.
  8. Что бэкенд-разработчику нужно знать о фронтенде.

Расписание занятий


Первый набор Школы стартует 6 сентября, это воскресенье. Курс из 8 занятий по 45 часов (с перерывами, конечно) идет два месяца, приезжать к нам в офис нужно будет раз в неделю по воскресеньям. Приготовьтесь к интенсивной работе: в течение недели будет много домашки, около 15 часов.

О преподавателе (то есть обо мне)


Преподаю в Школе я, Виталий Маргелов. Общий стаж в коммерческой разработке около шести лет. До Mindbox три года разрабатывал высоконагруженные приложения в Лаборатории Касперского, полгода в CloudPayments, полгода занимался своей веб-студией. В Mindbox два года в роли разработчика, scrum-мастера и ментора стажеров.

Еще на третьем курсе обучения в родном НИТУ МИСиС я создал студенческую организацию, в которой четыре года преподавал программную инженерию и вел ИТ-проекты со студентами. Нами двигало желание научиться ремеслу разработки, но вуз этих знаний не давал. Нескольких месяцев работы в этой организации студентам хватало, чтобы обучиться основам, начать разрабатывать с нами коммерческие проекты или найти свою первую работу (и нашли её в итоге все). В Mindbox я стараюсь создать похожую среду, в которой студенты чувствовали бы себя вовлеченными, а свой труд ценным. На мой взгляд, это самое важное, чего не может дать вуз или самостоятельное обучение.

Как попасть в Школу


Чтобы попасть на обучение, нужно быть студентом 34 курса бакалавриата или выпускником технического вуза и обладать базовыми навыками программирования: уметь объявлять переменные, массивы и функции, писать циклы и условные операторы, понимать логические конструкции.

Для записи оставьте контактные данные отправим небольшое тестовое задание. Рассчитываем, что справитесь с ним примерно за два часа.

Комментарий CEO Mindbox, Александра Горника
В начале истории компании мы ждали от инженеров знания основ и горящих глаз. И из этих джуниоров выросли все ключевые люди. Я и сам был таким перед первой работой. Со временем мы начали нанимать всё более узких и опытных специалистов. Цель стажировки вернуть наем малоопытных, но амбициозных и трудолюбивых инженеров, чтобы из них выросли будущие архитекторы, лиды, scrum-мастера и product-ownerы.

Стажировка, как часто у нас бывает, результат эволюции и везения. Продукт и уровень разработки усложнялись, стали появляться хорошие кандидаты, которые немного не дотягивали до наших требований. Появились проекты внутренней автоматизации, не такие сложные, как основной продукт.

Потом мы наняли Виталика и увидели горящие глаза при рассказе о том, как он несколько лет тянул школу разработки для студентов МИСиС, чисто на энтузиазме. Мы стараемся дать людям возможность заниматься тем, что им нравится. Так что тут случилось моментальное возгорание с одной искры.

Ожидания от стажировки оправдываются. Мы нанимаем больше, чем планировали, и уровень нанятых выше ожиданий. Уровень настолько высокий, что мы закрыли публичные вакансии junior и middle разработчиков (хотя по факту светлых кандидатов готовы брать в любых зарплатных диапазонах, откликайтесь смелее). В отношении более долгосрочных ожиданий покажет время, но ребята растут быстро.

Поэтому решили масштабировать историю и запустить Школу. Стажировка для тех, кто способен писать код, пусть на базовом уровне. А Школа будет полезна тем, кому не хватает базовой теории. Надеюсь, в Школе кто-то сможет преодолеть страх и начать кодить серьезно.

О стажировке в Mindbox


Из лучших студентов Школы мы отберем шестерых из них сформируем стажерскую команду, которая будет разрабатывать наш продукт. Гарантировать трудоустройство мы не можем, но у каждого стажера есть шанс попасть в штат. Если хороших кандидатов будет больше шести, рассмотрим вариант с формированием второй команды или останемся с ними на связи и будем приглашать на стажировку по мере освобождения мест.

Стажировка в Mindbox длится от трех до шести месяцев. Длительность зависит от общего впечатления от стажера оно складывается из того, как он справляется с задачами, прогрессирует, работает с обратной связью, способен ли выполнять работу без сверхопеки.
Стажировка оплачивается: 25 тысяч рублей при удаленной работе 20 часов в неделю и посещении офиса раз в неделю. Если нужно закроем производственную практику.

Разработка стажерского продукта не отличается от основного: в составе кросс-функциональной команды стажеры работают спринтами, реализуют новые фичи на бэкенде и фронтенде, чинят баги, проводят рефакторинги и оптимизации. У продукта есть реальные пользователи внутри компании, которые дают обратную связь и остро реагируют на неполадки, поэтому ориентироваться на бизнес мы учим с первого дня работы. Более опытным интернам мы доверяем самостоятельно принимать архитектурные решения в проекте и брать ответственность за успех целого спринта.
На прошлом месте работы задания выглядели, как лабораторные работы, расти было некуда. Я искал стажировку fullstack, и описание Mindbox меня зацепило.

Первое ощущение от офиса уют, от ребят открытость. Все как будто специально подобраны: готовые помочь, терпеливые. Первая задача, которую я взял в работу, оказалась очень объемной, и спринт мы завалили. Негативной реакции со стороны ментора не было мы просто обсудили, почему так произошло и какие нужно сделать выводы, чтобы такое повторялось реже. Думаю, это обычная рабочая ситуация в Mindbox: не всегда получается сделать обещанное.

Стажировка однозначно приближает меня к цели стать fullstack-разработчиком: каждая корректировка дает толчок. За первые три месяца здесь я узнал больше, чем за год на прошлом месте.

Рафик Абдряхимов, стажер

О трудоустройстве в Mindbox


Если мы довольны стажером, а в командах разработки есть места, пригласим кандидата на командное собеседование и, в случае успеха, в штат на 3040 часов в неделю. Все шестеро стажеров, которые перешли в штат, работают разработчиками, но мы готовы собеседовать и на младшие позиции product ownerа или SRE при наличии соответствующих наклонностей у стажера и запроса со стороны компании.
Я поступал в магистратуру МГТУ им. Н. Э. Баумана и искал стажировку, которая позволила бы совмещать работу и учебу. Про Mindbox ничего не знал, но вакансия показалась приятной, и я решил попробовать.

Стажировка оказалась очень полезной: для студента важно научиться взаимодействию в команде это нельзя узнать в теории, можно только попробовать на деле. Именно в Mindbox я первый раз увидел, как agile применяется на практике.

Стажировка помогла определиться с дальнейшим направлением работы: я узнал много тонкостей про С# (до стажировки моим основным языком был Python) и решил, что буду развиваться в С# и .NET. Сейчас работаю разработчиком и планирую дальше учиться и развиваться в будущем, возможно, дорасту до архитектора.

Тем, кто думает, идти ли в нашу Школу, я могу дать один совет идите! Вы получите мегаполезный опыт, научитесь крутым вещам и получите массу приятных впечатлений. Самые классные курсы в университете были те, где действующие разработчики делились опытом. Так и здесь: я видел программу Школы, она реально может заменить два года учебы в топовом вузе.

Юрий Соколов, разработчик Mindbox

Советы начинающих разработчикам от нашего CEO


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

Смелее откликайтесь, больше ходите по интервью, предпочитайте частные ИТ-компании, зарабатывающие на продаже ПО, небольших и средних размеров. Избегайте устройства на работу по знакомству (на кафедре посоветовали, ну я и пошел), государственных организаций и огромных корпораций, особенно банков. Также опасайтесь шальных денег в инвестиционных или нелегальных компаниях и прочем блокчейне. Ваш код должен выходить на продакшн и приносить деньги или видимую пользу.

Всё остальное вы сможете осознанно выбрать позже, когда разберетесь в рынке и поймете, что вам нужно. В начале карьеры очень важно заложить культуру, как с точки зрения техники (stack, инженерные практики), так и организационно (нормальный agile). Разница в производительности отделов разработки может быть даже не в разы, а на порядки. А из карьерных тупиков с возрастом выбираться всё труднее и труднее.

В нашей Школе и на стажировке, какой бы ни был исход, получите ценный опыт, обратную связь, знакомства и при этом заработаете немного денег.

Александр Горник, CEO Mindbox
Подробнее..

Как устроены технические стажировки Авито

23.12.2020 14:04:12 | Автор: admin

Несколько раз вгод мынабираем стажёров втехнический департамент Авито. Они работают отшести месяцев догода ирешают боевые задачи. Поитогам большинство стажёров переходят вштат.


Нас зовут Станислав Юрков иИрина Мулёва, мынабираем стажёров ипомогаем имвпроцессе обучения. Встатье мырасскажем, как устроены технические стажировки иответим начастые вопросы кандидатов.



Накакие направления мынанимаем стажёров


Авито берёт стажёров понаправлениям Frontend, Backend, Mobile под iOS иAndroid, атакже вQuality Assurance. В2020-2021 году больше всего внимания мыпланируем уделить направлениям Backend иFrontend, так что расскажите онас заинтересованным друзьям.


Унас уже открыты несколько стажёрских позиций, нокаждый месяц будут добавляться новые. Все вакансии опубликованы наотдельной странице.


Кроме разработчиков, мыпериодически ищем стажёров-аналитиков понаправлениямBI иData Science. Оних вэтой статье мырассказывать небудем, ноактуальные позиции тоже будут появляются пообщей ссылке выше.


Условия стажировки


Сейчас мысобеседуем иадаптируем новых сотрудников удалённо. Работаем тоже издома. За2020год, несмотря накоронавирус, мынаняли 11стажёров втехнический департамент иуже перевели вштат некоторых изних. Иногда мыустраиваем встречи вофисе небольшим составом, чтобы улюдей была возможность познакомиться лично, ноосновная коммуникация происходит онлайн.



Наша стажировка будет интересна старшекурсникам инедавним выпускникам технических вузов, которые хотят прокачать свои навыки иполучить опыт работы ввысоконагруженном проекте.


Укаждого стажёра есть персональный наставник инженер Авито. Этот человек ставит задачи, помогает сихрешением, обучает новому ипринимает результат работы. Наставник всегда изтойже функции, что истажёр, тоесть если выпришли вофронтенд, вам будет помогать опытный фронтендер.


Спервого дня стажёры включены вкомандные процессы. Мыдаём боевые задачи инебоимся передавать ответственность. Сейчас сайтом иприложением Авито пользуются более 50миллионов человек каждый месяц, так что наши стажёры всегда могут справедливо похвастаться, что приложили руку кработе по-настоящему большого сервиса.


Стажировка длится отшести месяцев догода. Понашим наблюдениям, это оптимальный срок для того, чтобы разобраться винструментах, вникнуть взадачи ираскрыть свой потенциал. Стажёры работают 20часов внеделю погибкому графику работать можно иднём, ивечером, главное заранее договориться ографике сосвоим наставником.


Разработка вбольшинстве команд ведётся поScrum, поэтому есть ежедневные общие встречи для синхронизации позадачам, атакже встречи попланированию игрумингу задач, демо иретроспективы. Стажёру повозможности стоит участвовать вних, чтобы лучше адаптироваться вкоманде иглубже погрузиться впроцессы разработки.


Техническая стажировка оплачивается. Мыплатим 40000 рублей довычета налога это 34800 рублей накарту вмесяц. Устажёров других направлений размеры оплаты отличаются, поэтому уточняйте ихнасобеседовании.


Стажировка записывается втрудовую книжку, аесли стажёр переходит вштат наполный рабочий день, мызасчитываем еёзаиспытательный срок. Для того, чтобы стажёр стал штатным сотрудников, должны совпасть сразу несколько факторов: уровень знаний икомпетенций, возможность работать полный день, наличие открытой вакансии ибюджета нанового сотрудника.


Мыхотим, чтобы как можно больше стажёров становились сотрудниками Авито иделаем для этого всё возможное. Ноесли обстоятельства несовпадают, мыготовы дать рекомендацию иотзыв для будущего работодателя ибудем рады вернуться кобщению вбудущем.


Как попасть настажировку


Когда появляются вакансии для стажёров, мыпубликуем ихнаспециальном лендинге. Кандидату нужно выбрать интересующую позицию, выполнить тестовое задание изаполнить форму заявки.


Студенты 3-4 курса технических специальностей обычно справляются снашими отборочными заданиями: для них хватает базовых знаний впрограммировании иумения искать информацию. Недавним выпускникам икандидатам сдругим бэкграундом тоже можно откликаться настажировки.


Посмотреть примеры тестовых можно внашем аккаунте наГитхабе:



Мыпроверяем выполненные задания вместе синженерами иприглашаем понравившихся кандидатов наонлайн-интервью. Интервью проходит вдва этапа. Напервом мыпроверяем технические знания кандидата, задаём вопросы потеории идаём задачи. Это занимает час-полтора. Кандидатов, которые успешно проходят эту секцию, мыприглашаем наHR-интервью стимлидом, рекрутером направления икуратором стажировки. Здесь разговор будет посвящен целям иинтересам кандидата впрофессиональном развитии. Кандидатов, скоторыми мысовпадаем повзглядам иожиданиям, мыприглашаем выйти настажировку.


Минутка статистики


Мыпосчитали цифры постажировке вкоманды, которые создают продукты для частных пользователей, одного изнаборов 2019года. Среди кандидатов было много хороших начинающих специалистов, которых мынесмогли взять, так как количество вакансий ограничено, номынадеемся, что унас ещё появится возможность поработать вместе вбудущем. Также невсем стажёрам подошёл график идругие условия это стоит учитывать при подсчёте своих шансов.


  • Заявки свыполненными тестовыми заданиями: 150.
  • Собеседования: 50.
  • Выбрали стажёров втехнологические команды: 7.

Большинство стажёров изпрошлого набора уже работают вштате джуниор-разработчиками.


Что говорят стажёры опрограмме


image


Аделина Загитова, QAиbackend-стажёр, перешла вштат

Яискала хорошую подработку попрофессии, где можно набраться опыта параллельно сучёбой. Кроме Авито рассматривала Яндекс, Хоум Кредит Банк, Лабораторию Касперского, Wildberries. Выбрала Авито, потому что сомной провели отлично продуманное собеседование ипредложили самые удобные условия работы.

Стажировка дала мне много:
  • яузнала про скрам инаучилась ему;
  • поднатаскала всебе командные ценности;
  • научилась говорить осложностях, проблемах ирешать ихнеодна;
  • прокачалась втестировании, это отличный поинт для будущего разработчика;
  • узнала, что значит работать вбольшом проекте инаучилась этому;
  • больше узнала обАндроиде иего инструментах разработки теперь стало понятно, как работает большое сложное приложение;
  • стала уверенней всебе.


Ястажировалась сначала вQA, затем перешла настажировку поАндроиду. Стажировка была классной иводной, ивдругой функции. Тестирование неотъемлемая часть разработки конечного продукта, которая нужна каждому разработчику. Янемного знала отестировании, побольшей части теорию. Ноблагодаря своей наставнице смогла прокачаться вэтом напрактике, что мне сильно помогает сейчас.

Начетвёртом курсе, пока шла вторая часть моей стажировки, вуниверситете был курс поАндроиду. Втот момент мне стало интересно заниматься именно разработкой под Андроид, иколлеги поддержали меня. Так яперешла насвою вторую стажировку вАвито, при этом ятоже делала тестовое задание ипроходила собеседование. Навторой стажировке яначала прокачивать свою вовлечённость впродукт, потому что работала непосредственно сприложением Авито.

Вобщем, стажировки были абсолютно разными, иобе дали мне много всего положительного, что помогает мне сейчас как разработчику.



image


Владимир Нюхтилин, iOS-стажёр, перешёл вштат

Ясчитаю, что возможностью попасть втакую компанию как Авито, точно нужно пользоваться. Программа стажировки как раз про это.

Мне было важно получить как можно больше боевого опыта, найти осознанные ответы навопросы изразряда апочему делают именно так ичто действительно важно, ачем вреальности можно пренебречь. Безусловно, понимание устройства рабочего процесса большой компании дело неодного дня идаже месяца. Нопостепенно укаждого нового сотрудника находятся ответы натесамые вопросы, и, безусловно, этому способствует внутренняя атмосфера, которая царит вАвито.
Новичку здесь готов помочь каждый. Астажёра ещё инаставляет опытный ментор, который нетолько объясняет тонкости рабочего процесса, ноипомогает тебе развиваться как специалисту.

Помоим наблюдениям, программа стажировок отлажена на150% благодаря многим тонкостям, иона постоянно развивается, как ивсё здесь. Яполучил большой опыт вАвито ипродолжаю работать над собой, решая задачи, которые стоят вцелях моей команды. Поэтому навопрос Что именно дала мне стажировка вАвито? ябы ответил так: Возможность для отличного, если нелучшего, старта карьеры вIT.



image


Никита Васильев, backend-стажёр, перешёл вштат

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

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



image


Артём Ольков, стажёр вSecurity, перешёл вштат

Стажировка представляет большую ценность, впервую очередь для тех, кто только начинает карьерный путь вIT. Входе стажировки приобретаетсято, что нельзя получить вне реальных проектов: опыт иумение работать вкоманде.

Когда ятолько пришёл настажёрскую программу, тоожидал, что смогу поработать над интересными задачами вдружной команде, повысить уровень нетолько hard, ноиsoft skills, окунуться вжизнь крупной, высокотехнологичной компании. Нопрограмма превзошла даже мои, как ядумал, завышенные ожидания. ВАвито яосвоил новые технологии, которыми никогда непользовался, познакомился смножеством увлечённых своим делом людей исформировал для себя дальнейший вектор развития.



image


Константин Голик, frontend-стажёр, перешёл вштат

Одна изглавных проблем студента-программиста это оторванность отпромышленной разработки. Тыпишешь сложные программы, нопри этом неимеешь нималейшего понятия отом, чем будешь заниматься наработе. Вэтом, как помне, иесть вся ценность стажировки вАвито. Она позволяет плавно погрузиться вкоммерческую разработку истать частью команды. Все мои ожидания отстажировки оправдались, янабил руку насвоем стеке технологий ипонял все процессы разработки. Особенно круто, что более опытные коллеги всегда готовы помочь свозникающими вопросами.



Что говорят наставники


image


Ионов Владимир, Teamlead

Как только мы узнали остартовавшей вАвито стажёрской программе, сразу захотели взять себе вкоманду стажёра-фронтендера. Причин былодве. Во-первых, внашей команде хорошая экспертность попроведению технических интервью. Во-вторых, наш Senior Frontend разработчик хотел попробовать себя вроли наставника. И мы верили, что если он передаст хотя бы часть своего опыта стажёру завремя стажировки, то это будет очень ценное приобретение дляюнита.

Мы разработали тестовое задание, разместили его насайте и стали ждать. Уже через полторы недели унас было более 20тестовых работ отжелающих попасть настажировку. Сюрпризом стало то, что ребята выбрали разные фреймворки, поэтому назапуск, разбор и оценку выполненных проектов мы потратили больше времени, чем планировали. Уже после трёх склонированных репозиториев мы начали составлять рейтинг проектов, чтобы пригласить авторов лучших работ вофис наинтервью.

Первое же интервью показало, что мы сильно недооценили современных студентов. Кандидат оказался очень хорошо подкован теоретически и смог решить простые задачи закороткое время. Чтобы нащупать границу познаний вweb-разработке, нам пришлось дать ему несколько задач, которые мы решаем скандидатами на вакансии junior/middle. Кнашему удивлению, снекоторыми из них он справился. После этого мы пересмотрели план интервью, включив внего задачи и теоретические вопросы разной степени сложности.

По итогу шести встреч скандидатами в стажёры мы пришли квыводу, что большинство откликнувшихся навакансию имеют очень крепкие теоретические знания. Но своего стажёра мы ктому моменту уже выбрали. Он продемонстрировал очень крепкую теоретическую базу, хорошо знал браузерное API и быстро писал код. Ну и конечно же, горящие глаза выделяли его среди других. Уже навторой неделе работы вкоманде стажёр сверстал свой первый лендинг, который доступен и сейчас.

Параллельно сотбором кандидатов вофронтенд, нам предложили посмотреть iOS-стажёра, который уже прошёл все технические этапы отбора вдругой команде. Напервой же очной встрече стало ясно, что он подходит нам подуху: кандидат быстро нашёл общий язык снаставником и продемонстрировал сильное желание развиваться вразработке iOS-приложений. В итоге мы сделали ему предложение пройти стажировку внашей команде.

Забавно совпало, что стажёры вышли водин день, а внашей команде появилось сразу четыре новых роли: два стажёра и два наставника.

Сейчас, спустя полгода стажировки, стажёры выполняют продуктовые задачи вместе скомандой. Технический уровень ребят существенно вырос, а коммуникационные навыки позволяют им решать все рабочие вопросы самостоятельно, практически безпомощи наставников. Мы очень довольны своим выбором и готовим ребят квыходу вштат наполную ставку.



image


Костас Кряров, Senior Frontend Engineer

Ещё дотого, как я взял стажёра, уменя были неверные ожидания. Мне казалось, что это довольно просто надо показывать, как делать задачи. Насамом деле всё оказалось намного сложнее и интереснее. Во-первых, нужно грамотно и чётко формулировать задачи спояснениями, почему эта задача важна, чему стажёр научится, выполнив её. Во-вторых, нужно было постоянно работать смотивацией стажёра, чтобы задачи были интересными и соответствовали его уровню.

Наставничество научило меня отцовскому духу. Я очень хотел, чтобы стажёру понравилось унас в команде и компании вцелом, чтобы комфортно работалось.

Мы даём стажёрам разные задачи. Сначала довольно простые, чтобы человек пощупал наши процессы, code-review и прочее. С развитием стажёра, задачи становятся сложнее:
  1. Вёрстка лендинга снуля.
  2. Рефакторинг тестов, чтобы стажёр научился работать сjest и нашими внутренними библиотеками, связанными стестированием.
  3. Интеграция новой функциональности вReact-Redux приложение.
  4. Умоего стажёра была интересная задача наисследование рендеринга графа статусов наsvg или canvas, учитывая положение рёбер и вершин графа.



image


Артём Пескишев, Senior Mobile Engineer

Для наставника работа состажёром это отличный способ прокачать свои управленческие навыки. Если унаставника доэтого не было менеджерского опыта, то достаточно интересно оказаться по тусторону баррикад. Приходится учится тому, как правильно работать смотивацией подчинённых, спроцессом обучения и интеграции нового, как правило безопыта работы, сотрудника вкоманду и её процессы.

Впервое время я давал достаточно простые гигиенические задачи, и не ограничивал стажёра повремени. Как правило, это были баги, которые позволяли новому сотруднику поковыряться впроекте, изучить разные модули, понять, как устроен код и как сним работать.

Потом я дал более интересную задачу встроить интерактивную заглушку дляаватарки наэкране контактных данных. Она позволила стажёру познакомится с механизмом А/Б тестирования и научится тому, как создавать новые модули, закрывать свой код фича тоглами. Стажёр витоге разработал фичу, которой пользуются тысячи людей насайте и которую он может показать друзьям, использующим Авито. Когда я увидел, что задачи решаются вустановленные сроки, стал давать те, что напрямую влияют нацели компании, например, редизайн экранов размещения объявления.

Мой стажёр быстро вник впроект, и спустя пару месяцев уже был полноценным участником команды, который работал надзадачами наравне совсеми, планировал свою работу и выполнял её взаданные сроки.



Вместо вывода


Если увас остались вопросы потехническим стажировкам вАвито задавайте ихвкомментариях кстатье.

Подробнее..

Music2Dance как мы пытались научиться танцевать

19.05.2021 08:16:04 | Автор: admin

Всем привет! Меня зовут Владислав Мосин, я учусь на 4-м курсе бакалаврской программы Прикладная математика и информатика в Питерской Вышке. Прошлым летом вместе с Алиной Плешковой, магистранткой нашего факультета, я проходил стажировку в JetBrains Research. Мы работали над проектом Music2Dance, цель которого научиться генерировать танцевальные движения, подходящие под заданную музыку. Это может быть использовано, например, при самостоятельном обучении танцам: услышал музыку, запустил приложение, и оно показало движения, которые гармонично с этой музыкой сочетаются.

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

Из к/ф Криминальное чтивоИз к/ф Криминальное чтиво

Существующие подходы

Идея генерации танца по музыке довольно стара. Наверное, самый яркий пример это танцевальные симуляторы типа Dance Dance Revolution, где игрок должен наступать на светящиеся в такт музыке панели на полу, и таким образом создается некоторое подобие танца. Также красивый результат в этой области это создание танцующих геометрических фигур или 2D-человечков.

Cуществуют и более серьезные работы генерация 3D-движений для людей. Большинство таких подходов основываются исключительно на глубоком обучении. Лучшие результаты на лето 2020 года показывала архитектура DanceNet, и мы решили взять именно её в качестве бейзлайна. Дальше мы обсудим их подход подробнее.

Предобработка данных

В задаче генерации танца по музыке присутствуют два типа данных: музыка и видео, и оба нужно предобрабатывать, так как модели не умеют работать с сырыми данными. Поговорим про обработку каждого типа немного подробнее.

Музыка: onset, beats, chroma

Наверное, самый распространенный способ извлечение фичей из аудио это подсчет спектрограммы или мелграммы преобразование звука из амплитудного домена в частотный при помощи преобразования Фурье. Однако, в нашей задаче мы работаем с музыкой, а не произвольным аудиосигналом, и низкоуровневый анализ в данном случае не подходит. Нас интересуют ритм и мелодия, поэтому мы будем извлекать onset, beats и chroma (начало ноты, ритм и настроение мелодии).

Видео: извлечение позы человека

Тут все намного интереснее. Примитивный подход по видео с танцующими людьми попытаться предсказать следующий кадр обречен на провал. Например, один и тот же танец, снятый с разных дистанций, будет интерпретироваться по-разному. К тому же, размерность кадра даже маленького разрешения (например, 240x240) превышает несколько десятков тысяч пикселей.

Чтобы обойти эти проблемы, используют извлечение позы человека из видео. Поза задается некоторым количеством физиологически ключевых точек тела, по которым можно восстановить ее целиком. К таким точкам относятся, например, голова и таз, локти и колени, ступни и кисти.

Синим отмечены ключевые точкиСиним отмечены ключевые точки

Этот метод позволяет уменьшить размерность входных данных (ведь теперь вместо кадра с несколькими десятками тысяч параметров входом выступает низкоразмерный вектор), а также позволяет больше сконцентрироваться на движениях.

Важной особенностью этого метода является способ хранения положений ключевых точек. Например, если хранить просто абсолютные положения в 3D-пространстве, то возникает проблема нефиксированной длины костей: расстояние между голенью и коленом или плечом и локтем может изменяться от кадра к кадру, что не является ожидаемым поведением. Для избежания таких проблем фиксируется положение одной точки человека, а именно середины таза, а положение всех остальных задается через длину кости и угол поворота относительно предыдущей точки. Поясню на примере: положение кисти задается через длину лучевой кости, а также поворот относительно локтя.

Архитектура DanceNet

Архитектура DanceNet. Источник: https://arxiv.org/abs/2002.03761Архитектура DanceNet. Источник: https://arxiv.org/abs/2002.03761

Архитектура DanceNet cocтоит из нескольких основных частей:

  • Кодирование музыки;

  • Классификация музыки по стилю;

  • Кодирование кадров видео;

  • Предсказание следующего кадра по предыдущим и музыке;

  • Декодирование полученного кадра.

Рассмотрим немного подробнее каждую из частей:

  1. Кодирование музыки. Предобратанный аудиосигнал кодируется при помощи сверточной нейросети с Bi-LSTM слоем.

  2. Классификация музыки по стилю. Аналогично предыдущему пункту, сверточная нейросеть с Bi-LSTM слоем.

  3. Кодирование-декодирование кадра. Маленькая двухслойная сверточная сеть.

  4. Предсказание следующего кадра. Самая содержательная часть архитектуры, которая собственно и предсказывает следующую позу по предыдущим и музыке. Состоит из блоков из dilated (расширенных) сверток со скип-соединениями.

На вход DanceNet принимает музыку и набор поз, а вот выдает не просто позу, а параметризацию нормального распределения математическое ожидание и дисперсию, из которого и сэмплируется ответ, а качестве функции потерь используется минус вероятность правильного положения.

Наше решение

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

Архитектура решения. Эпоха тренировкиАрхитектура решения. Эпоха тренировки

Наше решение состоит из четырех основных частей:

  • Датасет

  • Модель для предсказания следующего положения (DanceNet)

  • Модель для исправления следующего положения положения (RL модель)

  • Функция потерь

Датасет

Одним из главных вопросов при решении задач машинного обучения является выбор датасета. Для задачи генерации танца на лето 2020 года не было открытых датасетов хорошего качества, и авторы существующих решений собирали их самостоятельно. В статье, взятой нами за бейзлайн, серьезно подошли к вопросу данных и отсняли несколько часов танцев профессионалов. К сожалению, на просьбы поделиться датасетом исключительно на благо науки они ответили отказом. Так как без датасета жить совсем грустно, пришлось что-то придумывать. В итоге мы решили создать датасет из того, что нашлось под рукой: видео с YouTube и библиотеки для детектирования положения человека VIBE.

DanceNet

В своем решении мы использовали оригинальную модель из статьи с одним небольшим изменением мы убрали классификацию музыки, так как во-первых, нашей целью была генерация танца по любой музыке, а во-вторых, собранные данные не содержали разметки и были весьма разнообразны в музыкальном плане.

RL модель

Задача RL модели исправить положение тела так, чтобы оно выглядело более реалистичным. На вход модель принимает движение (для каждой точки разность между новым и старым положениями) и старое положение тела, на выход выдает исправленное новое положение.

Рассмотрим модель в деталях. Обучение с подкреплением состоит из двух основных частей: алгоритм обучения и среда.

Структура алгоритмов обучения с подкреплениемСтруктура алгоритмов обучения с подкреплением

В качестве алгоритмов обучения с подкреплением мы решили выбрать один алгоритм, использующий Q-Learning (наш выбор пал на TD3, как на наиболее стабильный и выразительный) и один не использующий (мы остановились на PPO).

Со средой всё оказалось не так просто, как с алгоритмами. По-хорошему, для этой задачи не существует идеально подходящей готовой среды, и ее нужно реализовывать самостоятельно. Однако писать среду, которая будет полностью корректна с точки зрения физики, довольно сложное и долгое занятие, требующее дополнительных знаний. В связи с этим мы решили воспользоваться готовой средой Humanoid, которая предназначена для того, чтобы научить агента передвигаться как можно быстрее и не падать.

Функция потерь

Главной задачей функции потерь является учитывание как награды среды, которая не позволяет принимать нереалистичные положения, так и соответствие положению из датасета.

L(S, S_{real},R)=-\parallel S-S{real} \parallel_2-R ,

где S положение, Sreal правильное положение, R награда среды.

Модель на фазе тестирования

Архитектура решения. Эпоха тестированияАрхитектура решения. Эпоха тестирования

На фазе обучения модель предсказывала следующее положение тела по предыдущим и музыке, однако, на фазе тестирования на вход модели поступает только музыка, а предыдущих положений нет. Чтобы это не стало проблемой, мы ко всем танцам добавили несколько секунд устойчивого неподвижного положения в начале. Теперь на эпохе тестирования мы можем инициализировать предыдущие положения этим самым неподвижным устойчивым равновесием и предсказывать следующее уже на основе музыки.

Результаты

К сожалению, у нас не получилось впечатляющих результатов, таких как у авторов DanceNet. Наш агент научился генерировать некоторые танцевальные движения, например, вращение вокруг своей оси и плавные движения руками, однако, в полноценный танец они не складываются. Мы связываем это в первую очередь с разницей в качествах датасетов. К сожалению, нам не удалось собрать действительно качественные данные автоматическое извлечение положения из видео с YouTube существенно отличается по качеству в худшую сторону от ручной съемки профессиональных танцоров, и компенсировать это RL алгоритм не сумел.

Наш грустный танец. Спасибо за ваш интерес!


Другие материалы из нашего блога о стажировках:


Подробнее..

Стажировка в Southbridge набор в июне

09.06.2021 10:16:43 | Автор: admin

image


В мае мы запустили DevOps-стажировку в Southbridge для начинающих инженеров. Как проходит стажировка для первого потока, мы уже рассказывали. Сейчас начался второй поток, и мы ведем набор на третий. Подробности о стажировке под катом.


Кого приглашаем


Ищем начинающих инженеров, которым интересна сфера DevOps. Важно знать Linux на уровне администрирования. Отлично, если есть опыт написания скриптов на Bash, Python. Но это не обязательно.


Ждем тех, кто хочет не только получить технические навыки, но и развить софт-скилы: работу в команде, коммуникабельность, навык самообразования.


О программе


Стажировка проходит удалённо, занимает примерно 4-5 часов в день, которые можно выделить тогда, когда удобно. Проводим общие встречи в Zoom с наставниками и скрам-мастером, командные встречи.


Программа рассчитана на три месяца.
Что изучаем и с чем работаем на стажировке: Git, Docker, Kubernetes, мониторинг и логирование в Kubernetes, CI/CD и не только. Проходим курсы и сертификации в Слёрме.


Подробная программа

Этап 1 (2 недели)


а) самостоятельное изучение необходимого стека технологий для работы с веб-проектами,


б) выполнение проверочной работы.


Этап 2 (1 неделя)


а) прохождение видеокурса по Git,


б) прохождение видеокурса Docker: from zero to hero,


в) сдача сертификации.


Этап 3 (1 неделя + 5 дней практикум)


Задачи:


а) прохождение курса Kubernetes: База,


б) сдача сертификации,


б) выполнение практикума,


в) работа в команде.


Этап 4 (1 неделя)


Задачи:


а) прохождение курса Мониторинг и логирование в Kubernetes,


б) сдача сертификации.


Этап 5 (2 недели)


Задачи:


а) прохождение курса DevOps: Tools & Cheats,


б) выполнение практической работы из интенсива на выделенном стенде,


в) прохождение видеокурса CI/CD.


Важно: список тем может быть изменен для следующих потоков.


Каждый этап программы стажировки включает в себя сертификацию или практическую работу. При успешном выполнении контрольных и проверочных работ стажёр допускается до следующего этапа программы.


Старт третьего потока стажировки в середине июня. Резюме и ваши вопросы присылайте на почту job@southbridge.ru.

Подробнее..

Cобеседование на позицию стажера в Яндекс на аналитика данных

08.03.2021 16:15:18 | Автор: admin

Всем привет! Целью данного поста является:

  1. Поделиться личным опытом.

  2. Помочь другим кандидатам при подготовке к собеседованию в Яндекс

Часть 1. Подача заявки и Я.Контест

После прохождения десятка курсов на степике, я понял, что хочется применить этот опыт где-то и решил подать заявку на стажировку в Яндекс на позицию стажёра по направлению "Аналитик данных". Зашёл на сайт, заполнил анкету, через час получил ссылку на тестовое задание в Яндекс Контест. Увидел, что даётся 6 часов на решение задач и принял решение выделить утро субботы на прохождение теста.

Тест оказался не очень сложным, было 6 задач. 2 из них на математическую статистику (задачи A и B), 2 стандартные задачи на Питоне (C и D), 1 задача на базовые знание библиотеки Pandas (E) и задача на логику и аналитическое мышление.С последними двумя задачами я справился за полчаса, с первой задачей по матстату ещё минут за 10, на вторую задачу было потрачено 20 минут, и осталось целых 5 часов на 2 задачи на питоне. На каждую я потратил минут по 30, но в одной задаче не прошёл несколько тестов (скорее всего, условие мною было проинтерпретировано неверно), а в другой выдавал memory limit. В итоге, оптимизировать код и дорешать задачи до конца не вышло. Ещё раз проверил 4 прошлые задачи и отправил решения.На следующий день мне приходит письмо счастья от рекрутера о том, что со мной готовы провести техническое интервью и предложили выбрать время, также предупредили, что оно займёт около часа.

Часть 2. Первое интервью

Интересный момент, что получилось провести интервью только через неделю, тк то у меня не получалось, то интервьюера.Мы созвонились в зуме, он представился, сказал, что возглавляет отдел аналитики Яндекс.Маркета, начал общение сразу на "ты", позднее мне рекрутер сказал, что в Яндексе так принято. Интервьюер, назовём его Сергей, рассказал как будет устроено интервью: 10 минут я должен рассказать о себе, потом ТЗ (задача на питоне) и задачи на теорвер.Я вкратце рассказал о себе, своем проекте про алгоритмы кластеризации, которым я занимаюсь в институте. Он позадавал пару стандартных вопросов из разряда: "Почему Яндекс?", "Какие качества мне стоит развивать?", "Что было моим успехом?" .Далее была ТЗ: вывести список уникальных слов, считываемых из файла. Я код написал, в целом, ему важна была идея и знания синтаксиса. Всё подводные камни я разгадал у этой задачи, но не сразу. Вот сами камни:

  1. Если файл пустой

  2. Английский и русский язык (что будет?)

  3. Отделение знаков препинания

  4. Первые слова в предложении

Сергей сказал (в конце интервью), что я с задачей справился и что были ребята, которые не до всех пунктов могли додуматься(я был польщён).Далее были задачи по теорверу:

  1. Бросаем монетку 10 раз. Какова вероятность, что выпадет 10 орлов? [(1/2)^10]

  2. Бросаем монетку 10 раз. Какова вероятность, что выпадет 9 орлов? [10*(1/2)^10]

  3. В ящике есть 4 вида носков. Носков бесконечно много. Сколько нужно изьятий, чтобы получить пару? [5]

Далее, задача на математику: "У Аркадия много жён. У него есть коллекция кактусов, которые он решил раздать всем жёнам. Первой жёне отдал 1000 кактусов и 10% от остатка. Второй жене 2000 кактусов и 10% от остатка. И так далее Каждая жена получила поровну. Сколько жён у Аркадия?Ход решения я тоже рассказал. Чтобы не ждать, пока я посчитаю, он мне сказал, сколько всего было кактусов и я дал ответ. [81000 всего кактусов, 9000 каждой жене]. Последней была задачка на проверку аналитических способностей:20 детям в детском садике задали вопрос: живут ли их родители вместе? На что 2 ребёнка ответили, что не живут. На следующий день в местной газете выходит статья с заголовком: "10% семей в нашем городе в разводе". Почему данное утверждение неверно? Всего есть 6 ключевых пунктов, до 2х последних я, к сожалению, не додумался:

  1. Дети могут быть из одной семьи

  2. Разный возраст детей, и, соответственно, разные группы, то-то более осознанный, кто-то ещё не понимает вопроса.

  3. Месторасположение садика, может выборка была только в благополучном/неблагополучном районе.

  4. У ребёнка может быть один родитель или у ребёнка может быть мачеха/отчим, отсюда неверные результаты.

  5. Дети врут.

  6. Есть семьи, где дети не ходят в садик.

После этой задачи Сергей рассказал мне как я в целом отвечал и рассказал, чем занимается отдел аналитики.У них есть 2 типа задач:

  1. Визуализация данных, представление менеджерам отчётов, в частности, работа в Tableau, то есть создание дашбордов.

  2. Прогонка данных из одного сервиса в другой

Я позадавал вопросы и Сергей сказал, что назначит через рекрутера ещё одно интервью, где мне подробнее расскажут про задачи.

После интервью создалось приятное впечатление о интервьюере и о возможных задачах и в целом от общения.

Часть 3. Второе интервью

Через неделю мне назначили ещё одно интервью, где уже был Сергей и девушка из отдела планирования Яндекс Маркета, назовём ещё Светлана.Светлана представилась, рассказала чем занимается их отдел, как он связан с отделом аналитики, наговорила кучу умных слов (мне, как студенту 3го курса МФТИ, не вся информация была понятна и как человеку, который никогда не сталкивался с подобными вещами), от которых я остался под впечатлением. Далее, Светлана спросила, как я понял задачи, про которые мне рассказал Сергей. В целом, я рассказал очень кратко, тк получил мало информации на первом интервью. Потом, она задавала классические для интервью вопросы: "Какая у тебя суперспособность?", "Как ты определяешь приоритет задач?", "Сколько времени я смогу уделять стажировке?" спросила ещё, собираюсь ли я в магистратуру(видимо, для того, чтобы понять, может ли компания в дальнейшем на меня рассчитывать), но не идти туда я не могу, тк там военная кафедра. Спросила ещё какие языки программирования я знаю, я сказал, что Python. Меня спросили про sql, но на тот момент я его не знал (после интервью сразу пошёл осваивать, не повторяйте моих ошибок). После этого Сергей дал ещё 2 задачки на аналитику, даже скорее на продуктовую аналитику, здесь было немного тяжело, потому что продуктовой аналитики нас не учили и я отвечал исходя из логических соображений. 1ая задача:"Кто является конкурентом у Яндекс Маркета?". Я назвал только 3/4 основных пунктов - онлайн магазины(dns, ozon, wb, перекрёсток, авито и тд по списку) и офлайн магазины (любой ларёк является также конкурентом) и реклама на сайтах. До чего я не догадался, так это до социальных сетей, тк сейчас это направление растёт и там уже довольно много покупок/продаж.Вторая задача была аналогичной, только вопрос был про Яндекс.Бразуер. Дополнительным был вопрос о том, какую метрику используют в Яндекс Браузере. Я подумал, что количество кликов на рекламу, но позже сообразил (с подсказкой), что это время, проведённое пользователем в браузере.Далее, меня спросили, чем бы я хотел заниматься из возможных задач. Я сказал, что визуализацией дашбордов в Tableau, ещё задали пару простеньких вопросов на аналитику. После этого интервью закончилось и Сергей сказал, что дальнейшую информацию передаст через рекрутера.

Часть 4. Решение

На следующий день от рекрутера приходит письмо:

"К сожалению, твоих навыков пока не достаточно и команда не готова тебя брать. На данный момент я не могу тебе ничего предложить, но мы будем рады если ты вернешься к нам позже.По рекомендациям: хорошо бы прокачать sql, питон, продуктовую аналитику".

Конечно же, я расстроился, потому что казалось, что на тот момент для предложенной мне задачи моих навыков хватало, но увы.

Часть 5. Заключение

Пройдусь по каждому пункту.

1) Задачи на Яндекс Контесте - 9/10

Несложные, интересные задачи, но непонятен момент с проверкой некоторых задач на оптимальность кода. Действительно ли аналитик должен придумывать самый оптимальный по времени и памяти код или аналитик нужен для других целей?

2) Общение с рекрутером - 10/10

Рекрутер довольно развернуто и оперативно отвечал на все вопросы по почте, после 1го интервью сразу перешел в телеграм для удобства

3) Первое интервью - 10/10

Первое интервью мне очень понравилось. Задачи, подсказки от Сергея, лёгкое и приятное общение.

4) Второе интервью - 5/10

Было слишком много стандартных вопросов, словесная нагрузка в начале интервью от Светланы. Считаю, что можно было кратко и менее нагружено представиться и рассказать, чем занимается отдел. Непростые вопросы на аналитику, сейчас поясню. Должен ли человек, который подаёт на позицию стажёра "Аналитик данных" знать продуктовую аналитику? Наверное, да. Должен ли человек до приглашения на работу вникнуть во все тонкости процесса, не будучи знакомым с ним изнутри? Наверное, нет.

5) Выводы

К сожалению, я получил только фидбек, только написанный в части 4. Проанализировав 2 интервью, я сделал вывод о том, что нужно подтянуть sql. Насчёт продуктовой аналитики я не знаю, в каждой компании свои процессы и заранее вникать в особенности ее работы, наверное, тяжело и затратно по времени. Я согласен, что если ты работаешь уже внутри, то ты обязан знать все подробности, но до этого - вряд ли.

Попробую ли я ещё раз? Думаю, да. Через полгода, может раньше. Несмотря на отказ. Мне нравятся сервисы, которые делает компания и я активно ими пользуюсь. Поэтому было бы интересно поучаствовать в их улучшении.

Буду рад, если этот пост поможет кому-то подготовиться и попасть в Яндекс.

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

Подробнее..

Робопрактика в режиме онлайн для мобильных разработчиков в red_mad_robot

12.03.2021 10:04:49 | Автор: admin

Салют мобильным! Роботы открывают весеннюю робопрактику для iOS- и Android-разработчиков. Проходить всё будет в онлайне, а стартуем уже в апреле. Познакомим с проектными бизнес-процессами и внутренней кухней компании, активируем режим Turbo Boost и погрузимся в мир разработки. Лучших практикантов пригласим к себе в команду.

Что будет

Робопрактика продлится 9 недель. Обещаем дружную команду и постоянную прокачку: мы с удовольствием поделимся своим опытом и знаниями. Робопрактику проведут лучшие технические специалисты red_mad_robot: Артем Кулаков, Осип Фаткуллин, Сергей Иванов, Даниил Субботин, Антон Глезман modestman, Алексей Тюрнин и другие. Ты всегда сможешь подёргать за рукав опытных разработчиков и получить ответ на все вопросы.

Кого мы ждём

Мы точно сработаемся, если ты уже имеешь опыт мобильной разработки и хочешь разложить свои знания по полочкам. Мы поможем тебе определиться с тем, как и куда расти дальше. Робопрактика предполагает неполную занятость два-три раза в неделю по два часа: с 18:30 до 20:30 по МСК.

Что предстоит изучить

Робопркатика состоит из лекций и семинаров. Чтобы сосредоточиться на самом важном, разделим практикантов на две рабочие группы: iOS и Android. Дадим сложные и интересные домашние задания и организуем занятия на Swift/Kotlin один-два раза в неделю с 18:30 до 20:30 по МСК. А ещё практиканты будут работать над проектом, который мы подготовили специально для них!

Проектирование:

  • MVC, MVP, MVVM в iOS и Android-приложениях;

  • уместное и правильное применение шаблонов проектирования;

  • разработка по принципам повторного использования;

  • поддержка кодовой базы в чистоте и актуальном состоянии после каждого WWDC и Google I/O;

  • Android Architecture Components.

Многопоточность:

  • работа с Kotlin Coroutines в Android;

  • от NSOperation до OSAtomic и POSIX в iOS.

Безопасность:

  • модель угроз: как уберечь доверчивых пользователей от них самих;

  • защита соединения между клиентом и сервером;

  • хорошие практики шифрования и хранения данных на устройстве;

  • OWASP Mobile Top-10;

  • root на Android, как с этим жить и писать безопасные приложения.

UI:

  • как стать UI-джедаем и AutoLayout-ниндзя;

  • утилиты, которые мы написали, чтобы облегчить себе работу.

Автоматизация сборки:

  • как работает сборка в Xcode: таргеты, схемы, конфигурации и воркспейсы;

  • автоматизация с помощью Fastlane.

Клиент-серверные взаимодействия:

  • устройство баз данных и как это нас касается;

  • REST, проектирование хороших API;

  • эффективное взаимодействие с inhouse-командой backend.

Коммуникация в производстве:

  • как общаться с BA, DES, QA и не сойти с ума;

  • бизнес-процессы вне разработки: тест-кейсы, нарезка и прочие точки контакта.

Как записаться

Открыто двадцать мест по десять на каждую практику. Лучшие практиканты, а может и сразу все двадцать, устроятся на постоянную работу в московский офис red_mad_robot.

Ждём заявок до 18 марта 2021 года. Результаты прохождения заданий вышлем в ответном письме. Подключайся!

Хочу на iOS

Хочу на Android

Если не успел подать заявку

Не беда. Разработчиков с опытом мы приглашаем на собеседование, а начинающих приглашаем на робопрактику в следующем году. Если есть вопросы, пиши на school@redmadrobot.com обо всём расскажем.

Подробнее..

Типичные ошибки в тестовых заданиях стажёров-исследователей

20.11.2020 10:22:07 | Автор: admin

Привет, меня зовут Ксения, яисследователь вUXlab Авито. Некоторое время назад мызапустили стажёрскую программу сразу внесколько направлений: искали продуктовых дизайнеров идизайнеров коммуникаций, редакторов иисследователей.


Проверив 58тестовых заданий наисследовательский трек, язаметила ряд ошибок, которые встречались умногих ребят. Вэтой статье разберу основные, чтобы стажёрам было проще пройти отбор вследующий раз.



Кого мыискали


UX-лаборатория Авито помогает продуктовым командам проверять гипотезы, используя качественные методы исследований. Восновном это интервью июзабилити-тесты. Чтобы помочь бизнесу хорошими качественными данными, важно разбираться влюдях ипонимать, как проводятся исследования.


Нужно знать, как подобрать метод подзадачу, сформулировать гипотезы исформировать выборку. Понимать, как задавать вопросы, чтобы неполучить искажённые данныеи, конечноже, как врезультате сделать корректные прикладные выводы.


Будущих стажёров-исследователей мыпланировали прикрепить копытному наставнику, который поможет импогрузиться внюансы профессии ибудет постепенно передавать всё более сложные проекты.


Чтобы это случилось быстрее, мыискали вкоманду человека, вкотором сошлисьбы три основных фактора:


  1. Есть база: психологическое или социологическое образование либо релевантный опыт работы.
  2. Есть мотивация, которая понятна потестовому заданию иопыту. Мыпредполагали, что если человек действительно увлечён профессией, тоонуже пробовал применить свои навыки.
  3. Есть навыки проведения исследований.

Насобеседование мыпригласили шестерых ребят, чьи резюме, тестовые задания исовокупный опыт подошли нам больше всех. Давайте посмотрим, какие недочёты ввыполнении заданий помешали остальным пройти первичный отбор.


Тестовое задание


Внашем тестовом было два задания дляпроверки навыков. Впервом требовалось подготовить ипровести юзабилити-тестирование новой функции пооценке стоимости авто спробегом. Второе задание было сложнее: внём нужно было нетолько узнать, как сделать сториз наАвито лучше, ноисамостоятельно выбрать метод исследования.


Наше тестовое задание
Задание1.

Мызапустили новую функцию оценку стоимости авто спробегом. Благодаря оценкам покупатели могут быстрее заметить выгодные предложения.

Алгоритмы анализируют тысячи похожих автомобилей стакимиже параметрами ипоказывают отклонение отсредней цены. Если цена соответствует рыночной, покупатели видят вобъявлениях отметку Хорошая цена, аесли стоимость ниже рынка, товидят Отличную цену.

После запуска мыхотим провести тестирование, которое ответит навопросы:
  1. Замечаютли покупатели оценки?
  2. Помогаютли они выбрать автомобиль, упрощаютли процесс поиска?
  3. Как покупатели понимают, что это заотметка, что непонятно вновой функции, какой информации нехватает?


Проведите юзабилити-тест функции:
  1. Подготовьте дизайн исследования: опишите цели, задачи иаудиторию, сформулируйте гипотезы, составьте сценарий тестирования.
  2. Проведите исследование сучастием хотябы двух респондентов.
  3. Сформулируйте выводы, попробуйте ответить навопросы исследования.


Задание2.

Вприложениях продолжается бум историй. Они появились вSnapchat, атеперь захватили приложения банков имаркетплейсов. Кажется, что причины популярности этого формата вполне очевидны: красочный иразнообразный контент, визуальная подача навесь экран истории просто иинтересно просматривать.

Мыдобавили истории наАвито. Чтобы сделать ихмаксимально полезными, нужно исследование, которое ответит навопросы:
  1. Какие задачи пользователи решают, просматривая истории вдругих приложениях?
  2. Как люди используют истории вне социальных приложений?
  3. Начём стоит сфокусироваться при создании историй вАвито?
  4. Что важно учесть при создании этого продукта?


Вам нужно:
  1. Подготовить дизайн исследования, которое поможет ответить навопросы выше: описать цели, задачи иаудиторию, сформулировать гипотезы, составить сценарий.
  2. Провести исследование, сформулировать выводы иответы навопросы.


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


Неверный выбор метода исследования


Отвечая напервое задание, некоторые ребята вместо юзабилити-теста провели опрос, непояснив при этом свой выбор. Намже было важно понять, как кандидаты ориентируются вметодах, понимаютли ихограничения ибудутли гуглить метод, если незнают, как его использовать. Помассовости выбора опроса вместо юзабилити-тестирования показалось, что многие просто незнали, что это такое, либо невнимательно читали задание.


Для решения второго задания состориз кандидаты выбирали:


  • Опрос, что слишком рано для нового продукта инеподходит под вопросы кисследованию.
  • Фокус-группу, нонеописывали разные сегменты пользователей, которых следовало нанеё позвать.
  • Интервью безюзабилити.

Нопоскольку взадаче речь идёт онедавно запущенном продукте инужно ответить навопросы озадачах иопыте пользователей вдругих приложениях, тодля начала важно изучить пользовательский контекст. Стоит проанализировать паттерны просмотра людьми сториз вдругих приложениях иузнать ихмнения относительно сториз. Хорошим вариантом проверки может быть комбинация интервью июзабилити. Уместны также фокус-группы сразными сегментами пользователей это особенно хорошо для того, чтобы относительно быстро погрузиться впроблематику продукта. Также можно использовать метод дневников, если мыпонимаем, что хотим поймать рефлексию человека попросмотру сториз вмоменте.


Отсутствие гипотез или неверные формулировки гипотез


Сгипотезами был целый набор проблем.


Нет гипотез. Наюзабилити-тесте они обязательно должны быть, иначе есть риск непроверить важные моменты ипосле проведения исследования обнаружить, что нужны дополнительные итерации. Ктомуже, гипотезы здесь нужны для того, чтобы правильно выбрать исформулировать задания натест. Например, понять, уместныли будут закрытые задания илиже задания сопорой наопыт респондента.


Недостаточное количество гипотез. Когда мыпланируем юзабилити-тест, важно продумать все гипотезы, которые нужно проверить винтерфейсе икоторые помогут ответить навопросы исследования. Взадании соценкой стоимости авто точно нужны были гипотезы озаметности оценок, ихпонимании, нехватке или достаточности информации. Часто ребята опускали один или два пункта.


Слишком общие формулировки гипотез. Если гипотезы сформулированы недостаточно конкретно, становится сложнее проверить ихвисследовании.


Примеры таких гипотез: пользователь проявит больший интерес ксервису, если будет просматривать истории или истории наиболее эффективный способ подачи материала, позволяющий расширить охват иповысить активность аудитории.


Налюбую или почти любую гипотезу вкачественном исследовании мыможем ответить да или нет, авколичественном чётко понимаем, как это измерить. Сформулировками выше нельзя сделать нито, нидругое, так как непонятно, что значит проявит интерес ичто значит больший. Больший, чем что?


Вторая гипотеза впримере грешит ещё итем, что сформулирована нечётко. Изнеё непонятно, оподаче какого материала речь.


Несколько гипотез водной. Важно, чтобы гипотеза была сформулирована ввиде одной законченной мысли. Тогда будет легко однозначно ответить, верна она или нет. Кроме того, всоставе сложной гипотезы могут оказаться предположения, которые нужно проверять разными методами.


Пример такой гипотезы: пользователь доверяет оценке сервиса поцене автомобиля, иэто приведёт кцелевому действию. Кстати, здесь тоже нехватает конкретики лучше уточнить, что мысчитаем целевым действием вданном случае.


Гипотезу нельзя проверить качественными методами. Впредыдущем примере соценкой есть ещё один недочёт наюзабилити-тесте мыникак неузнаем, приведёт наша фича кцелевому действию или нет. Тут стоит быть внимательнее иневыносить накачественное исследование предположения, которые нужно проверять наданных илиже вколичественном опросе.


Ещё пример гипотезы сподобной проблемой: есть положительная зависимость между уровнем знания (восприятия) функции ирешением опокупке автомобиля.


Такое предположение можно проверить только спомощью опроса или эксперимента, даитоскорее несвязь между знанием офункции ипокупкой авто, асвязь между наличием метки наобъявлении иколичеством просмотров/контактов понему. Проверить эту гипотезу юзабилити-тестом, как просит первое задание втестовом, неполучится. Кроме того стоит помнить, что влаборатории мынеузнаем офактическом решении пользователя купить машину.


Гипотезы, которые ненужно проверять, или самоочевидные. Встречались вответах кандидатов формулировки гипотез, которые ненуждаются впроверке, потому что это факты изразряда, что если нагреть воду, тоона будет горячей.


Например, пользователь будет просматривать истории, если они будут содержать релевантный интересам пользователя контент. Конечно, люди будут смотреть развлекательный контент, который иминтересен, это понятно ибез исследования. Нодаже еслибы мывынесли такую гипотезу наинтервью или тест, точто потом сэтой информацией делать? Здесь былибы уместны гипотезы отом, что именно может быть интересно конкретному сегменту аудитории.


Другой пример такой гипотезы аудитория необращает внимания наотметки ибудет выбирать автомобиль подругим показателям. Понятно, что навыбор машины влияет множество факторов. Нашаже задача висследовании более конкретна понять, добавляетли новая функция ценность для пользователя вего задаче поиска авто.


Утверждения оработе продукта вместо гипотез. Некоторые ребята выносили наисследование утверждения, которые нельзя назвать гипотезами, потому что они описывают работу фичи или сервиса. Вэтом они похожи нагипотезы изпредыдущего пункта, новсёже хочется привести отдельные примеры издесь.


Например, такая: истории заменяют новостной формат, рассказывая оновостях приложения, функциях, актуальных товарах. Нам надо это знать, иэто может небыть очевидным доисследования, ноподобные утверждения непредмет разговора спользователями. Задача исследователя достарта проекта разобраться вработе продукта, анатест вынести предположения овзаимодействии клиентов ссервисом.


Бесполезные гипотезы. Взаданиях встречались гипотезы, оторванные отреалий изадач бизнеса. Такие предположения нет смысла проверять, потому что они непомогут развитию продукта. Можно легко придумать много таких гипотез, незная внутреннюю кухню компании. Но, если взять например, такую гипотезу: сториз вАвито теряются нафоне сториз вдругих сервисах, тостановится понятно, что:


  • она сформулирована так, что неочевидно, как еёпроверить;
  • поскольку Авито несоциальная сеть, товрядли убизнеса будет задача сделать лучшие вмире сториз.

Некорректное формирование выборки


Поформированию выборки для первого задания сюзабилити-тестированием оценки стоимости авто ключевая проблема описание еёсоциально-демографическими критериями, таким как пол или возраст. Часть ребят понимали, что нужны характеристики, связанные савтомобилями, ноитут могли промахнуться. Многие выбирали респондентов, укоторых есть права или авто, или опыт покупки автомобиля впрошлом.


Вэтих критериях самих посебе нет проблем, они могут быть дополнительными. Ноглавное для формирования выборки впервом задании опыт респондента виспользовании Авито иего текущая потребность впокупке авто.


Когда мытестируем что-то новое всервисе, стоит посмотреть висследовании как наего опытных пользователей, так инапользователей-новичков. Это гигиеническое правило. Вслучае Авито опытный пользователь это тот, кто недавно искал авто нанашей площадке. Неопытный тот, кто искал машину надругих сайтах или наАвито более полугода назад. Проблемы, потребности инепонимания уэтих двух групп могут быть разными. Например, уопытного пользователя может быть больше запрос кдетальности иподробности информации, втовремя как новичку будет сложно разобраться вмногообразии функций незнакомого сервиса.


Что касается потребности впокупке, тодля задания неподходят просто собственники автомобилей илите, кто покупал ихвпрошлом. Это важно, потому что юзабилити-тест неигра заметит оценку или нет инепопытка узнать, что про неё думает случайный человек. Нужно, чтобы инсайты отом, упрощаютли отметки процесс поиска икакой информации вних нехватает, были получены отлюдей, которые заинтересованы впокупке машины прямо сейчас. Такие пользователи точно знают имогут рассказать ипоказать нам, как еёищут иначто обращают внимание.


Ошибки всценарии исследования


Самая обидная ошибка впервом задании попытка загнать респондента врамки. Многие кандидаты давали закрытую задачу попоиску авто: просили найти конкретную марку сконкретными параметрами или даже ограничивали бюджет покупки. Однако втестовом задании нет гипотез, которые стоило проверять именно так.


Желательно делать все задания висследовании максимально приближенными креальной жизни респондента. Даже если проверяемые гипотезы очень конкретны икасаются определённых элементов интерфейса, толучше сначала дать человеку возможность показать, что онищет для себя икак это делает. Пока онбудет это показывать, мыпоймём его контекст, отметим для себя, что для него важно, ивчастности обратитли онсам внимание нанаши оценки стоимости авто. Иуже после этого наступит время для уточняющих вопросов иточечных задач.


Посамим вопросам всценарии были такие ошибки:


  • Закрытые вопросы. Например, замечалили выинформационные блоки санализом уровня цены иотметками хорошая цена или отличная цена?. Во-первых, натакой вопрос легко ответить просто да или нет, что малополезно вкачественном интервью. Во-вторых, онсодержит всебе подсказку, из-за которой мынеузнаем, сказалбы сам человек про эти отметки или нет.
  • Вопросы или задания втесте сподсказкой. Например, кандидаты просили найти авто сценой ниже рыночной. Такая постановка вопроса уже фокусирует внимание респондента нацене ивсём, что сней связано.
  • Сложные формулировки вопросов. Например, вопрос былили какие-либо аспекты системы, которые помогли выполнить задачи?. Для респондента исследование это беседа набытовые темы, вкоторой неместо сложным конструкциям ипрофессиональной терминологии. Если человек непоймёт ваш вопрос, тоонвлучшем случае почувствует неловкость, авхудшем непереспросит, ивынеполучите точный ответ. Намного лучше задавать простые вопросы, такие как ачто вам помогло при поиске?.

Последняя ошибка всценариях это сообщение цели исследования. Вразных случаях это может быть вразной степени уместно. Например, бизнес-пользователям может потребоваться более конкретная формулировка, чтобы они вообще согласились снами общаться. Втоже время, общаясь счастными пользователями, нестоит наводить ихнацель исследования. Лучше сформулировать задачу чуть более абстрактно. Как вариант сказать, что мыхотим понять, как люди ищут машину наАвито.


Чек-лист для самопроверки


Вот чек-лист, который повысит шансы пройти отбор настажёра-исследователя порезультатам тестового задания:


  1. Проверьте, что вашу работу легко посмотреть: желательно, чтобы она открывалась поссылке, ненужно было ничего скачивать или где-то регистрироваться. Помните, что задания смотрят нетолькоHR, ноиспециалисты повашему треку.
  2. Подумайте отом, как оформить тестовое задание. Когда нужно проверить десятки работ, идеально, если работа каждого человека находится вотдельном файле, подписана его именем иаккуратно структурирована. Также, лучше неиспользовать для работы исследователя Фигму. Основной результат работы здесь текст. Его логичнее оформить вгугл-документе, Notion или любом другом инструменте для работы стекстом, аФигму оставить дизайнерам.
  3. Старайтесь избегать ошибок, опечаток ислишком сложных предложений. Лучше перечитать работу насвежую голову, или показать другу, чтобы убрать лишнее ипереформулировать непонятное.
  4. Стоит выполнять задания так, как указано втестовом. Если вырешили сделать по-другому, поясните, почему. Конечно, висследованиях зачастую нет единственного верного ответа, нонам важно понять, как вымыслите.
  5. Описывая выполнение задачи, постарайтесь дать всю необходимую информацию для оценки работы: параметры выборки, гипотезы, сценарий, тоесть список вопросов креспондентам, расшифровки интервью итестов, результаты ивыводы.
  6. Втоже время помните, что исследование для компании это некурсовая. Лучше опустить лишние подробности повыполнению заданий, например даты, объект ипредмет исследования. Добавляя информацию, спрашивайте себя, точноли она будет полезна или это просто следование стандартам.
  7. Продумывая гипотезы, помните, что они должны быть сформулированы чётко, однозначно ипредполагать ответ да или нет. Они должны быть именно предположениями, требующими проверки, анеочевидными утверждениями. Отформулировки гипотезы зависит выбор метода иформирование выборки, поэтому перечитайте еёдважды испросите себя: ясмогу проверить это предположение тем методом, который указан втестовом? или какой метод лучше всего поможет проверить такую гипотезу?, если это задача отзаказчика. Также убедитесь, что результат проверки гипотезы будет полезен продукту ипоможет продвинуться вего улучшении.
  8. При формировании выборки держите вголове тех людей, которые смогут лучше всего ответить наваши гипотезы, исходя изсвоего опыта ипотребностей. Кстати, когда яхотела понять, насколько хороша эта статья, япопросила еёпосмотреть людей сразным опытом изнашей команды: самого опытного эксперта, чтобы оценить верность выводов, инашего стажёра, как представителя ЦА.
  9. Когда составляете сценарий, начинайте разговор изадания среального опыта респондента.
  10. При составлении сценария фокусируйтесь наоткрытых вопросах, чтобы ненаводить человека наответы. Конкретизировать всегда успеете походу теста.
  11. Помните, что всценарии неместо сложным конструкциям ипрофессиональному жаргону. Говорите среспондентом наего языке.

Вместо заключения


Несмотря нато, что статья посвящена ошибкам, хочется отметить вконце позитивные моменты. Некоторые ребята перевыполнили задания ипроактивно сделали классные вещи. Мырассматривали как однозначный плюс:


  • Упоминание общения спродуктовой командой, которая ставит задачу.
  • Анализ конкурентов перед исследованием.
  • Кабинетный этап исследования. Например, некоторые изучили аудиторию нашего сервиса пооткрытым источникам ииспользовали это при обосновании выборки.
  • Протоколы интервью итестов.
  • Видеозаписи тестов.

Вконце хочется сказать большое спасибо всем, кто набрался терпения исмелости нетолько податься настажировку, ноипроделал такую большую работу потестовому заданию. Влюбом случае надеемся, что этот опыт усилил ваши навыки, иследующие попытки трудоустройства будут успешными.

Подробнее..

В полуфинале конкурса 10M ANA Avatar XPRIZE единственной командой из Восточной Европы стала Dragon Tree Labs

07.05.2021 16:08:17 | Автор: admin

Компания Dragon Tree Labs объединяет индивидуальных разработчиков и команды робототехников для общей цели создать робота-аватара, который стал бы продолжением человека, который им управляет, расширил бы возможности телеприсутствия и дистанционного физического взаимодействия с объектами реального мира.

Это совпадает с целями международного конкурса $10M ANA Avatar XPRIZE, который был инициирован, чтобы поддержать развитие технологий в этой области. Конкурс стартовал в марте 2018 года и рассчитан на четыре года. В июне 2022 года будут объявлены победители соревнования, которые разделят приз в $10 млн.

Инициаторы конкурса считают, что такие системы позволят объединить мир за счёт создания ощущения присутствия в удалённом от пользователя месте с возможностью совершать физические действия в реальном времени. Это откроет новые возможности для работы, обучения, развлечений и общения, без оглядки на возраст, расстояние, мобильность и физические ограничения пользователей. Также, такие аватары могут пригодиться для помощи в условиях стихийных бедствий или когда необходимо ограничивать физический контакт между людьми, как во время пандемии.

Для выхода в полуфинал $10M ANA Avatar XPRIZE команда Dragon Tree Labs создала робота Джонни

Для выхода в полуфинал команда Dragon Tree Labs создала робота Джонни, который прошёл соответствие всем требованиям. На данный момент это единственная российская команда, которая продолжает бороться за победу и главный приз.

Оператор может управлять Джонни дистанционно, наблюдая за происходящим вокруг робота через VR-очки. Аватар оснащён колёсами и может свободно передвигаться по помещению, позволяет взаимодействовать с объектами посредством манипулятора. На данном этапе у робота одна активная рука, которой можно управлять, в будущем появится вторая. Аватар оснащён системой распознавания объектов для помощи оператору в захвате предметов.

Для выполнения конкурсного задания необходимо было продемонстрировать способность управлять движением аватара, роботизированной рукой для выполнения задачи из реального мира, а также требовалось наличие "тревожной кнопки" для экстренного отключения машины. Все эти способности команда Dragon Tree Labs показала на конкурсном видео.

Робот Джонни результат интеграции нескольких прорывных технологий, в том числе инновационного компьютерного вычислителя для одновременного запуска нескольких нейронных сетей, который был создан специально для мобильных роботов командой Fast Sense. Именно благодаря этому компоненту, Джонни может одновременно выполнять несколько задач с задействованием ML-алгоритмов параллельно. Также, исследователи из МФТИ участвовали в реализации тестового сценария управления манипулятором.

На данный момент робот обладает рядом ограничений, которые объединённая команда Dragon Tree Labs планирует устранить в будущем для повышения шансов на победу, в том числе за счёт привлечения новых участников в проект. В следующей модификации Аватар Джонни обзаведётся второй управляемой рукой, разными типами хватов, научится распознавать другие объекты, помимо бумажных стаканчиков. Также команде необходимо будет обеспечить быструю передачу сигналов для управления устройством из любого места земного шара через интернет. Важный аспект для дальнейшей проработки то, как аватар обеспечивает иммерсивность, передаёт ощущение присутствия и полноту обратной связи от объектов.

Для работы над этой частью задачи команда стремится привлечь дополнительных участников и приглашает на оплачиваемую стажировку на лето 2021 года. Все, кто хотят присоединиться к проекту, могут писать на hello@dtlabs.tech

"Мы считаем, что такие аватары следующий эволюционный уровень развития телекоммуникаций и человеческого взаимодействия. Когда-то мы отправляли письма почтой, затем начали звонить по домашним телефонам, то есть в коммуникации включилась ещё одна система органов чувств. Интернет позволил обмениваться идеями и переживаниями моментально, а не ждать письма месяцами. Теперь у нас есть возможность видеть друг друга во время звонка и общаться в любое время в любом месте так, как если бы мы физически находились рядом. Технологии VR делают этот опыт ещё более реальным для восприятия. Следующий шаг возможность физического контакта на расстоянии. Именно для этого нужен мобильный робот-аватар, оснащённый манипуляторами, которыми можно управлять дистанционно. Даже простая возможность передвинуть предмет, скажем, шахматную фигуру на доске, за которой сидит соперник или ваш сын на другом континенте, создаёт ощущение физического присутствия на месте событий, создавая единый контекст. Возможность обнять бабушку, к которой нельзя приехать, ощущается через аватар практически реальной".

Подробнее..

Стажировка в Авито глазами стажёра

14.04.2021 12:16:12 | Автор: admin

С июня 2020 года я работаю бэкенд-стажёром в Авито. Когда я искал стажировку, мне хотелось поподробнее узнать, что на самом деле происходит внутри каждой компании и какой у неё подход к стажёрам. Но обычно информация ограничивалась либо краткими текстами налендингах, либо историями успехов.

Но ведь самое интересное это процесс! Поэтому я решил рассказать о своей стажировке вАвито: как она проходит, какие ожидания от стажёра, какие задачи нужно решать. В статье я дам несколько основанных на моём опыте советов для тех, кто впервые собирается пойти стажироваться.

Поиск стажировки и собеседования

Основная причина, по которой я искал стажировку, это сильный толчок в развитии. Сложно стать хорошим разработчиком без полноценного прод опыта. Лично я вкладываю в понятие хороший разработчик не только уверенные технические навыки они должны быть влюбом случае, даже у стажёра, но и умение коммуницировать, договариваться и продавать свои идеи. Таким вещам без опыта научиться сложно: их нужно развивать напрактике.

Из этого вытекают мои основные пожелания к стажировке:

  1. Возможность участвовать в процессах команды, а не быть в стороне.

  2. Руководство наставника, который может помочь, подсказать и направить в нужную сторону.

  3. Наличие code review. Знать инструмент это одно, а грамотно пользоваться им другое. Хочется, чтобы старшие коллеги ревьювили код.

  4. Упор на развитие стажёра, а не просто на полную эксплуатацию.

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

Сами этапы собеседования достаточно стандартные. Сначала нужно сделать тестовое задание. Если оно выполнено хорошо, дальше следует техническое собеседование, приуспешном прохождении которого можно попасть на последний этап собеседование стимлидом и HR. У меня техническое собеседование было без больших сюрпризов: немного лирики про структуры данных и алгоритмы, непосредственно сам Python, базы данных и теория, и практика с простенькими SQL-запросами. Ещё поговорили про конкурентность и вообще то, как работает ОС. В принципе, ничего суперсложного, однако всё равно стоит хорошенько подготовиться: часто бывают вопросы со звездочкой при успешном ответе наосновной вопрос.

Будьте общительнее на собеседовании. Без этого, скорее всего, искра не появится.

Я вышел на работу в команду Market Intelligence. Мы занимаемся построением ETL (extract, transform, load) процессов, то есть добычей данных. Для этого мы развиваем свою платформу, чтобы удобно можно было управлять кроулерами, которые добывают данные, развиваем свой фреймворк и пишем микросервисы.

Первые дни стажировки

Первый день стажировки ушёл на оформление, настройку окружения, знакомство снаставником. Также надо было запросить доступы на нужные серверы и ресурсы. Поотдельности это просто и требует не так много времени, однако на всё вместе легко занимает день.

На следующий день я получил свою первую задачку от наставника. Ей, конечно, дело не ограничилось. В Авито новичкам на почту приходит приветственное письмо с рассказом прокомпанию и то, что ждёт впереди, а также ссылками на несколько курсов по краткому введению в процессы и платформу. Так что первое время я пытался как можно больше погрузиться в контекст. Благо у нас есть своя вики-система в Confluence, в которой, вероятно, можно найти всё, что интересует.

С началом стажировки мой мир буквально перевернулся. Слёту непросто адаптироваться ковсем процессам команды и разобраться в платформе, которую предстоит разрабатывать. Свою роль сыграло и то, что компания полностью перешла на удалёнку, и живого общения общения сильно не хватало. Чисто психологически коллегу тяжелее выцепить в онлайн-формате, чем в офисе, когда он сидит в метре от тебя. Больше всего вопросов у меня было поскраму. В Авито довольно навороченные процессы, и я, без какого-либо опыта, поначалу был в растерянности. А зачем так много встреч? А что говорить на них?

К счастью, есть наставник. Он здорово помогал мне адаптироваться: рассказывал, зачем нужна каждая из встреч и как всё устроено внутри команды. Он же всегда подталкивал кдополнительным активностям, например, предложил подготовить доклад для внутреннего Python community. Ещё раз в неделю у стажёра и наставника проходят встречи один на один. Они нужны для получения обратной связи, как для тебя, так и для менеджера. На них можно скорректировать какие-то процессы, план развития и просто поговорить о том, как продвигается стажировка, получив ценные советы. Плюс у нас регулярно проходят встречи стажеров, что тоже помогает в адаптации.

Да и в целом, вся команда отлично поддерживала меня, подсказывала, если что-то непонятно, ревьювила код без пощады, за что им большое спасибо. Моё знакомство с командой происходило постепенно. Я увидел всех сразу в первый день, но этого было мало. У нас не распространена практика code ownership, поэтому нормально позвонить коллеге и спросить, как что работает, что сильно снижает бас фактор. Каждая выполненная мной задачка знакомила меня не только с платформой и кодом, но и с самой командой.

Что меня удивило, так это доверие к стажёру. Ты делаешь точно такие же задачи, что и все. Поначалу наставник даёт небольшие таски, которые помогают лучше разобраться с тем, как всё устроено. Например, поправить баг, увеличить покрытие логами, добавить адаптацию и загрузку нового поля. Что-то совсем простое, но при этом хорошо погружающее вовнутренности архитектуры.

Постепенно задачи становятся всё более и более сложными. У меня первой из больших задач был рефакторинг старого кода на новую архитектуру. В итоге за пару месяцев стажёр становится полноценной частью команды и берёт задачи из общего бэклога, без каких-либо ограничений, что очень радует.

Не бойтесь задавать вопросы. В первые дни нормально не понимать, что происходит, особенно если до этого не было никогда продакшн опыта. Поговорив, можно сильно сократить время, которое будет потрачено на задачу.

График стажёров 20 часов в неделю, что даёт возможность совмещать работу с учёбой. Я стараюсь подбирать своё расписание так, чтобы не пропускать встречи команды: стендапы, грумминги и ретроспективы. Они важны, чтобы оставаться в контексте происходящего и синхронизироваться с коллегами. Обычно встречи проходят во второй половине дня, поэтому тут довольно просто утром послушал пары, а к обеду уже работаешь.

Обучение и развитие

Работа над развитием стажёра может сильно варьироваться в зависимости от наставника, но, вероятно, суть будет одна. Я считаю, что мне очень повезло с наставником и за свой рост я вомногом благодарен ему. Мой план развития мы составили по методике OKR. В него входили как хард скиллы, такие MongoDB, Docker, Golang и т.д., так и софт, например, Agile и Kanban. Такой формат мне кажется успешным: на дистанции он приносит большие результаты.

Назвать технологии, которые хочется затащить, легко, но как всё-таки их изучать?

Образование внутри Авито

У нас довольно много внутренних источников, где можно начать изучение чего-либо. Например, у есть своя академия с онлайн-курсами и библиотека, где можно бесплатно взять книги.

В Авито достаточно часто проходят и live-курсы, на которые можно записаться. Плюс совсем недавно запустилась менторская программа, где можно записаться в ученики к коллеге, который занимается интересующей вас темой.

Лично я проходил внутренние курсы по tech onboarding и Agile, которые сильно помогли впервые дни. В них рассказывается, по каким правилам у нас всё работает и что где можно подсмотреть. А ещё прошёл курсы по Golang: они неплохо погрузили не только в сам язык, но и то, как его применяют именно в Авито.

Обучение вне Авито

Не стоит очевидно зацикливаться на одном. Что-то стоит изучать снаружи. Как показывает мой опыт, самые лучшие курсы делают сами компании, которые разрабатывали технологию. Обычно они называются University. Например, Redis, Mongo University. Лично мне они очень понравились, довольно хорошо погружают. Из минусов можно назвать только то, что они полностью на английском, но а как без него?

Если вы хотите изучить технологию, по которой есть официальные курсы, обязательно проходите их.

Мне было удобно учиться вечером и выходные, чтобы в основное время заниматься спринтовыми задачами и быть в одном графике с командой. Однако тут нет строгого правила. Иногда и в рабочие часы получалось найти время на образование, если спринт был достаточно разгружен. Но лично у меня такие ситуации были крайне редко.

С появлением базиса знаний, у меня стало получаться затаскивать некоторые задачи уже по своей инициативе. Так, изучив Golang, я переписал на него один из наших сервисов, который стал highload, и в принципе первым в команде продовым сервисом на Go. Развитие софт скиллов тоже играет свою роль. Мне стали намного понятнее процессы в команде, и теперь я намного активнее участвую на ретроспективах, предлагая свои идеи.

Стажировка после адаптации

Как я говорил ранее, у нас в команде стажёр стоит в одном ряду с остальными разработчиками. Он может брать такие же задачи и является полноценным участником всех процессов: груммингов, ретроспектив, планирования.

То есть даже стажёр может воздействовать на процесс и платформу. Появилась идея, как улучшить канбан команды? Предложи на ретроспективе, и команда её обсудит. Если идея будет удачной, то предложение примут. Очень хочется затащить какую-то технологию? Это можно продать, особенно если на руках будет готовый MVP. Всё вместе это очень сильно мотивирует.

Вывод

Стажировка в Авито превзошла мои ожидания. Она действительно помогает вырасти и не только как специалисту, но и как личности. Я с удивлением смотрю на текущего себя и себя достажировки. Я ни разу не пожалел, что выбрал эту компанию. Надеюсь и вас в скором времени увидеть в наших рядах: у нас регулярно появляются новые стажировки и посмотреть их можно здесь. Удачи!

Подробнее..

Что написать в резюме, если нет опыта работы

20.02.2021 16:15:19 | Автор: admin

Люди меняют профессию по разным причинам надоело, босс не очень или платят мало. Да и мало ли ещё что. Важно, что у всех есть вероятность однажды оказаться перед пустой формой для резюме вообще без опыта работы.

Не утверждаю, что все советы из этой статьи подходят всем без исключения, но что-то наверняка пригодится. В конце концов, даже самые опытные из нас когда-то впервые искали работу, а любой синьор однажды проваливал двоичный переворот сине-чёрного дерева пузырьком. Вместе с Центром карьеры HTML Academy мы решили в этом помочь и собрали для вас полезные советы.

Предупреждение: все советы работают для вакансий в РФ. Рекомендации для других стран могут отличаться. Если вы рассматриваете возможность трудоустройства в иностранную компанию, то создайте отдельное резюме на английском языке.

Напишите, кто вы

Если вы ищете работу в России, то имя и фамилия должны быть заполнены по-русски.

Укажите место проживания. Эта информация важна, чтобы работодатель понимал, сможете ли вы ходить в офис, или в каком часовом поясе вы находитесь, если работа удалённая. Явно укажите, готовы ли вы работать удалённо или рассматриваете только офис. Если готовы переехать так и напишите.

Отсутствие даты рождения не ок. Рекрутёр всё равно сможет предположить ваш возраст по дате окончания вуза или по стажу работы и, вероятнее всего, отложит резюме в папку отказать.

Загрузите фотографию

По этому пункту много споров некоторые говорят, что фотография ни на что не влияет и в иностранных компаниях это необязательный пункт. Тем не менее в российских компаниях на наличие фотографии чаще всего смотрят. Её присутствие говорит о том, что человек себя не скрывает и готов заявить о себе заочно.

Есть несколько правил к фото в резюме:

  • не должно быть лишних людей,

  • желательно на однотонном фоне

  • в меру строго и с улыбкой. Когда кандидат доброжелателен на фотографии, это притягивает.

Определитесь с должностью

Пишите по делу и что-нибудь одно это самый хороший вариант. После курсов по разработке вполне рабочие версии такие:

  • HTML-верстальщик

  • Фронтенд-разработчик

  • РНР-разработчик

  • Веб-разработчик

Если вы ищете работу продавцом утюгов и одновременно фронтенд-разработчиком, то создайте отдельное резюме для каждой должности. Объединять не стоит если кандидат сам не может понять, чем он хочет заниматься, то и работодатель вряд ли станет тратить на это время.

Напишите, сколько хотите денег

Зарплата хороший фильтр, ещё и двухсторонний. Кандидат не будет откликаться на вакансию, где платят мало, а компания с подозрением отнесётся к кандидату, который хочет сильно меньше или намного больше среднего. Как и везде, тут бывают исключения, но в основном так.

Если не знаете или сомневаетесь, что писать, посмотрите, сколько предлагают компании на такую же работу в вашем регионе, и поставьте средний уровень по рынку и вашему опыту. Иногда зарплата корректируется уже на собеседовании, но это уже другая история.

Вспомните всё, что было похоже на опыт

Если опыт по специальности есть, то и укажите его. Но раз мы тут решаем, что делать без опыта, поэтому давайте разбираться отдельно, что засчитывается за опыт работы.

Например, прохождение стажировки в настоящей компании тоже считается опытом, даже если денег за это не платили.

Если начинаете карьеру в новой сфере, укажите только последнее место работы и подробно распишите ваши успехи и достижения. О нерелевантном опыте можно кратко написать в разделе О себе. Например, что пасли бобров, а теперь хотите работать тимлидом.

Рассказывает Екатерина Новографская, HR-менеджер компании iBrush:

Даже если нет опыта, резюме нужно оформить как следует. Не стоит писать о том, что у вас в школе или университете были одни пятерки. Это, конечно, хорошо, но это не показатель того, что вы справитесь с функциональными задачами в предполагаемой должности. Напишите в резюме, что вы умеете в профессиональном плане, какими компетенциями обладаете для той специальности, в которой хотите начать свою карьеру.

И нетленная классика: выберите адекватное фото, где вас хорошо видно, добавьте рабочую почту (немного странно отправлять предложение о работе на почту kiska94735@mail.ru), перечислите списком ваши навыки. И не забудьте написать пару слов о себе: чем увлекаетесь, какие у вас интересы и цели. Также можете указать нюансы, касаемые графика работы, если имеются.

Расскажите о себе

Этот раздел важно заполнить правильно, если совсем нет опыта работы. Здесь важнее то, чего вы хотите достичь, чем то, что уже было.

Поэтому вместо рассказов о внутреннем мире здесь лучше написать, как вы пришли в разработку (или куда вы устраиваетесь) и как получаете новые знания. Расскажите подробно о том, какими знаниями уже владеете, что недавно изучили и коротко о планах по развитию на ближайший год. Здесь же напишите о своих хобби и увлечениях, если считаете нужным.

Напишите, что умеете из новой профессии

Укажите основные технологии которыми владеете и пользуетесь в работе. Не указывайте то, что только планируете изучить.

Например, средняя вакансия для верстальщика выглядит так:

  • Умеет делать адаптивную кроссбраузерную оптимизированную вёрстку, совместимую с современными браузерами. В вёрстке использует SVG.

  • Идеально знает CSS. Использует препроцессор Sass. Знает флексы. Умеет делать CSS-анимации и использует БЭМ. Знает библиотеку Bootstrap.

  • Знает HTML. В работе использует Canvas. Шаблонизирует HTML с помощью PUG.

  • Использует Git. Умеет работать в GitHub.

  • Может натянуть вёрстку на CMS: Bitrix и Wordpress.

  • JavaScript пишет с помощью jQuery, но не чурается ES6.

  • Умеет автоматизировать свою работу с Node.js, npm-скрипты, Autoprefixer, Gulp или Webрасk.

  • Уверенно владеет Photoshop и Illustrator или знает Figma или Sketch.

  • Имеет своё портфолио, инициативный, готов пройти испытательный срок

Конечно, для новичка здесь много непонятных слов и аббревиатур. Ничего страшного. Предположим, вы уже неплохо знаете HTML и CSS, работали с SVG и немного понимаете, как устроен JavaScript. Значит эти навыки и нужно указать, а некоторые пункты, о которых только слышали, перенести в план развития (тем более, выучить их всё равно придётся).

Рассказывает Назир Хасавов, основатель и арт-директор Студии NKH

Очень важен опыт вёрстки. Даже если человек только прошёл курсы, то можно указать в резюме учебные проекты. И обязательно прикладывать ссылки на GitHub и GitHub Pages, чтобы можно было посмотреть на код. Также важно запомнить, сколько времени ушло на проект такой сложности.

Для джуна важно развивать софт-скиллы умение общаться и работать в команде. Технические пробелы всегда можно подтянуть, но если с человеком тяжело общаться, то далеко на такой телеге не уедешь. Поэтому хорошо бы чуть чуть рассказать о себе. Конечно, краткое описание в полной мере не раскроет человека, но небольшой спойлер уже будет. Часто на собеседованиях умение общаться бывает важнее технической части.

Напишите, где учились

Указывайте образование, даже если оно не профильное. Возможно вы получили смежную профессию или полученные знания для новой сферы работы будут плюсом. Также указывайте все дополнительные курсы повышения квалификации с датой получения сертификатов. Эта информация покажет, что вы развиваетесь как специалист, готовы к обучению и новым знаниям.

Хороший объем две страницы А4

Вообще без опыта сложно наскрести и столько, но если вдруг получилось, то держите в голове следующий факт.

Заполненное резюме должно занимать не больше двух страниц (представьте, что его нужно распечатать с двух сторон листа на А4, как раз поместится). Постарайтесь кратко и ёмко изложить всю необходимую информацию.

Напишите хоть какое-нибудь сопроводительное

Хорошее сопроводительное письмо суперсила. Здравствуйте, прошу рассмотреть моё резюме на вакансию тупик.

Сопроводительное письмо должно дополнять резюме, а не копировать его. В идеальном мире в каждую компанию пишут своё письмо. Да, это требует больше времени, но это поможет обратить на себя внимание рекрутёра. Напишите, чем вас заинтересовала вакансия, и чем вы можете быть полезны компании. Только не помогу приблизить светлое будущее, а сверстаю лендинги, чтобы они нормально выглядели на телефонах

Перед отправкой отклика проверьте всё спеллчекером они сейчас встроены даже в браузер, так что просто не забудьте.

95% выпускников профессий HTML Academy устраиваются на работу не только из-за хорошего резюме. Они учатся профессиональной вёрстке и программированию, прокачивают скорость работы в Акселераторе и проходят оплачиваемую стажировку в Лиге А.. Ещё мы помогаем выпускникам найти работу даже в небольших городах то есть делаем всё, чтобы студенты могли заниматься новым любимым делом. Присоединяйтесь, старт профессии React-разработчик 27 апреля.

Как составить резюме, если нет опыта работы

  1. Честно напишите, кто вы имя, возраст, город

  2. Фотка с улыбкой сила

  3. Должность должна быть одна. Никаких маркетолог-мясник

  4. Напишите, сколько хотите денег. Даже если сумма с потолка

  5. Если нет никакого опыта, сгодится любой похожий

  6. План развития важнее пятёрок в школе

  7. Чем больше навыков совпадёт с вакансией, тем лучше. Остальное пойдёт в план развития

  8. Образование важнее, чем кажется, но не критично

  9. Не больше двух страниц на всё (но растягивать и лить воду тоже не нужно)

  10. Сопроводительное письмо помогает. Прошу рассмотреть резюме нет


Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru