Ruby

Rubyの現在ってどうなの?
フリーランス案件・求人からみるRubyの今

Rubyは、使えば使うほど、「なじんでくる」不思議な言語です。
オブジェクト指向プログラミングを自然に身につけることができ、表現力も非常にパワフルです。実は1990年代に登場した歴史ある言語なのはご存知のことだろうと思います。

では、そのRubyを駆使すると、どんな仕事があるのでしょうか。フリーランスエンジニアの「案件の傾向」「報酬の相場」「求められるスキル」「将来性」を確認しつつ、フリーランスRubyエンジニアがどの程度、活躍できて、どの程度社会に貢献でき、どの程度のリターンを得ることができるのか、みていきましょう。

Rubyとは?

Rubyとは、スクリプトかつインタプリタタイプのオブジェクト指向型言語です。

特徴としてはその書きやすさ、日本語との親和性が高いというのが挙げられます。それもそのはず、日本人のMatz(まつもとゆきひろ)氏が、自然なオブジェクト指向言語を作ろうとしたもので、芸術的なまでに美しくプログラミングできます

登場は1995年。最初はほそぼそと使われていましたが、アメリカのプログラマの間で爆発的に普及し、そこから逆輸入の形で日本でも使われるようになりました。日本人プログラマが発明し、アメリカで人気となり、徐々に日本でも使われるようになってきたのです。

使われるシーンとしてはWebサービスの開発シーンが多いものと考えられます。日本のWeb業界は2000年のITバブルを皮切りにサービスが一気に普及しました。その後、2007年にiPhoneが登場してからは、スマホアプリも爆発的に増えたのです。その結果として、Webサービスおよびスマホアプリの仕事が劇的に増加し、エンジニアのニーズはますます高まることとなったのです。

そこで、Rubyです。Rubyはもともと、システムがクライアントーサーバ型システムの頃に作られているのにも関わらず、その抜群の拡張性でWeb型に乗り換え、そしてスマホアプリもカバー範囲としてきました。Matzさんご本人のアップデートだけでなく、有志によるライブラリの追加やフレームワークの開発によって、よりパワフルな表現が可能になったのです。

サーバ上で動作すること、さらにはスマホアプリもその対象としていること、そしてコードが美しく、さらには、オブジェクト指向という極めて難易度が高い設計思想を、比較的容易に、初心者でも実装できるような言語であることから、圧倒的な人気を誇ります。

プログラミング言語において、初心者でも理解しやすいというのは大切なことではないでしょうか。RubyはスーパーエンジニアのMatz氏によって開発されましたが、その発展には、多数の優れたエンジニアが、初心者を啓発し、指導していったことも関わっています。Rubyを学ぶ初心者が増えてRubyのシェアが広がれば、熟練者がそれをひっぱって、全体のニーズが増えることとなります。それがRubyに起きたことです。

フリーランスのRuby案件・求人の傾向

フリーランスのRuby案件はふたつの主流にわかれます。

ひとつが、Web開発。ベンチャー企業を中心とした、Webサービスの開発やメンテナンスを行う仕事です。Rubyは非常にパワフルな言語なので、大規模案件から小規模案件まで柔軟に対応できます。ひと昔前までは、大規模案件といえばJavaが主流でした。いまでもJava案件は多いのですが、Ruby on Railsが登場してからは、Rubyで大規模案件を開発するケースも多くなっています。例えば、初期のTwitterもRubyで書かれていますし、クックパッドもRuby on Railsで動いています。

フリーランスRubyエンジニアが関わるような案件は、それらのように大規模案件のもありますが、傾向としてはベンチャー企業が運営する小規模開発案件などが多くなります。ベンチャーや小規模な案件だから報酬が低いということはありません。逆に、Rubyのスキルとあなたのポテンシャルを最大限に活用しながら、活躍することができます。

そして、もうひとつがアプリ開発です。
Rubyでスマホアプリ開発は、以前ならばできなかったのですが現在はできるようになっています。RUBYMOTIONを使えば、iOSもAndroidもWebアプリも自在です。このように、Rubyを使ってスマホアプリをそのまま開発することもできれば、サーバサイドのバックエンドプログラムを開発することもできます。

スマホアプリは、10年前にiPhoneが市場に登場してから、いまなおシェアを広げ続けています。日本においては、若年層にスマホが行き渡り、徐々に高齢者世代にもスマホが浸透しようとしつつあります。高齢者にスマホは難しいと思いきや、若者が家で親や祖父母にスマホを教える、という構図ができており、家族間でスマホの勉強をすることで、全世代にスマホが行き渡る未来もそう遠くはありません。

よって、スマホアプリもまだまだポテンシャルがあるものと見込めます。

Ruby案件・求人の報酬相場

では、Ruby案件の報酬の相場をみていきましょう。
Emileeエンジニアの掲載案件を見てみると、報酬は月50万円から85万円前後となっています。100万円を超えるのはまれですが、そのかわり50万円を切る案件もほぼありません。年収換算すると、600万円~1020万円となります。月85万円が安定して取れるようになれば、それだけで1000万円プレイヤーですから、チャレンジしがいがあるのではないでしょうか。

フリーランスなら、仮に月の売上が50万円だったとしても、ほぼ100%が自分の手取りとなります。書籍を買ったり勉強会に参加したり、そして自宅でリモートワークするなら家賃や通信費がかかりますが、それらはすべて経費として計上できます。残ったお金はすべて利益となりますので、自由を手にすることができます。非常に魅力的な働き方です。

Ruby案件の求人情報 事例

Rubyフリーエンジニアに求められるスキル

Ruby案件を上手に取り、チームに溶け込んで、パフォーマンスを出していくには、どのようなスキルが必要なのでしょうか。

まず基礎的なコンピュータ・アーキテクチャの知識です。
RubyそのものはC言語で書かれているため、メモリ管理のmalloc()とfree()はコンパイラ内で変換され、Rubyプログラムがメモリをコントロールしています。よって、コンピュータのアーキテクチャを意識する必要はないのですが、それでも、システムのことを何も知らなくていいというわけにはいきません。

昨今、フリーランスのブームで、さまざまな人がフリーランスエンジニアになろうとしています。プログラミングスクールも大盛況。そして、アフィリエイト報酬が高いことから、影響力のあるブロガーたちが、会社員からフリーランスエンジニアへの転身をあおり、多くの人がフリーランスエンジニアになろうとしています。

人材不足の昨今、引き合いは多くあることでしょう。またIT業界は当分の間、いきおいよく伸びていくことから、エンジニアになるのはとても可能性の広がる選択肢です。しかし、自由に生きること、お金を稼ぐことに夢中になりすぎて、コードの可読性や“正しい“プログラムを書く技術がおろそかになっている傾向もみられます。

つまり、ただ単に仕様を満たすコードを短時間で書きなぐって生成することで生計を立てようとしているのでは、この先行き詰まることは間違いありません。コンピュータ・アーキテクチャの基礎をしっかり学び、単純に顧客からのリクエストを満たすだけではないそれ以上のプログラムを納品していかないことには、ネットにあるコードのコピペを繰り返すだけになってしまいます。

そこで、どのようなスキルが必要なのか、初級・中級・上級にわけて、みていきましょう。

初級Rubyプログラマに必要なスキル

初心者はまず、Macbookなど、マシンにRubyをインストールして、ビルドするところからはじめましょう。どのようなプログラムがインストールされ、どのようなライブラリを参照しているのか、チェックしていくだけでも、少し学びが深くなります。

そして、簡単なクラスを作ってみましょう。クラスとは、C++でいうところの構造体に機能がついたもので、継承の概念を持ちます。たとえばスマートフォンでいえば、“電話“という機能を継承し、”スマートフォン・クラス“を定義する、という形になります。よって、電話を継承するのですから、他には”ガラケー・クラス“や”国際電話機・クラス“なども定義できるというわけです。まずはここから学んでみましょう。

中級Rubyプログラマに必要なスキル

クラスの概念を理解したら、次は複数のクラスとメソッドを組み合わせて、プログラムを動かしましょう。上記の例でいえば、スマートフォン・クラスをnewし、インスタンス化することで、具体的に使えるようになります。そこで、新たにそのスマホを持った高校生クラスを定義し、スマートフォン・クラスの中に定義した、アプリを実行というメソッドで動かします。

このように、具体的なイメージから、Ruby内のプログラムを設計することもできます。「すること“も“」と表現したのは、オブジェクト指向プログラミングは必ず現実の事象と挙動が一致するわけではないのです。そのあたりを理解すると、よりレベルアップした実装が可能になります。

そして、GitHubでコードを公開してみてもいいでしょう。

上級Rubyプログラマに必要なスキル

上級といっても様々ですが、Ruby on Railsを使って、生産性の向上に挑みましょう。Rubyは非常にシンプルかつパワフルな言語でありながら、Pythonとは違い、コードに品質のばらつきがでます。よって、初心者・中級者・上級者で、同じ仕様を実装しながら、まったく違うコードが生み出されることがあるのです。もし上級者になりたいと願うのであれば、Ruby on Railsフレームワークを使って、コードを書きながらも、より生産性の高い、つまり再利用しやすいコードを仕上げる必要があります。

それらが、ひるがえってチーム全体の生産性向上をまねき、書き手の評価を高めてくれます。

Rubyフリーランスの将来性

Rubyの将来性はどうでしょうか。Rubyが世に出て20年以上が経過し、依然として使われ続けているどころか、RubyonRailsなどのフレームワークが登場し、さらにシェアを広げ続けています。現状の日本で、伸びている業界はIT業界だけといっても過言ではなく、入ってくるお金も大きい上に、若い人も中堅の人も、より良い社会をつくるため、自分と家族の幸福のため、起業する傾向がありますから、Rubyのニーズは高まる一方ではないでしょうか。

しかし、20年ほど前は、Rubyと同時期に登場し、同じようにスクリプト型かつインタプリタ言語であったPerlが人気でした。現在はPerlの案件は少なくなっています。RubyとPerl、何が明暗をわけたのでしょうか。そこにRubyの将来性に関するヒントが隠されているかもしれません。

Perlは、CGIを作ることや、テキストを操作することに長けた言語です。CGIというと、若いエンジニアの方はあまりなじみがないかもしれませんが、ようするに標準入力と標準出力を操作して、掲示板を作るのに最適な言語です。ひと昔前のWebサイトは、ほとんどがこのCGI形式で作られており、掲示板スタイルだったのです。

しかし、いまはWebサービスがより複雑となり、対応するプログラミング言語の側も、より高度な表現が求められるようになってきました。そこで、Rubyは、ダイナミックで迫力ある表現が可能で、なおかつオブジェクト指向型のため、ライブラリやクラスを再利用でき、よりスムーズかつスマートに開発が進められます。

日本製プログラミング言語でファンが多かったこと、かなり日本語と親和性が高く、書きやすい言語であることも、Rubyが生き残った要因のひとつです。そうした長所を考えてみると、いますぐ他のプログラミング言語があらわれて、Rubyを駆逐してしまう、ということは想定しづらいような気がします。

また、新しいプログラミング言語が登場するにしても、まったく新しい、無から言語が登場する可能性は非常に少なくなっています。なぜなら、既存のプログラミング言語の欠点を改良し、より人材の移動がスムーズになるべく開発された言語こそ、公益性が高くて広く普及するという側面があるからです。

つまり、新しいプログラミング言語が新たにマーケットシェアを取ったとしても、それは旧来の言語の悪い点を改良し、良い点を伸ばしたものであることが考えられますから、スムーズな移行が可能になるはずです。よって、Rubyの案件がなくなってしまうことがあっても、勉強熱心なあなたと、あなたが身につけたスキルが陳腐化することはほぼないでしょう。

Rubyフリーエンジニアの案件に興味をお持ちなら、エミリーエンジニアへ

Emileeエンジニアでは、エージェントによくある「企業側の営業担当」「フリーランス側のキャリアコンサルタント担当」「参画後のアフターフォロー担当」というように担当が別れておらず、専任の担当者による一気通貫のサポート体制が整っています。
あなたのことを良く把握した専属担当が、企業への営業やアフターフォローも兼任するため、紹介のミスマッチが起こることも少なく、案件紹介から終了、参画後のフォローまでサポートします。

また、Emileeでは参画された企業にて、エンジニアも企業も合意すれば、正社員として転職するオプションもご用意しています。

  • 自分のスキルで入れるiOSの案件はあるのか?
  • 具体的な案件の詳細情報を聞きたい
  • Rubyのフリーエンジニアについて、現状を聞きたい

などの相談レベルからでも問題ありません。まずは気軽に登録してください。

Rubyで楽しく、豊かなエンジニア人生を送りませんか。
Emileeでは、充実の福利厚生サービスもご用意していますので、安心して案件に取り組めます。仕事の充実度も人生の満足度もアップして、さらには収入まで増える、そんな環境を手に入れたいのであれば、ぜひエミリーエンジニアに登録してください。

Rubyに強い関心を持ち、得意とするあなたの応募をお待ちしております。エミリーエンジニアは、すべてのフリーランスRubyエンジニアを応援しています。

【Ruby】求人サイト開発の案件・求人情報

570,000 〜 720,000円 /月

【案件内容】:
既存サービスの新規機能開発。新規サービスの開発に携わっていただきます(設計~運用保守)

【勤務時間】: 10:00~19:00

勤務地
東京都
職種詳細
運用(監視・保守)
詳細を見る