「Scala」の案件求人検索結果
■Scalaとは?
ScalaはJavaに仕様が似ていて、互換性も高いプログラミング言語です。実行環境もJVMというJavaの仮想マシンになります。Scalaは最近注目されている言語で、Twitter、Chatwork、ビズリーチなどが有名どころのサービスです。
またPython同様人工知能で使用される機会も多く、今後も伸びていくことでしょう。ScalaはもともとJavaの後継を狙って開発されたプログラミング言語なので、確実に市場のシェアを奪うことを狙っています。
Javaの環境で動くことや、Javaのライブラリをそのまま使用できる点からもそれがわかります。ScalaはJavaを簡易化ではなくグレードアップしたような言語なので、命令型言語としてだけでなく関数型言語としても実装可能です。
Javaはオブジェクト指向に特化しているがゆえに規模の小さいシステムだとかえって無駄が多くなるという欠点を有していましたが、Scalaではシステム規模に応じてコーディングの仕方を変えることができるため、小規模システムから大規模システムまで対応しています。
関数型プログラミングを詳細に理解するのは難しいのですが、簡潔に書くと状態を記載する手間を省き、プログラマーの無駄をなくすという考え方のものです。たとえばJavaなどで繰り返し処理を記述する場合、状態を入れるiやsumなどの変数を用意してカウントしつつループを回す処理を記述します。
しかし、Scalaではその必要がありません。メイン処理と残りがあるかどうか、といった記述のみで、ループ処理が書けます。Javaでlength分ループする、と記載するところを、Scalaなら残りがなくなるまで、と記載できるのです。
プログラマーとしてはループやカウントの記述が不要になります。動作とゴールだけ書けば、そこまで勝手に回してくれるということです。
-
- [Scala]ビッグデータ・マーケティング関連の自社サービス開発の求人案件@新宿
-
~700,000円/月業務委託(常駐)
- 最寄り駅
- 新宿
- 使用言語
- 仕事内容
- ・データマネジメント基盤の構築に参画できるエンジニアを募集しております。 ・SaaS製品のメジャーバージョンアップに伴う新規プロダクト開発の案件です。 ・マーケティングに必要なビッグデータの収集及び、DataLake、DWH、DataMart構築基盤を開発します。 ・DWHはマーケティングデータの分析機能の根幹となりますが、ストリーム処理をベースとしたリアルタイム処理も開発します。 ・現行プロダクトの知見は活かしつつ、アーキテクチャ検討から開発を行います。 ・設計/実装/レビューが基本となります
-
- [Scala]広告配信システムの求人案件@新宿
-
~700,000円/月業務委託(常駐)
- 最寄り駅
- 新宿
- 使用言語
- 仕事内容
- ・広告配信システムをお任せします。 ・X-lift(クロスリフト)を使用した広告配信システムの開発。 ・機械学習のロジックを実装した大量処理のシステム。 ・複雑なプログラムにもかかわらず、リファクタリングまたはリプレイスをリードできる人材がおらず募集。
-
- [Scala]コミュニケーションアプリを利用したサービスの技術選定、要件定義、設計、実装、運用などの求人案件@渋谷
-
~800,000円/月業務委託(常駐)
- 最寄り駅
- 渋谷
- 使用言語
- 仕事内容
- ・サーバーサイドエンジニア(Java,Scala) ・日本で広く流通している、コミュニケーションアプリを利用したサービスの技術選定、要件定義、設計、実装、運用など。 ・チームで裁量を持って、常に技術的チャレンジを行いながら開発を行っています。
-
- [Scala]グルメ情報サイトサーバーサイド開発業務の求人案件@赤羽橋
-
~800,000円/月業務委託(常駐)
- 最寄り駅
- 赤羽橋
- 使用言語
- 仕事内容
- ・サービス内において、サーバーサイド開発をお願いします。 ・経験豊富な社員と共に実践的に経験やノウハウを身につけられる環境があり、圧倒的なスピードで成長したい方には最適の環境です
-
- [Scala]サーバーサイドエンジニアの求人案件@渋谷
-
~650,000円/月業務委託(常駐)
-
- [Scala]サーバーサイドエンジニアの求人案件@渋谷
-
~900,000円/月業務委託(常駐)
- 最寄り駅
- 渋谷
- 使用言語
- 仕事内容
- ・適正を見て各事業部の機能開発 ・技術負債に対するリファクタリング ・高い技術を保有している方であれば、アーキテクト業務やレビュワー業務 ・新規プロダクト開発
-
- [Scala]動画ストリーミングサービスのScalaエンジニアの求人案件@渋谷
-
~900,000円/月業務委託(常駐)
- 最寄り駅
- 渋谷
- 使用言語
- 仕事内容
- 自社開発中の動画ストリーミングのプロダクトにおいて、 追加機能開発~運用までを、スキル適性を見た上でご担当して頂きます。 新規機能開発から既存システム改修まで幅広い業務に携われます。 ■仕事内容 ・自社プロダクトの管理画面作成 ・その他新機能の開発時のサーバーサイド開発(Scala)
- «
- 1
- »
Scalaについて
Scalaは命令型言語としても関数型言語としても記述することが可能で、状態を表す変数の用意や実装を省略できます。ループを例に取ると、メイン処理とゴールだけ記述すれば長さを決めなくても勝手にループを回してくれるということです。
こういったことからScalaはJavaをグレードアップした言語と言えますが、その分難易度はJavaよりも高くなっています。特に関数型言語の書き方に慣れていないと、命令型の記述に頼ってしまいます。
Scalaは難易度が高いですが、使いこなすと利便性が高いです。すでにJavaに慣れている方は最初戸惑う可能性があるものの、慣れれば便利です。またプログラミング経験のない方は、むしろ関数型の方が書きやすいかもしれません。
命令型の経験が多い方はその書き方に慣れているために関数型の書き方に抵抗を感じますが、本来命令型の書き方の方が人間の思考からはずれています。なぜなら、何かの処理を繰り返す際にカウント用の変数を用意するようなことはプログラミング以外ではないからです。
関数型のように状態は考えずに、処理前の部分に処理を行う方が人間の思考に近いです。たとえばベルトコンベアーで流れてくる箱に何か詰めるアルバイトを行っていたとして、命令型の書き方だとまずすべての箱の数をカウントし、その数分ループでカウントしながら箱に詰める処理を挟み込んで実装します。
一方で、関数型では箱の数をカウントする必要もないので、そもそも把握していなくても大丈夫です。単純に流れてきた空き箱に物を入れて、なくなったら終わり、と書けば良いだけなので、その方が自然で簡単です。
■Scalaの資格について
Scalaは2003年に誕生した比較的新しいプログラミング言語なので、まだ資格はありません。そのため、資格を取得するために勉強するのではなく、純粋にScalaでシステム開発を行うために勉強するしかありません。
Javaなどは資格試験が豊富に用意されていますが、それでも結局のところ開発能力がもっとも重要で、資格試験は一つの目安に過ぎません。SIerでは資格が重視されることもありますが、Web系企業では資格はあまり重視されません。
資格を重視するのも人月管理でエンジニアの単価を設定することが目的なので、決して資格があるからスキルが高い、と評価しているからではありません。SIerではエンジニアの人数が多すぎて一人一人のスキルを把握するのが難しいため、仕方ないから資格を基準にその人の単価を設定している、ということです。
資格を持っていると月額で数千円から数万円程度単価が上がりますが、資格を取得してそれだけの単価を上げるよりは、スキルを磨いて実績を積んで、より単価の高い仕事を狙った方が良いかもしれません。
■Scalaの魅力・市場動向について
Scalaの魅力は命令型と関数型の両方に対応している、Javaの環境をそのまま引き継げる、親和性が高い、といったことです。言語的にJavaのグレードアップバージョンで、なおかつ環境をそのまま利用できるため、ほとんどのプロジェクトでScalaを導入できるということです。
Javaの仮想マシンで動くため、当然OSにも依存しません。なので、Web系の開発だけであく、AndroidやiOSでもScalaを導入できます。市場動向としてもアメリカを中心に世界中でScalaの需要は伸びており、今後もその傾向は続くでしょう。
今のところまだJavaやPHPの方が需要は大きいのですが、その辺のプログラミング言語をすでに押さえており、次に学習する言語に迷っている方にはScalaがおすすめです。
■Scalaの勉強法について
Scalaの勉強法は他のプログラミング言語と同じで、特に環境等同じであるJavaを参考にすると良いです。Javaの学習でも書籍、Webサイト、動画などを参考に基本をインプットし、環境構築し、実際に簡単な動作を試し、最終的にアプリ開発に取り組む、といった流れで学習したかと思います。
Scalaでもその手順はまったく同じです。ただし、すでに他のプログラミング言語の経験がある方は基本ロジックをいちいちエディタに書いて実行する必要はないかもしれません。面倒であれば基本的なことはインプットのみで済ませ、アウトプットは実際の開発で行うイメージでも良いかもしれませんね。