Интервью со Scala-разработчиком

Добавлено: 08/06/2018
6773

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

 

 

 

Что такое Scala и с чем его едят? Это язык программирования, который реализован для платформы Java. Используется для создания серверной части приложений.

Кто пишет на Scala? Можно смело говорить о том, что большинство Scala-разработчиков пришли из Java, так как это очень похожие, в плане синтаксиса и реализуемых задач, языки.

Что еще используют эти люди? Есть два сервиса, которые Scala-разработчики достаточно часто используют. Речь идет про Akka и Play Framework.

  • Akka — это библиотека, которая позволяет упростить разработку многопоточных и распределенных приложений.
  • Play — это полноценный фреймворк, который также иногда называют каркасом разработки. Его основная задача — повышение производительности кода, а также отображение появляющихся ошибок в браузере. Создатели Play, при разработке ориентировались на такие популярные решения как Ruby on Rails и Django.

Scala в основном используется как enterprise язык (для разработки корпоративных приложений), что подтверждают сервисы использующие его. Например это Twitter, LinkedIn, Foursquare, Тинькофф и другие. Разумеется, есть не столь большие решения на Scala, однако это можно считать исключениями.

 

Scala я выбрал по историческим причинам. Когда учился в университете, ходил на курсы по Java. Мне интересно было функциональное программирование, и я самостоятельно изучал Lisp и OCaml. А потом из всего этого синтезировалась Scala. В этом языке много инструментария, которым можно делать сложные вещи, но, если не задаваться такой целью, то можно писать и довольно просто. Всё равно существует баланс между выразительностью и абстрактной сложностью.  В интернете была шутка про языки, в которой говорилось, что Scala пытается объединить возможности функционального и объектно-ориентированного программирования, а в итоге его начинают люто ненавидеть обе стороны. Действительно, когда пытаешься объединить две стороны, то порой наталкиваешься на непонимание обеих. 

Dev.by

 

У разработчика на интервью стоит уточнить несколько наиболее важных моментов:

  • Почему находится в поиске (если находится)?
  • Какие задачи решал в текущем и предыдущем проектах?
  • Разработка велась исключительно на Scala или же параллельно писал на Java?
  • Кто ставил задачи?
  • В какой команде работал?
  • Участвовал ли в выборе технологий для проекта?
  • На какие факторы будет обращать внимание при выборе нового места?

ПОДПИШИТЕСЬ НА БЛОГ