こんにちは、ITプロマガジンです!
この度、プログラミング言語と各言語の案件で求められることについて特集をすることにしました。
というのも、多くのエンジニアの方に、「フリーランスになる上で必要なスキルセットがわからない」というお声や、「スキルの幅を広げるために新たな言語を身に付けたいけど、どれにしようか悩んでいる」などなど、様々なご相談を頂くからです。
そこで、フリーランスエージェントとして様々な技術トレンドを追ってきている私たちが、この場をお借りして今その言語を使った案件で求められているスキルについてお話します!
今回は、今現在のところ、日本生まれのプログラミング言語では唯一、世界標準となった「Ruby」についてご紹介いたします。
この記事はこんな方におすすめです。
- これからエンジニアになろうと考えている方
- すでにフリーランスでスキルの幅を広げられる案件を探している方
- すでにエンジニアだが、フリーランスエンジニアになろうと考えている方
- Ruby案件をお探しの方
「Ruby」の概要
上でも触れましたが、「Ruby」は日本生まれの汎用プログラミング言語です。
登場したのは1995年で、よく比較対象に挙げられる「Perl」(1987年)や「Ruby」(1991年)よりも新しい言語となっています。
生き物がどういう風に進化し種類を増やしていったのかを示す系統樹というものがありますが、それのプログラミング言語版を作るとすれば「Ruby」は「Perl」から枝分かれして進化したもの、ということになるでしょう。
そして、特にライバルとなる「Python」も「Perl」から枝分かれして進化したものということになりますが、「Ruby」と「Python」の進化の方向性において対極関係にあります。
まず二つの言語のもとになった「Perl」にはTMTOWTDIで知られる、「やり方はいろいろある (There’s More Than One Way To Do It)」というポリシーがありました。
このポリシーはエンジニアのスキル次第で、同じことができるプログラムだとしても、より優れたソースコードを書けることを意味しています。
反面、未熟なプログラマーが書くと、より劣ったソースコードになってしまうこともあります。また、人によってソースコードがまちまちで可読性が低い、という欠点もあります。
「Python」はそういった「Perl」が掲げる問題点の解決法として、「ただひとつの美しいやり方がある」という原則を提示しました。
つまり、誰が書いても基本的には同じようなソースコードになる、というのが「Python」の仕様であり、特徴です。
この特徴のおかげで「Python」はプログラムの品質を一定レベルに維持することが容易になり、ソースコードの可読性も上がり、システム開発の効率性が上がりました。
しかし、ベテランプログラマーでも新人プログラマーでも同じソースコードになる、というのは、「楽しくないよね」ということになり、更に登場したのが「Ruby」です。
「Ruby」は「Perl」の「やり方はいろいろある」より緩やかな「多様性は善である」という方針が掲げられており、非推奨な手法も可能としています。
その特徴から「Ruby」と「Python」どちらが良いか甲乙つけがたいが、書いていて楽しいのは「Ruby」と答える方が非常に多いです。
「Ruby」でできることや案件の特徴
「Ruby」も汎用言語と呼ばれるだけあって、様々な使い方が可能ですが、もっとも案件として多いのは、Webアプリケーションです。
念のためWebアプリケーションについて確認しておきましょう。WebアプリケーションというのはWebブラウザーに埋め込まれたアプリケーションのことです。
例えばWebブラウザー上に表示された「クリスマスまで○○日」というカレンダーが表示されているとしましょう。
Webページとして表示する画面を作るのはhtmlですが、残り何日かを計算するプログラムはhtmlで作ることができません。
ですので、htmlとは別に残り何日かを計算して計算結果を、htmlに送る仕組みが必要となります。
このような状況に合わせて表示する内容が変わっていくWebページ(動的ページ)を作るためのプログラムをWebアプリケーションと言います。
「クリスマスまで○○日」と表示するページであれば、日数計算をして表示して欲しい日数を教えてあげるのがWebアプリケーションの仕事となります。
「Ruby」の需要と将来性
「Ruby」の需要ですが、多くの企業がWebサイトを運営し、その中で数多のWebアプリケーションが動いている、そして日本において自国発の国際標準言語ということもあり国内での「Ruby」のシェアはライバル「Python」よりもずっとずっと高い、という点から需要は多いです。
将来性についても、すでに「Ruby」を利用しているWebアプリケーション環境を「Ruby」以外の言語にするような案件もあまりなく、日本国内においてだけ見れば「Ruby」の需要は将来にわたっても安定しているかと思います。
しかし、「あくまで日本国内では」、の話であり、世界全体に見ると、必ずしも明るい情報だけではないどころか、むしろネガティブ要素が多い、というのも事実です。
海外では「Ruby」よりも、効率性に優れた「Python」の方が好まれる傾向が強く、Webアプリケーション分野において「Ruby」は「Python」の後塵を拝しています。
更に、注目トピックであり、今後の言語の命運を左右されると思われる、人工知能分野において「Python」には、多くの人工知能開発用ライブラリが登場しています。
結果、人工知能開発の最適言語の一つと見なされるようになりましたが、「Ruby」はライブラリ数が伸びず完全に出遅れています。
イーサネットの規格などでおなじみのIEEE(米国電気電子学会)の会誌『IEEE Spectrum』に掲載された2017年人気ランキングでは「Python」が一位だったのに対し、「Ruby」は10位以下にまで後退してしまいました。
世界の潮流を見ると、明らかに「Ruby」の需要は後退しつつあると言えます。
その事実を踏まえると、日本のエンジニアも「Ruby」だけでなく、「Ruby」と似ているため習得難易度が低く、将来性がより高い「Python」もたしなむ程度に知っておいた方が良いと思われます。
とはいえ、弊社の案件を見ても「Ruby」の案件は非常に多く、需要は高いと言えます。
「Ruby」の特徴
流石、日本生まれの言語と思うのですが、日本語の公式リファレンスが拡充しており、その中に非常に端的な他言語と「Ruby」の比較がありますので、今回はそちらのURLを紹介しておきます。(https://www.ruby-lang.org/ja/documentation/ruby-from-other-languages/)
なお、「Ruby」はオブジェクト指向言語ですが、数字や文字列までもがオブジェクトであり、オブジェクトではないデータ型がないため、純粋なオブジェクト指向言語と呼べる言語の一つです。
「Ruby」案件で求められること
すでにお伝えした通り「Ruby」の主な利用はWebアプリケーションです。
Webアプリケーションを作る際は、Webアプリケーションフレームワークを利用するのが常ですが、「Ruby」の場合、ほぼ100%、オープンソースの「Ruby on Rails」というフレームワークが利用されます。
「Ruby」案件に参画するのであれば「Ruby on Rails」に慣れ親しんでおくのが良いでしょう。
ちなみに「Ruby on Rails」は他の言語のフレームワークにも大きな影響を与えた画期的なフレームワークです。
「Ruby on Rails」を知っていると、「Ruby」以外の言語でも応用が効きます。
フリーランスエージェントを利用するメリットとデメリット
フリーランスエージェントを利用する上でよく挙げられるメリットとしては、「あらゆる負担を減らせること」に尽きるのではないでしょうか?
もう少し具体的に見ていきましょう。
①案件が途切れない
フリーランスになって一番大変なのは、案件探しでしょう。
それなりの人脈やSNSでの影響力があれば案件を獲得するための営業は必要ないかもしれません。
しかし、そうでない人がほとんどで、知り合いから紹介してもらったり、直接法人営業をしたり、SNSで案件を探したりと、自ら動く必要があります。
そしてその手法だと、案件が途切れそうな時に非常に困ります。
実務をこなしながら、多くの工数をかけて次の案件を見つけなければならないですし、無職の期間もできてしまい兼ねません。
しかし、フリーランスエージェントを利用することにより、ほぼ自動で、案件を途切らせることなく働くことが可能です。
加えて、個人では開拓が難しい大手の案件に入ることも可能ですし、エージェントが調整してくれるので、契約面で不利にさせられることもないでしょう。
②お金周りのサポートがある
フリーランスになると、今までは会社がやってくれていたお金周りの手続きを自分でしなければなりません。
例えば、確定申告やら、経費精算やらと何かと面倒です。
しかし、フリーランスエージェントによっては、お金周りのサポートもあり、税理士との無料相談会を開いているエージェントもあります。
フリーランスエージェントは、「案件を紹介してくれるだけの存在」という印象があるかと思いますが、「フリーランスとして働きやすい環境を提供してくれる存在」でもあるのです。
③福利厚生を使用できる
フリーランスになると、会社員時代にはあった福利厚生の制度を使うことができないという状態になってしまいます。
何かと不便ですよね。。
しかし、これもエージェント会社によるのですが、そのフリーランスエージェントを利用することで、特別な保険に入ることができたり、資格を取得する際の受験料が補助されたり、コワーキングスペースが安くなったりと、様々な種類の福利厚生を利用することができます。
以上のようにフリーランスエージェントを利用することで様々な面で楽になりますし、フリーランスにつきまとっていた、「生活も収入も不安定」という状態に陥ることもないでしょう。
フリーランスエージェントを利用するデメリットは?
逆にフリーランスエージェントを利用するデメリットですが、「当たり外れがある」という点でしょう。
当たり外れというのは、エージェント会社そのもの、エージェント会社の担当者の場合どちらもあります。
自分の話した意向が全く反映されない、対応が雑など様々ですが、念のため複数社のフリーランエージェントに登録することをオススメします。
また、フリーランスエージェント会社によって、それぞれ強みが違います。
福利厚生が充実していたり、案件単価が高かったり、柔軟な働き方ができたりなどなどあるので、自分の中で優先順位の高いフリーランスエージェントを利用してみましょう!
ITプロパートナーズを利用するメリット
弊社ITプロパートナーズは、週2日から可能な案件を多数保持・ご紹介しています。 その中で、ユーザーのフリーランスエンジニアの皆さんからよくいただくご質問として、
- 「本当に週2〜3日稼働OKの案件なんてあるの?」
- 「なんで週2~3日で良いの?実際は数が少ないんじゃないの?」
- 「なんだかんだ週5日に誘導しようとしてくるんじゃないの?」
- 「なんか怪しい・・」
- 「どうやって週2~3日稼働を可能にしているの?」
- 「週2~3日でOKな案件って実際どんな案件なの?」
といった声をいただきます。
今までのこの業界では、大手エージェント含めて、週5日稼働が当たり前でした。
その中で週2~3日でOKな案件というのは聞いた事もないし、本当にそんな事が可能なのか?と疑問に思われてしまうのは、仕方ないかもしれません。
結論を言えば、週2日・3日の稼働は本当の本当に可能なんです!
それでも、すぐには信用していただけない方に向けて、なぜ弊社は週2~3日案件を持っているのか?なぜそれが実現可能なのか?実際どんな案件があるのか?といった疑問について答えていこうと思います。
そもそも週2日から可能な案件って何?
では、そもそもですが、週2日から可能な案件の定義って何でしょうか。
そちらを改めて、こちらで定義しておこうと思います。
通常、エンジニアの方が会社員から独立して、フリーランスになった場合、エージェントサービスに登録して、エージェントに紹介された企業の業務委託案件で収入を得ていく方が多いと思います。
ただし、そのほとんどはクライアント先に週5日常駐して、黙々と開発業務を進めるといった形のフリーランス案件がほとんどで、報酬・収入は増えたものの、会社員時代からそこまで働き方は変わっていない・・という現実がありました。
すると、せっかく独立して、自由と責任を得たのだからと、自分がチャレンジしたかったプロジェクト(例えば、自社サービスの企画開発や、没頭したい趣味など)へ割ける時間が捻出できず、何のために独立・フリーランスになったんだっけ・・?と悩まれているエンジニアの方も多いと聞きます。
そこで弊社ITプロパートナーズは、週2~3日の働き方で固定収入を得られ、残りの週2~4日で自分が本当にやりたかったプロジェクトへの時間を捻出するといった働き方を提案しようと、このようなサービスを提供するに至りました。
実際、弊社のご登録のフリーランスエンジニアの方々の多くは、週2~3日で収入を得て、残りの時間で充実した人生を送っている方々が多くいます。
週2日から可能な案件って実際どれくらいの数あるの?
では、「実際週2~3日の案件ってぶっちゃけどれくらいあるの?」と、エンジニアの皆さんからご質問をいただきます。
数値でお見せした方がわかりやすいため、今回は、直近、弊社で取扱をさせていただいている新規案件1,000件内の稼働日数ごとのシェアを算出してみました。
上記掲載のグラフ図を見ていただければわかる通り、以下のような比率になっています。 なんと、7割近くが週に2~3日稼働OKな案件なんです!!
- 週2~3日 67.9%
- 週4日 5%
- 週5日 25%
これで、「週2~3日の案件って本当にたくさんあるんだ・・!!」と信じていただけたかと思います(笑)
週2日から可能な理由
ITプロパートナーズには、実際にたくさんの週2~3日可能案件があるのは理解したけれど、今までそんな会社やサービス、案件ってなかったのに、なぜITプロパートナーズはそれが実現できているの??と思われるかもしれません。
弊社が週2〜3日OK案件を多数取り扱っている理由についてご説明します。
①弊社の創業の経緯・理念が自立したプロ人材を増やす事だから
そもそも弊社が設立した目的や理念は、「自立した人材を増やし、新しい仕事文化をつくる」です。
その理念に基づいた事業展開、サービス展開をしていくために、週2~3日OKの案件に設立当初からこだわっているのです。
自立したプロには、週2~3日で報酬を得てもらい、残りの時間で自分の好きな事や本気で取り組みたいプロダクトを作ってもらえればと思っているのです。
②クライアント企業に直接提案しているから
弊社は、社員として約20名近いエージェント(コンサルタント)がいます。
彼ら彼女らは上記の理念に共感して入社しています。 そのエージェントが直接クライアントに訪問し、経営者・役員・事業部長・採用担当者に自分たちの想いやサービス価値をプレゼンテーションし、啓蒙した上で、この市場・働き方を提案しているのです。
最初は懐疑的なクライアント企業もいましたが、試しに活用いただき、その価値を感じてもらいながら、サービスが世の中に浸透してきたという経緯があるのです。
③週2日から可能なクライアントを中心に取引しているから
あとは言え、全ての企業やクライアントが、週2~3日OKというわけではありません。
そのため、そうした理念やサービス価値を理解していただける会社をパートナーとして選定して取引しています。
弊社のクライアントはそうした新しい取り組みへの理解のある成長企業が多いのです。
④登録者の質が高いから
一方で、週2〜3日稼働OKの案件・プロジェクトというのは、高いプロ意識を求められます。
少ない時間・工数で、同じ程度かそれに近いパフォーマンスを求められるからです。
弊社に登録しているITプロの方々、フリーランスエンジニア、デザイナー、ディレクター、マーケッターの方々は、大手メガベンチャーでプロダクト責任者をやっていた方や、フリーランスとして長く深い経験・スキルを持った方々が多く登録いただけています。
そうした優秀でプロ意識高い方々が多い事もあり、クライアント企業も価値を感じてサービスを導入していただけているのです。
週2日から可能な具体的な仕事内容って?
では、実際に、週2日から可能な仕事内容って具体的にはどういった内容なの?と思われるかもしれません。
以下のような魅力的でチャレンジングな案件・内容が多いと思います。
- スタートアップフェイズの開発チーム・組織作り
- 上場ネット企業の新規サービス立上げをビジネス企画から入ってほしい
- 大手事業会社のITチームの立上げをノウハウ経験豊富なプロに任せたい
もちろん魅力的な分、求められるレベルやスキルは高めではありますが、こうした経験を積む事は社員としてではチャンスが少なく、フリーランス・プロの方々にとっても、良い経験やスキルアップ機会となり、自分自身の起業やプロダクト作り、ビジネス展開へも良い刺激や学びになっていると伺っています。
もちろん中には、とある国家機関での案件や、大手の案件と言った案件もございます!
なんだかんだで他社エージェントみたく週5日に寄せていったりしないの?
一部の同業他社では、弊社を模倣して、週2~3日OK案件を告知・広告して登録を促したにも関わらず、実際にエージェントを訪問して面談してみると、なんだかんだで週2~3日案件はほとんど扱っていなかったり、紹介してくれず、週5日稼働の常駐案件へ誘導してくる等といった声を最近聞くようになりました。
確かに、実際、2~3日などよりも、週5日など稼働数を増やした方が、会社としては儲かります。
ビジネスとしてそのように誘導していく事はある意味では合理的かもしれません。
ただ、弊社としては、これまでご説明してきたとおり、実際に7割近い案件が週2~3日案件であり、会社の理念・目的そのものが、自立した人材を増やす事であるため、実際に週2~3日の案件マッチングを中心にご提案させていただいてますので、ご安心いただき、ご登録・ご相談いただければ嬉しいです(^o^)