📜 ⬆️ ⬇️

Spark / Scala Young Fighter Course

Habr, hello!

The Retail Rocket team uses the highly specialized Hadoop + Spark technology stack for the computing cluster, about which we have already written review material in the very first post of our engineering blog on Habré.

It is quite difficult to find ready-made specialists for such technologies, especially if we consider that we are programming only on Scala. Therefore, I try to find not ready-made specialists, but people with minimal work experience, but with great potential. We even take part-time people to make it convenient to combine study and work, if the candidate is a recent student.
')


How are trainees selected in Retail Rocket?


I always call Skype or phone for the first time and ask simple questions, starting from how you found us (they often find our jobs through Google search), ending with basic questions about machine learning.

For an interview with us, it is very desirable to take a course from Machine Course Coursera . This course is very fundamental and teaches you to understand, rather than memorizing formulas and using ready-made libraries in Python. This is very important for us, as it is often necessary to write algorithms by hand.

If the answers suit me, then I invite you to a face-to-face interview, in which we already get to know the candidate more closely, we are already asking more difficult questions, but not for cramming, but for understanding. In conclusion, usually at home, we assign the task to study a scientific article from the RecSys conference , to “code” an algorithm and drive it through a test dataset.

What happens after a person is selected?


We use online courses to improve the skills of new analysts in order to spend a minimum of effort to train new employees. Before joining us, it is recommended to take a series of very short courses from Big Data University with tests:
  1. Hadoop - 4 hours. A simple course about Hadoop components.
  2. Spark 1 - 3 hours. About Spark, RDD, Api in Java, Python, Scala, creating simple applications, Spark SQL, MLLib, Spark Streaming, Graph X.
  3. Spark 2 - 4 hours. Advanced course on creating applications on Spark.


Then, from the first day of work, the analyst should successfully study and complete the tasks of the following courses:
  1. The course on the basics of the programming language Scala , very easy and understandable. Of the Scala candidates, almost no one knows, so this course helps to quickly integrate into the process.
  2. Course on advisory systems . Recommender systems are one of the branches of Machine Learning, a fairly narrow topic. To work with us, this topic must be mastered perfectly. Candidates are not required to have knowledge and experience in building recommender systems. This course is a great help for us to draw a person into the main part of the work.


Successful completion of these two courses is prescribed in the employment contract, as a necessary condition for the successful completion of the probationary period. Three months are usually enough to study these courses and complete assignments.

An optional, but very important course for us after the trial period, which I would recommend, is the principles of reactive programming , where non-trivial approaches to programming in functional programming languages ​​are exemplified by the example of Scala: Monads, Futures, Actors, etc. The tasks in this course are quite complex, but terribly interesting.

This system has been successfully implemented in Retail Rocket over the past year and a half and has performed very well.

PS I recommend a very fresh and comprehensive course on Scala and Spark .

PPS We always welcome new team members and we have several vacancies open to the “ .NET Developer ” position. Our technological stack and level of tasks can be estimated in the very first post on Habré. You can send your resume to the mail avchizh@retailrocket.ru (we have no HR, we will communicate directly at once).

Source: https://habr.com/ru/post/302828/


All Articles