Rubyでできることって?

こんにちは! ITプロパートナーズ・代表エージェントの木村です。

弊社では、独立精神旺盛な優秀なエンジニアの方々の独立・起業サポートや、フリーランス支援を行っています。

こちらでは、日々の現場でサポートさせていただいている中での、プロの目線で、エンジニアに役立つお話をしてまいります。

働き方の自由度を高めませんか?
  • 複業/フリーランスで月収80万以上を稼ぐ
  • 週2日、週10時間から働ける
  • フルリモートはもちろん柔軟な稼働時間
  • PM,PdMなど上流案件も多数

自分の強み×週1日〜フルタイム×リモート・フルリモートなど、働き方をカスタマイズして案件を探したい方へ

約6割が週1-3日案件のグラフ

Rubyの特徴=できること

shutterstock_646936522

Rubyでできることを知るために、まずはその特徴を理解しておきましょう。

今やもうRubyの説明なんて今さらかもしれません。まつもとゆきひろさんが開発した国産のオブジェクト指向スクリプト言語で、PerlやPHPにも負けず劣らず広まりつつあり、海外でも人気のプログラミング言語となっています。

PHPが後付けでオブジェクト指向言語としての特徴をアップデートで追加してきたのに比べて、Rubyは生来オブジェクト指向言語として開発されており、PHPから鞍替えしてくるWebエンジニアも多い昨今の状況です。

また、強力な正規表現を備えており、言語名が宝石の一種であるRubyであることからもPerlを強く意識した言語でもあると言えます。Perlの文化である「TMTOWTDI(There’s More Than One Way To Do It)」を引き継いで多様な書き方を許すのもRubyの特徴のひとつです。この点ではPythonの“There should be one―and preferably only one―obvious way to do it”という考え方と比較されることも多いです。

最近のWebサービス開発のスタートアップにおいては非常に人気の高いプログラミング言語として扱われています。

なお、Rubyを生かしてフリーランスになりたい方は「フリーランスエンジニアになるには?」の記事もぜひ参考にしてみてください。

Ruby on Railsとは

「Ruby」について説明するならば避けて通れないのが「Ruby on Rails」です。

求人サイトなどでも誤解されていることが多いのですが、「Ruby on Rails」はあくまでも「Ruby」という言語のためのフレームワークに過ぎません。「PHP」に対する「Symfony」や「CakePHP」と同じです。募集要項の中に使用するプログラミング言語として「Ruby on Rails」と書いてしまうような求人が後を絶たず、自分から技術のことがよく分かっていない会社であると宣伝しているようなもので、エンジニアからは地雷を避けるための判断基準として用いられていたりもします。

しかし、こうした状況から単純にプログラミング言語の羅列ではなく、どのようなフレームワークを用いて開発しているのかを明記する求人も増えてきているのは良い影響と言えそうです。単純に言語だけを並べられても具体的な仕事の像が見えてきません。

どのような開発体制で開発が進められているのかを把握する一端になるという意味でも、プログラミング言語だけでなく使用してきたライブラリやフレームワークを明示するのは、採用側の企業にとっても応募側のエンジニアにとっても重要視されてきています。

Rubyと他言語の比較

パソコンのキーボードとカラフルな積み木

Rubyと比較されるプログラミング言語としては「PHP」「Perl」「Python」が挙げられます。主にWebアプリケーション開発の分野において比較検討されることが多いのですが、Ruby on Railsというフレームワークの充実や日本語資料の多さと書き方の柔軟性などから、導入から習得のスピードを重視する企業やチームにおいて、Rubyが選択される機会が増えています。

また、教育用の言語としてもPythonと比較されつつ採択される機会が増えているようです。ここ数年でプログラミングを教えるブートキャンプ的な講座が爆発的に増加しているのですが、そうした講座で選択されるプログラミング言語としても人気を博しています。

小中学生を対象としたプログラミング教室などでは「Scratch」や「Python」が選択される機会も多いのですが、大学生や社会人を対象とした講座では就職や転職、キャリアチェンジなどを視野に入れるユーザが多いため、マーケティング的な理由から「Ruby」が人気となっているようです。こうしたプログラミング講座においては「PHP」や「Perl」では今ひとつ訴求力が不足しており、「Ruby」という言語のネームバリューはかなり高いと考えて間違いないでしょう。

Rubyを勉強すればできること

Marketing.
Marketing.

①:Webサイトの開発

ネット上に公開されているWeb サイトはRuby on railsであっという間に開発できます。
もちろんPHPなど、他のプログラミング言語でもWebサイトは開発可能ですが、WebサイトはRubyで開発した方が圧倒的に良いとされています。

理由としては、やはりRuby on railsというフレームワークにあります。
Webサイトを作るためのgemが充実しているため、非常に少ない工数でWebサイトを開発できます。

②:API開発

スマートフォンアプリを開発した際にサーバーサイドと連携するためのAPIもRubyで開発する事が出来ます。

「スマートフォンアプリってswiftやJavaが出来れば開発できるんじゃないの?」と思われる方もいるかと思いますが、それは間違いです。
どのスマートフォンアプリを開発しても、サーバーサイドとの連携は必要不可欠です。

③:機械学習

機械学習は最近になりもてはやされたプログラミング学習です。
ぶっちゃけ機械学習に一番向いているとされているプログラミング言語はpythonです。

ただ、今後ライブラリが充実してくれば、Rubyも機械学習に向いている言語として認知されるかもしれません。

Rubyで書かれているプロダクト

Top view of people hands drawing business strategy successful plan
Top view of people hands drawing business strategy successful plan

次にRubyもしくはRuby on Railsで開発されたプロダクトを見てみましょう。

PHPなら「facebook」や「Yahoo Japan」、Perlなら「mixi」、Pythonなら「Instagram」や「Dropbox」と、それなりのプログラミング言語には有名なWebサービス開発で用いられた実績がついてまわるものです。

Rubyに関してはどうかと言えば、Ruby on Railsで開発されたものが主となりますが「GitHub」「Redmine」とエンジニアにとって縁の深いサービス・ツールがまず挙げられます。他にも「クックパッド」「AirBNB」などのWebサービスもRuby on Railsで開発されており、サービス運営開始後のアップデートのスピードが速いと感じられます。

こうした成功実績の積み重ねから、Rubyが今後も生き残って発展を遂げていくプログラミング言語のひとつになったことは間違いないでしょう。

中には、ゼロからRubyを学びたいという方もいらっしゃると思うのですが、そんな方には、テックアカデミーのカリキュラムをオススメしています。

Rubyのこれまでとこれから

Red arrow and magnifying glass on the background of graphs and charts.

Rubyが世界的に見ても成功したプログラミング言語であるということは疑う余地がありません。

これまでにも何度か取り上げてきたゴーリストの「プログラミング言語別求人給与額ランキング」においても、Rubyは上位をキープしています。

これらのランキングでは給与額をベースに順位比較をしていますが、「求人数」で見てもRubyは上位に食い込みます。用途の広いJavaや既存のシェアが膨大なPHPを別にすれば、求人の平均給与額の高さに対して求人数の多さを見ると、他のどの言語よりも習得の労力に対する時間対効果が最も高い言語であると言えます。

また、先述のプログラミング講座においてRubyを学んだ人たちが今後Rubyを用いて様々なプロダクトを生み出していくと考えられます。そういう意味でもこれからRubyのシェアはまだまだ拡大していくと予想され、Rubyを学ぶなら今のうちではないでしょうか。

仕事の観点から見たRuby

"engineering" - repair parts on graph paper background

業務利用という観点から見た場合、主にRuby on Railsを中心に開発やメンテナンスの案件が増えてくるのは間違いないでしょう。学習コストも低く、日本語のドキュメントや資料も充実しているので、今のうちに習得しておくべきプログラミング言語のひとつと考えておいて良いのではないでしょうか。

就職・転職・フリーランスといずれの立場においても、かじっておいて損のないプログラミング言語と言えるでしょう。これまでPHPやPerlのエンジニアとして活躍してきた人が、今後のことを考慮して習得するならばRuby以上に習得しやすいプログラミング言語はありません。

Ruby on Railsを含めてRubyを習得することで、これまで以上にオブジェクト指向プログラミングに対する理解が捗ります。今までPHPかPerlしかやってこなかった人には、Rubyを学ぶことは、これまで用いてきたプログラミング言語を客観的に見るキッカケとなるかもしれません。

Rubyを学んだことでPHPやPHPのフレームワークに対して、より深い理解を得ることができたという人も少なくありません。中にはすっかりRubyに鞍替えする人もいますが、Rubyでの経験を活かして元の言語に戻っていく人もいます。

また、Rubyエンジニアとしてと言うよりもWebエンジニアとして習得すべき周辺技術・知識には共通するものが多く、まずはRubyエンジニアとしてスタートしつつ、他の言語へも手を広げていくというやり方もアリです。

Ruby on Railsに慣れると他の言語でイチから書き始めるのが大変という声もありますが、それぞれの言語にもフレームワークはあるので、それらを活用していくことが近道でしょう。

しかし、下記の記事にもありますがWebエンジニアというのは、そもそも習得すべき技術範囲が非常に広範です。まずはRubyに注力してWebエンジニアとして中級以上を目指す努力を積み重ねていくのが良いかもしれませんね。

この記事で最後に追記されている「英語」という項目には強く同感です。エンジニアとしてスキルアップを望むなら「英語」は間違いなく必要な項目です。Rubyは国産のプログラミング言語で日本語の情報も充実していますが、それでもやはり世界的なプログラミング言語となっているからには英語が必要です。

また、Rubyに関しては海外でも求人が盛んになっていて、需要に対して供給が追いついていない状況があります。Rubyだけでなく英語を学ぶことで海外転職を果たすというキャリアチェンジの方向性もありかもしれません。

弊社オススメのRuby開発案件!

shutterstock_567167341
仕事内容☆週2から勤務可能☆Rubyのエキスパート!
諸条件日数:週に2日勤務〜 / 報酬:31〜40万円
勤務地東京都 渋谷区
応募資格必須スキル:  Ruby 1年

➡︎他にも弊社には数多くのRuby開発案件がございます。詳しくはコチラをご覧ください。

最後に

いかがでしたでしょうか。

Rubyでできることを把握するだけでなく、Rubyを取り巻く状況を理解することで、今後Rubyとどのように接していくのが良いかを考える材料になったのではないでしょうか。

どんなプログラミング言語にも言えることですが、これからのエンジニアは「Rubyエンジニア」のように特定の言語のみに特化はできなくなっていくでしょう。先述の記事にもあったようにWebエンジニアとして習得すべき技術や知識は広範に渡ります。Rubyのみに偏ることなく他の言語や技術分野への展開を考えつつ生涯勉強を続けていくことが、エンジニア人生を長生きしていくコツではないでしょうか。

Rubyの案件をお探しのかたは、本ブログの運営母体である「ITプロパートナーズ」に登録の上でご相談ください。

フリーランスの方でこのようなお悩みありませんか?
  • 高額案件を定期的に紹介してもらいたい
  • 週2日、リモートワークなど自由な働き方をしてみたい
  • 面倒な契約周りはまかせて仕事に集中したい

そのような方はぜひ、ITプロパートナーズをご利用ください!

フリーランスの方に代わって高額案件を獲得
週2日、リモートなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート

まずは会員登録をして案件をチェック!

この記事を書いた人
ITプロパートナーズ編集部
ITプロパートナーズはITフリーランスの方に案件紹介をしているエージェントです。当メディア「アトオシ」では、フリーランスの働き方から仕事探しまで幅広い情報を日々発信しています。