Курс молодого бійця для Spark/Scala

Хабр, привіт!

Команда Retail Rocket використовує вузькоспеціалізований стек технологій Hadoop + Spark для обчислювального кластера, про який ми вже писали оглядовий матеріал самому першому пості нашого інженерного блогу на Хабре.

Готових спеціалістів для таких технологій знайти досить складно, особливо, якщо врахувати, що ми програмуємо виключно на Scala. Тому я намагаюся знайти не готових фахівців, а людей, що мають досвід роботи, але володіють великим потенціалом. Ми беремо навіть людей з частковою зайнятістю, щоб було зручно поєднувати навчання і роботу, якщо кандидат — студент останніх курсів.



Як відбувається відбір стажерів в Retail Rocket?
Завжди перший раз дзвоню по Skype або телефону і ставлю прості запитання, починаючи від того як ви нас знайшли (знаходять наші вакансії часто через пошук в Google), закінчуючи елементарними питаннями про машинне навчання.

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

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

Що відбувається після того, як людину вибрали?
Ми використовуємо онлайн-курси для підвищення кваліфікації нових аналітиків, щоб затратити мінімум зусиль для навчання нових співробітників. До переходу до нас рекомендується пройти серію дуже коротких курсів від Big Data University з тестами:
  1. Hadoop — 4 години. Простий курс про компоненти Hadoop.
  2. Spark 1 — 3 години. Про Spark, RDD, Api на Java, Python, Scala, створення простих додатків, Spark SQL, MLLib, Spark Streaming, Graph X.
  3. Spark 2 — 4 години. Просунутий курс про створення додатків на Spark.


Потім з першого дня роботи аналітик повинен успішно вивчити і зробити завдання наступних курсів:
  1. Курс з азів мови програмування Scala, дуже легкий і зрозумілий. З кандидатів Scala майже ніхто не знає, тому цей курс допомагає дуже швидко влитися в процес.
  2. Курс з рекомендаційним систем. Рекомендаційні системи — це одна з гілок Machine Learning, досить вузька тема. Для роботи у нас цією темою потрібно володіти досконало. Від кандидатів не вимагається знань і досвіду побудови рекомендаційних систем. Цей курс для нас велика допомога, щоб втягнути людину в основну частину роботи.


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

Опціональний, але дуже важливий для нас курс після проходження випробувального терміну, який я б рекомендував — принципи реактивного програмування, де пояснюються нетривіальні підходи при програмуванні на функціональних мовах програмування на прикладі Scala: Монади, Futures, Actors і т. д. Завдання в цьому курсі досить складні, але дуже цікаві.

Ця система успішно впроваджена в Retail Rocket протягом останніх півтора років і показала себе дуже добре.

p.s. Рекомендую зовсім свіжий і всеосяжний курс за Scala і Spark.

P. P. S. Ми завжди раді новим членам команди і у нас відкрито кілька вакансій на позицію “.NET Розробник". Наш технологічний стек і рівень завдань можна оцінити в самому першому пості на Хабре. Резюме можна надіслати на пошту avchizh@retailrocket.ru (HR-ів у нас немає, спілкуватися будемо відразу напряму).
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.