Расположение для [закрытых] заданий Scala или Лифта

20
задан WhiteKnight 5 May 2012 в 16:23
поделиться

5 ответов

Чистая позиция Scala:

Найти чистую позицию Scala не очень просто, но она становится все проще и легче. Я иду на свое первое собеседование при приеме на работу на чистом Scala через несколько дней.

Я надеюсь, что мы увидим много новых систем, полностью написанных на Scala, и я думаю, что эти системы будут в основном серверными, мощными системами. Эти системы будут использовать функциональный стиль Scalas, менее подверженный ошибкам, чтобы уменьшить количество ошибок. Я думаю, что Akka, SBT и Specs будут важными фреймворками для разработчика Scala (это не так уж важно, поскольку они уже важны).

Если вы не находите чистой позиции Scala:

Ваш авторитет исходит из того, что вы работали с Java. У большинства крупных компаний есть масса кода Java, которую необходимо поддерживать и развивать. Если ваша работа - присматривать за старым кодом Java, и вы, как старый гуру Java, должны иметь какое-то мнение о том, как это следует делать. Первый шаг - изменить настройку Maven, чтобы разрешить смешанную среду Java / Scala. Переход на SBT, вероятно, ваш лучший выбор. Это одноразовое вложение, которое вам нужно сделать, иначе вы не сможете продолжить!

  • Если вы работаете независимо, вы, вероятно, можете заменить Java на Scala, когда захотите, скорее всего, когда вам придется повторно разложить какой-то старый код.Говоря о Scala как о «фреймворке» для Java (технически это ложь), который повышает продуктивность при разговоре с нетехническим менеджером проекта, это может успокоить их тревожные умы. В конце концов, вы должны будете убедиться, что Scala действительно интегрируется с Java. Но поскольку Scala делает это очень хорошо, это не проблема. На самом деле, поддерживать старый устаревший код - это не мечта, поэтому менеджеры по маркетингу обычно счастливы, если находят кого-нибудь, кто будет заниматься этим более 3 месяцев. Руководство, вероятно, смирится с вашим бунтом.

  • Если вы работаете в команде, все немного сложнее. В этом случае вам придется обучить команду Scala, иначе они не смогут понять ваш код. Вы должны убедить своего PM выделить ресурсы для обучения Scala (это может быть сложно). Когда вы знакомите команду со Scala, начинайте с малого. По моему опыту, Java-чуваку нужно время, чтобы выучить Scala, так что это не делается в одночасье. Поэтому игнорируйте все «сложное», когда вы преподаете Scala. Когда команда поймет основы, начните с написания тестов на Scala (спасибо Davetron5000 за этот совет), продолжайте использовать Java для программирования в приложении (производственный код). Надеюсь, команда изучит и получит удовольствие от Scala, и после этого, ну, с этого момента все будет под гору.

Удачи!

12
ответ дан 30 November 2019 в 00:00
поделиться

Думаю, вам лучше всего научиться хорошо разбираться в Scala и стать заметным в сообществе Scala. Это не обязательно одно и то же, но, к счастью, они очень тесно связаны в сообществе Scala. Как только вы это сделаете, определенно появятся возможности использовать Scala для развлечения и получения прибыли, будь то в качестве консультанта / подрядчика или в качестве (удаленного) штатного сотрудника. Чтобы стать лучше и заметнее, я бы порекомендовал стать активным в одном из существующих сообществ ( Lift , Akka , ScalaNLP , вы называете это) или даже выходить в пустыню и взламывать, чтобы решить общую проблему, даже если это просто создание собственной Scala альтернативы популярной библиотеке Java (например, squeryl и Dispatch , возможно, не было необходимо но они классные).

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

6
ответ дан 30 November 2019 в 00:00
поделиться

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

Это сработало для Дика Уолла, так что должно сработать и для вас. :)

3
ответ дан 30 November 2019 в 00:00
поделиться

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

Также начните использовать Scala (в частности, Specs и ScalaCheck) для тестирования в вашем текущем проекте уже сегодня, если возможно.

Наконец, как сказал pr1001, сделайте это видимым в сообществе Scala. Участвуйте в проекте, общайтесь в списке рассылки, общайтесь в #scala на freenode, отвечайте на вопросы там, где можете.

5
ответ дан 30 November 2019 в 00:00
поделиться

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

Знание библиотек ( Akka и Lift очевидны) инструмент сборки sbt отличный, но дополнительный . Я хотел бы знать, что вы понимаете:

Если вы понимаете язык, я уверен, что вы без проблем подберете библиотеки.

Другие библиотеки:

  • scalaz для функционального программирования
  • scalala для численного программирования (линейная алгебра и т. Д.)
  • scalaj для взаимодействия с Java
12
ответ дан 30 November 2019 в 00:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: