どうも、こんにちは。ハルオ(@haruovlog)です。
プログラミングスクールを検討している人なら一度は疑問に持ったことがあると思います。
結論を先にいうと、Rubyは初学者でも挫折しにくいとっつきやすい言語だからです。
しかし、未経験エンジニアとして実際に転職活動を始めると、Rubyを扱っている企業はそれほど多くなく、こと大阪に関して言えば、Java(とPHP)がほとんどです。
そのため、「高いお金を払って来ているのに、実務では扱われにくい言語を勉強させるのか?」と少なからず批判があります。
今回はその辺りの『なぜプログラミングスクールはRubyが多いのか?』について深掘りしていき、Rubyを勉強するメリットについても触れていきたいと思います。
この記事を見れば、
- プログラミングスクールがRubyを採用する理由
- IT業界で需要のある言語
を知ることができます。
僕は3ヶ月前まで大手プログラミングスクールTECHCAMPエンジニア転職(旧TECH::EXPERT)に通っていましたので、スクールの実態にも割と詳しめです。ですので、実体験に基づいて本記事を書いています。
これからスクールに通われる方に、より有意義な学習期間を過ごして欲しいと思って、この記事を書いています。
- TECHCAMPエンジニア転職(旧TECH::EXPERT)
【10週間で一番スキルが身につく】
- DMM WEBCAMP【就職サポートが手厚い】
- CodeCampGATE【PHPを採用、オンラインで全国から受講可】
- ポテパンキャンプ
【転職キャッシュバック付でコスパ最高】
- DIVE INTO CODE 【少数精鋭の質の高いサポート】
目次
Rubyがプログラミングスクールで採用される理由
繰り返しになりますが、Rubyがプログラミングスクールで多く採用されている理由は『Rubyという言語が未経験者でもわりと簡単にそこそこのアプリを作ることができ、他の言語と比べて学習コストが低いから』というのが大きな原因です。
なんで学習コストが低いかを具体的に説明すると下記2点です。
- 型ができているので、未経験者でも簡単にwebアプリを作成できる
- 日本人が開発した言語なので、日本語のQ&Aが豊富
型ができているので、未経験者でも簡単にwebアプリを作成できる
Rubyというプログラミング言語が簡単にwebアプリを作成できる1番の理由はRubyのフレームワークであるRuby on railsの存在が大きいです。
一例を取り上げると、Webアプリにログイン機能をつけるとします。
普通、ログイン機能を作ろうと思ったら、
- ログイン機能、
- ログアウト機能、
- 新規登録機能
などを実装しなければいけませんよね?
しかし、ruby on railsはログイン機能というパッケージをダウンロードするだけで、上記のまとまった機能を簡単に実装することができます。
もちろんダウンロードした後は、アプリによって細かな仕様があるので、自分でコーディングしなければいけないですし、全く何もしなければいいという訳ではないですが、初学者でも短時間で形のあるwebアプリを作ることができます。
もっとわかりやすく例えるなら、PHPなら10やらないといけないことを、Railsだと1つの手順でそれも簡単に出来てしまいます。(厳密にはPHPにもフレームワークはありますが今回は割愛)
ですので、プログラミングスクールのような短期間学習でwebアプリを作ろうと思ったらRubyはうってつけの言語という訳ですね。
日本人が開発した言語なので、日本語のQ&Aが豊富
Rubyは日本人のまつもとゆきひろさん(通称:Matz)が開発したプログラミング言語ですので、他の言語と比べて日本語の文献が豊富で、エラー文でつまったとしても、ネットで調べると日本語の回答がわりと転がっていることが多いです。
上記より、Rubyは独学でも調べたら解決できることが多々あり、プログラミング言語の中で未経験者が一から学習するハードルはかなり低めの部類に入ると思います。
例えば流行りのPythonのエラー文でググってみると、日本語の文献はあまり出てこずに、英語の文献ばかりが出てきて読むだけでかなり苦労します。そして読んでみて自分が欲しい答えじゃなかった時なんてめっちゃ疲れますよね?笑
プログラミング初心者はただでさえ、挫折率9割以上のプログラミング言語を学習しているのにその上、英語で文献を調べるのってめちゃくちゃハードルが高いんですよね。
そういった点でRubyはわりと日本語の文献が出てくるので、独学でもなんとかできる場合が多いです。
後、最近Rubyを扱うプログラミングスクールが増えている影響で、過去のスクール生が質問したんだろうなという内容を見かけたりします。
ですので、Rubyはわりとネットで調べたら解決できる場合がかなり多く、エラーでつまづく確率は他の言語に比べてかなり低いと思われます。
Rubyは需要があるのか?
「プログラミングスクールの学習言語になぜRubyが選ばれているのか?」はここまででわかったと思います。
Rubyは実際のところ、転職時に役に立つ言語のなのか?という観点からお話ししたいと思います。
まずは実際に実務上で需要がある言語をみていくことにします。
下図はレバテックが運営するITエンジニア、クリエイター専門エージェント「レバテックキャリア」が2019年6月11日に発表した、「プログラミング言語別求人案件割合ランキング調査」てす。
期間中の新規求人案件を分析したところ、プログラミング言語別の求人案件は、「Java」(31.10%)が昨年同様に1位を獲得した。前年に比べ4.8ポイント増加している。「Java」の上昇傾向は、スマートフォン決済サービスやブロックチェーン業界などでの需要が拡大していること、システム投資の市場の活況などが要因と考えられる。
2位は「PHP」(14.96%)で、前年比2.1ポイント減少した。新規サービスを立ち上げる際に「Ruby」や「Python」を取り入れる企業が増加していることが、PHPの減少傾向の理由と見られるが、依然として割合は多く、1位の「Java」と2位の「PHP」の2言語だけで求人の約45%を占めている。 (レバテックキャリアより)
上記の通り、市場ニーズとしてはJava,PHPが求人の約45%を占めているので、RubyはJava,PHPの足元にも及びませんが、PHPに次いで3位で、前年度比で求人数は増加しているので、市場としては伸びている言語だと言えるので、未経験者がRubyを選択するのはそこまで悪くないというのが僕の見解です。
ここまでを総括すると、Rubyはプログラミング言語としてはもっとも学習しやすく、市場のニーズもそこまで悪くないということで、未経験者が学習するにはバランスが取れている言語だと言えます。
就職は言語にこだわらず、実務経験が積めるかを重視すべき
結論としては、未経験者がRubyを選択するというのは「挫折しにくいという観点」と、「市場ニーズ的な観点」で考えて、悪い選択ではないのは間違いなさそうです。
一方で求人案件の過半数を占めているのはJava,PHPなので、未経験者のほとんどはJava,PHPを扱うエンジニアになってしまうという現実も認識しておいた方がいいです。
こと、大阪に関しては、javaがほとんどで、Rubyの案件なんてめったにお目にかかれないと思っておいた方がいいでしょう。
正直なことを言うと、未経験者で一番大切なのは、まずはプログラミングを書ける環境に身を置くことです。
どの言語を選ぼうと未経験者はそもそもプログラミングの下地(webの仕組みなど)がわかっていないので、どの言語から実務をスタートしても気持ち問題以外でほとんど差はないです。
それよりも実務経験をどれだけ積んだのか?がエンジニアとして早く一人前になれるコツです。
ですので、未経験でエンジニア転職を目指している方は言語だけにこだわらずに自分の今後のキャリアを見据えて就職活動をやって欲しいと思います。
Rubyが書けたら、他の言語も習得は容易
正直、Rubyだろうが、PHPだろうが、一つの言語がある程度書けるようになれば、次、学習する言語はわりとすんなり頭に入ってきます。
事実、僕はプログラミングスクールでRubyを学習した後に、独学でPHPを学習しましたが、Rubyをやっていたおかげで、PHPはそこまで拒絶反応を示すことなく学習することができました。
どのプログラミング言語も基本的な構文の形は似ているので、最初の言語をある程度理解出れば、次の言語もわりと苦もなく学習できるんだなと身をもって実感しました。
そういう意味では未経験者でも挫折しにくいRubyをプログラミングスクールで勉強しつつ、他の言語も勉強するというのが、他のスクール生と差別化できて、就職活動も有利に進めることができるのかなと転職活動を終えた後にヒシヒシと感じました。
以上、参考になれば幸いです。
エンジニアとして働きたい方や、フリーランスエンジニアが気になる方はまずTECHCAMPエンジニア転職(旧TECH::EXPERT)の無料カウンセリングを受けることをお勧めします!
カウンセリングではwebエンジニアについてわからないこと、未経験で転職できるのか?、フリーランスのメリットやデメリットなど疑問に思っていることについて、どんな質問でも真摯に答えてくれるので、自分のエンジニアとしての将来のビジョンがより明確化できると思います。
カウンセリングは無料で実施しているので、とりあえず人生相談をするつもりで気軽に行って見ることをお勧めします。
TECHCAMPエンジニア転職(旧TECH::EXPERT)の無料カウンセリングはこちら⇩