フリーエンジニアノウハウ

Elixir案件のイマがわかる!知って見つかる最適案件

フリーエンジニアにとって、専門とするプログラミング言語の選択は非常に重要です。新たなプログラミング言語を学び直すことは、世間で言われているほど簡単なことではありません。つまり、フリーエンジニアにとってプログラミング言語の習得は大きな投資。短期的な視点のみならず、中長期的な視点の両方で、状況をよく見極めることが大切です。

今回は数あるプログラミング言語の中でも近年注目を集めるElixirエンジニアの需要状況を、フリーエンジニアやこれからフリーエンジニアを目指す方にお届けします。
フリーエンジニアの案件探しならおまかせください

Elixirとは

ElixirはErlangのVM上で動く関数型言語で、RailsコミッタのJose Valimによって1986年に作られたプログラミング言語です。元々は通信機器メーカーのEricsson内部の独自言語でしたが、1998年にオープンソースとしてリリースされました。

近年盛り上がりをみせるElixirですが、それには以下のような理由があります。Erlang仮想環境上で動作することで、大量の並行処理を行うアプリケーションを高い信頼性で実現することができます。これまでは扱いにくかったErlangの文法をRubyに近づけ、Erlangにはなかったパッケージマネージャ、ビルドツール、マクロなどを持つことでRubyプログラマに馴染みやすい言語になっています。

Rubyと似た構文を持ち、Erlangと同様に並列処理指向の関数型言語というのが良い点です。分散処理を取り入れることで、耐障害性とレスポンスを向上させることができます。モダンなシンタックス、ライブラリを持つプログラミング言語で開発したいという要望がプログラマーの間に強くあり、それがElixirが誕生した背景なのです。並行性と信頼性、ホットスワップの特徴は通信事業者向けの分散アプリケーションの開発に必要だったのでしょう。

Elixirの特徴とは

スケールのしやすさ

Elixirの特徴の一つに軽量さがあります。軽量な性質により,同じマシン内で数十万のプロセスが同時に動作することも可能です。プロセスは分離しているので,それぞれ独立してGCを受けることができ,システム全体での停止を減らせ,全てのマシンリソースを可能な限り効率的に利用することができます。また、プロセスは同じネットワーク内での異なるマシン上にある別のプロセスとやりとりできます。これは分散の基盤として提供され,開発者は複数のノードに跨がる作業をうまく調整して動かすことができるようになります。

対障害性

プロダクション環境で想定外のことが起こるのは避けようのない事実です。ネットワーク,ファイルシステム,その他第三者のリソースまでを含めると、さらに想定しないことは増えます。障害に対処するため、Elixirでは予定通りに物事がいかなくなったとき,システムの一部をどのように再起動するかを決められるスーパーバイザーというものを提供しています。そのため、動作が保証されていることが既にわかっている初期状態へと戻ります。

関数型プログラミング

関数型プログラミングは開発者がコードを短く、速く、メンテナンスしやすく書くための助けとなるようなコーディングスタイルを推奨します。例えば、パターンマッチングは開発者がデータ構造を解いて中身へのアクセスを簡単にできるようにします。パターンマッチングをガードと一緒に使うと、いくつかのコードを実行するための具体的な条件を簡潔に示すことができます。

メタプログラミング機能

homoiconic 構文を持つため、ElixriプログラムはElixirのデータ構造として表現されます。lispのような強力なマクロ機構により、コンパイル後の構文木をプログラムからいじることができます。ここがerlangはじめ他の関数型言語と一線を画するところと言えるでしょう。ちなみに、homoiconic languageとしてはlisp系が有名ですが、それ以外にもfactorというスタックベースの言語が存在します。

Elixirのトレンドは

Elixir、そしてErlangの知名度はまだ高いとは言えないでしょう。しかし、意外と身近なところで使われている言語なのです。例えば、TwitterではejabberdというJabber/XMPP実装が使われており、WhatsAppもErlangを使用しています。Erlangは何億人とユーザーを抱えるような大規模なシステムに向いた言語なのです。今後プロセッサのマルチコア化が増々進む中、並行性と信頼性を備え、大量の並行処理を行うアプリケーションを高い信頼性で実現するErlangが活躍できる場面は増えていくでしょう。

プログラミング言語は時代とともに人気が移り変わるものです。つまり、10年後に生き残っている技術を今から予測するのは困難です。しかし先ほどお伝えした通り、並行性と信頼性を備えるErlangが活躍できる場面は増えていくと考えると、マスターしておいて損はないでしょう。また、現時点で有力な言語であるRubyと似た構文を持つと言われるElixirですので、Rubyistの皆さんにも取り組みやすい言語と言えます。
フリーエンジニアの案件探しならおまかせください

Elixirの求人トレンドとは

それではElixirの求人案件のトレンドをみていきましょう。まず、フリーエンジニアとして生活をしていくためには、案件を獲得し、報酬を得なければなりません。そのためには、エージェントから案件を紹介してもらい、面談を通過し、そしてやっと案件が獲得出来るという流れがほとんどです。

では、どうやったらこの面談を通過する数を増やすことが出来るのでしょうか?それは、今後の求人のトレンドを掴みつつ、求められる人物像に近づいていくことです。誰も必要としない技術を習得しても、もちろん案件は少なく、あなたが案件を獲得できる可能性も下がってしまいますよね。Elixir案件は、大量の並行処理を行うアプリケーションを高い信頼性で実現する必要性の高まりから、大量のデータを扱う会社を中心に求人が拡大しています。現時点ではFinTechやソーシャルゲーム、動画メディアなどが案件の中心にあります。

現時点での求人数はPHPやJavaと比べ多いとは言えませんが、今後もさらに需要が伸びていくと言われ、Elixirエンジニアの希少性は高く、企業から重宝される存在となれるでしょう。押さえておいてまず間違いない言語です。このように、開発需要が伸びる中、企業による開発者の採用は難航しているため、業務委託としてフリーランサーを活用するケースも増えてきているのです。

Elixir求人案件の単価相場は?

フリーのエンジニアが受け取る報酬の相場は一般的にプログラマで「40~60万」、システムエンジニアで「60~80万」と言われています。もちろんスキルや時間によりますが、一般的にはElixirですと一人前のエンジニアでだいたいの相場は月60万円〜高い方で100万円程です。
既に求人を探しているエンジニアの方はお気づきかもしれませんが、案件数だけで見るとRubyはJavaやPHPなどと比べて少ないほうです。しかし、エンジニアやプログラマーも慢性的に人手不足のため、Elixirを習得している方はかなり重宝される傾向にあります。Elixirを開発言語に採用する企業は年々増えていますので、将来的にも需要が伸びていくと予測されます。

まとめ

ElixirはFinTechやソーシャルゲーム、動画メディアなど大量の並行処理が求められる多くのプロジェクトで採用されている言語です。現時点での報酬の高さはもちろん、開発効率の良さやチーム開発との相性の良さも特徴の1つです。ぜひ習得し、お仕事を探してみてください。

本サイトを運営しているポテパンフリーランスは、独立したてのフリーエンジニアを対象にした案件紹介サービスです。業過のプロに案件探しを手伝ってもらいたい方は下記からぜひお申し込みくださいませ。

無料登録はこちら

案件を検索したい方はこちら

フリーランスになる方法ガイドブックはこちら
■この記事と合わせて良く読まれている記事
■ポテパン人気記事ランキング