JavaやRubyは未経験者は絶対に学んではいけない。

当スクールでは、Java言語、Ruby言語およびそれを使ったフレームワークであるRubyonRailsといったものはメインで教えてはいません。

もちろん講座としては存在し、そういった言語も基礎からしっかりと実務で使えるように学ぶことは出来ますが、そこを軸とはせず

 

フロントエンドエンジニアとして必要なスキルセット及びPHP言語

 

に特化して教えています。

なぜなら、

  1. 未経験からでも最短で稼ぎやすい(最もコスパがいい)
  2. 常駐でも求められるスキルレベルに対しての高単価で案件が豊富
  3. 職場環境の良い現場が多い
  4. 副業でも案件が豊富

だからです。

この記事は10分程度と長いものになりますが、プログラミング初心者のあなたが

どの言語を学ぶべきか?

どの言語が将来にわたってオールラウンドに稼げるのか?

の答えに確実にたどり着けるものになっていますので、必ずご一読ください。

プログラミングで何が出来るのか?が分からない方はこちらをまず見てみてくださいね。

プログラミングでできることって?作れるものや学ぶメリットを解説

1.未経験からでも最短で稼ぎやすい

環境構築が手軽で学習難易度が低い

どうせ学ぶならコスパ良くお仕事をして稼ぎたいですよね?

フリーランスになるのであれば、事業主となり、事業としてやる以上この「コスパ」な考え方は必要不可欠です。

そのコスパが良いと言われる所以には2点あり、「環境構築の手軽さ」「学習段階での理解のしやすさ」という点です。

Java言語の環境構築は挫折必死!?

まず、JavaやRuby、PHPといった言語は「サーバサイド言語」と呼ばれる私たちが普段使っているamazonやメルカリなどwebサービス、webシステムと呼ばれるものの裏側を作る言語になり、どの言語でも同じシステムを作ることは可能です。

例えば、「Java言語」というものは業務システムなど大規模システムでよく使われている言語になります。そのため、初心者にとってはかなり高度な習得難易度となります。

実際に「プログラミングを始めるまでの準備(環境構築といいます)で挫折しやすい」のが特徴で、私自身もJava言語から学びはじめた当初はこの環境構築がややこしく、この段階で挫折しかけました。その時は独学でやっていたのですが、環境構築までになんと「1週間」も費やしてしまうという。。

私は要領は良いタイプですが、それでもこれだけの時間がかかってしまうほど難易度が高いのです。

実際にこちらのような手順のように行なって初めて「プログミングを書く」というスタート段階に立つことが出来ます。

Java入門:https://www.javadrive.jp/start/

当スクールの場合はこういった環境構築から全て動画で分かりやすく解説をしていますが、それでもいきなりJavaから入ると初心者はわけがわからなくなるため、PHP言語がしっかりと身についた後にJava言語を学ぶようおススメしています。

Cloud9を使っている人は実務では使い物にならない

最近では、「環境構築いらずでコードが書ける!」という「Cloud9」というサービスもありますが、実際の実務で環境構築をせずにコードを書くことなど絶対にあり得ません。

この環境構築が学習段階で一人で出来なければ、そもそもの仕事としてスタートラインに立つことが出来ないのです。そういった環境で教えるスクールは実務の現場がわかっていない素人がカリキュラムを考えていると言ってもいいでしょう。

Ruby言語は黒い画面のオンパレード

同じようにJava言語とまではいかないまでも、環境構築時点で初学者に大変なのが「Ruby言語」です。Ruby言語でプログラムを書くためには下記サイトにあるような環境構築が必要になります。

そのほとんどが、ターミナル(Windowsではコマンドプロンプトと呼びます)と呼ばれる「黒い画面」を使って行う必要があります。

MacでのRuby環境構築2020:https://qiita.com/chihiro/items/efdf8b88865b7a93971f

初学者には、この黒い画面で何をしているのか全くわからないのです。これに更には、データベースといったソフトも黒い画面から色々入力してインストールをしていかなければいけません。わからないものをやっていても、一向に上達もせず、何かうまくいかなかった際に解決が容易ではないのです。

PHP言語は圧倒的な環境構築のしやすさ

その点、「PHP言語」はというと

「MAMPというソフトを1つインストールするだけ」

という手軽さです。

(Windowsの場合はXAMPPというソフトをインストールするだけです)

更にMAMPをインストールするだけで、データベースも使うことができるので、その環境構築の速さと手軽さは、天と地ほどの差ですね。

MAMPのインストール方法(Windows & Mac対応)

因みにこれを言うと一定数のエンジニア達が「コンソール(黒い画面)が使えずして何がエンジニアだ!」と鼻息を荒くするんですが、私が異業種独学で学んだ経験や何万人もの生徒に教えてきて思うのは「教え方には必ず順序がある」と言うことです。

教える必要がない。のではなく、未経験初心者が最初に学ぶべきものではない。ということが彼らには分からないんですね。教え方が下手な人の特徴なので気をつけましょう。因みに大学でも今だに「基礎が大事だ」とC言語から教えているんですが、未経験者へのプログラミングの教え方としてとて全くよくありません。

学習コストが低い

もう1点が、学習コストの低さです。

例えば、各言語で「ある言葉を表示するプログラム」を書いた場合の書き方の違いを比べてみましょう。

Java言語での書き方

Ruby言語での書き方

PHP言語での書き方

わかるでしょうか?Java言語では画面に文字を表示するだけでも何やら色々と書かなければいけないんですね。

PHP言語とRuby言語はほとんど変わりはありません。

Java言語の場合は90文字で、PHP言語だと30文字です。

乱暴に言ってしまえば、その差は3倍。

同じお金をもらうのであれば、少しでも文字を書く労力は減らしたいですよね。

 

Java言語は専門的な話になりますが「オブジェクト指向」と呼ばれる初学者が理解しづらい考え方、書き方の元で書かなければいけないため、学習コストがとても高いのです。

更には、Javaを使ってWEBサービス(通販サイトやフリマアプリの様なものを言います)などのシステム開発をしようとなると更にJSPやサーブレットといった理解、いきなりの初心者にはよく分からない「フレームワーク」といったものを使わなければ作る事ができません。

WEBサービスを作るまでに覚える事が山積みなのです。

私はJava言語もPHP言語、Ruby言語も仕事で使っていますが、PHP言語とRuby言語に関しては環境構築以外では、ほとんど学習コストに差はありません。

ですので、「未経験から分かりやすく最短で実務レベルにまで習得しやすい」のはこの段階ではRuby言語かPHP言語ということになるわけです。

 

また、Ruby言語もそれ単体ではWEBサービスを作ることは出来ず、これまた初心者には

「よく何をやっているのか分からないけどなんか作れたぞ」

なフレームワークというものを使う事になります。

その点、PHP言語だとそれ単体でWEBサービスが作れる(現場では「フルスクラッチで開発をする】と言います。)ので初心者にも理解しやすく、しかもフレームワークを使う前にフルスクラッチで作ることでその後の理解が大幅に違ってくるのです。

実際に当スクールでは他社がいきなりフレームワークから教え始めるところをフルスクラッチでまず作らせています。

実際にそういったスキルをつけた卒業生徒が転職活動をすると面接官から

「フルスクラッチでここまで作れるなんて凄いね!」

「未経験でここまで出来るの!?」

という言葉をよくいただきます。

それだけ、他スクールで学ばれた未経験の方というのはフレームワークだけ学んでしまうので

「なんとなく作れる(中の細かい仕組みは分からない)」

という状態のレベルまでしかいかないのです。実際の実務ではそのレベルではかなり戦力としては乏しいのが現状になります。

 

ちなみにPHP言語は後述しますが「副業」でとても扱われている言語になっています。

フリーランスエンジニアの副業案件を扱っている「Offers」でもそういった事が伝えられています。

副業・兼業に役立つOffers Magazine:PHPの副業事情。開発案件の注意点や個人開発での学び

2.常駐でも求められるスキルレベルに対しての高単価で案件が豊富

その次が「常駐」についてです。

正社員の場合は1つの職場で1日8時間週5で仕事をしますが、フリーランスの場合は週2、3〜でそういった正社員達が仕事をしている職場へおじゃまをして一緒に同じシステムの開発をしています。こういった仕事を「常駐案件」といいます。

そのほか、「副業」でランサーズなどクラウドソーシングサービスを使ったり紹介など営業をして「HPの制作」などの在宅で出来る仕事をする「受託案件」というものがあります。

プログラミングを仕事にするのであれば、就職・転職をして仕事をする場合もそうですし、フリーランスで企業に「常駐」をして仕事をする場合での「案件数の豊富さ」「報酬」「求められるレベルと報酬」も大事な1つの指標になります。

せっかく身につけたのに競合のエンジニアが多かったり案件が少なかったりで仕事がなかなか見つからなくては困りますよね。

報酬もですが、仕事にありつけるかは需要と供給です。

フリーランスや副業となれば更にそこが死活問題になっていきます。更には、報酬がとても良くても「求められるレベルがとても高い。重労働」なのであれば、コストパフォーマンスの悪い仕事ということになりますよね。

常駐案件の調べ方

まず、そういった常駐案件をどう調べるかというと

「フリーランス ITエンジニア エージェント」と検索するといくつもの案件マッチングサービスが出てきます。

いわゆる「エージェント会社」と呼ばれるで、ITエンジニアのフリーランスというのは他のフリーランスの仕事の人よりもエージェント会社が活発で、多数あるため案件で困ることがまずもってありません。

エージェント会社に登録しておけば、案件を紹介してくれるわけですね。

なので、自分で仕事をわざわざ営業しなくてもいい。ということです。もちろん、実際はエージェントをずっと使っていれば安泰ではなく損することも多々あるのですが、誰しも最初は利用することになります。その辺りの「フリーランスとしてどう頭良く稼ぐのか」は、卒業時にお伝えしているので参考にしてください。

実際にこのエージェント会社の中で最大手は「レバテック」というところになり、そこが一番案件数の情報を持っているので今回そこで調べてみましょう。

レバテックフリーランス:https://freelance.levtech.jp/

ここで、各言語を比較をしてみるとこんな感じになります。(2020年8月16日時点)

月額単価や最高単価は気にしなくて構いません。実際には「どうやって高単価案件にありつくか」「どう交渉するのか」が大事です。実際に私もフリーランスエンジニアとして7年やっていますが、最低でも月80万を下回ったことはありません。このあたりは実際現場で稼いでいる人だからこそわかる部分になります。

Ruby言語は衰退の一途

ここで大事なのは「案件数」です。

Java:2,045件

PHP:1,305件

Ruby:565件

JavaScript:1,459件

実際には他にもエージェントもあり、エージェントを利用していない案件もあるため、この件数が全体数ではありませんが、これだけ見ても

Ruby言語の案件はとても少ない

ということが分かりますね。因みに数年前まではPHP言語と並んで人気の言語で案件数もかなりあったのですが、今では見る影もない状態で衰退の一途を辿っています。

 

プログラミング言語別案件数の推移を表した折れ線グラフの画像。詳細は以下

出典:レバテックフリーランス フリーランスITエンジニアの需要はどこにある?スキル別の求人・案件数から探る今後の市場動向(https://freelance.levtech.jp/guide/detail/68/

実際、Ruby言語、RubyonRails言語を教えているスクールの中で有名なスクールも元は

「自分の会社がRuby主体で開発を請け負っていたが、案件がなくなってしまい教える側で収益をあげるようになった」

というところが少なくありません。需要がなくなっているのにも関わらず教えているというのはとても不思議ですね。

因みに海外では

「Ruby?何それ?」

という状態です。これは、Ruby自体が日本人が作ったプログラミング言語だからというのもあり、日本の中だけでなんとか保っている言語なため、海外で仕事をしたい場合や仕事の獲得も視野に入れているのなら要注意です。

Java言語は案件は多いが職場環境が悪い

Javaは大規模なシステムに使われている分人員が必要となるため案件数としては多いのですが、SESといった下請けの末端企業がやっている案件が多かったり、スーツにネクタイといった現場がPHP言語やRuby言語の現場(職場)と比べてかなり多いのが特徴的です。

私自身もJavaを使っている現場に何回か入ったことがありますが、

大手自動車メーカーの下請け会社でパイプ椅子に座りながらスーツにネクタイで開発を行う

大手携帯会社のシステム開発でスーツにネクタイで毎日残業続きで終電で帰る生活

といった職場を経験しています。

実際に私のJavaを扱っている同僚達や現役エンジニアの生徒も「そういった現場が多い」と言うほどです。

 

更に大きい現場だからこそ建設業と同じく下請けの更に下請けという構造がとても多く、

やっている業務内容と業務量は変わらないのに他の言語よりも報酬が低い

という現象がとても多く見受けられます。

 

実際に私の知り合いもJava出身が多いのですが、フロントエンドエンジニアをしている私よりも報酬が低く残業も私より遥かに多い方ばかりです。

もちろん、DMMなり楽天やサイバーエージェントといった今風のIT企業でもJavaは扱われていますので、そういった所の元請け会社と契約もしくは顧客企業との直接契約で入れればいいですが、多くはありません。

 

さらには、あとでお話しする

「副業にダントツで不向き」

な言語なんです。

 

因みにRubyに関しては、PHP言語と同じくいわゆる「今風」な職場が多いですが、Ruby言語はスタートアップなど

求められるスキルがとても高い割に報酬はPHP言語とほぼ変わらない

という実態があります。

同じ学習コストをかけるのであれば、PHP言語がいいわけですね。

JavaScript言語とPHP言語の掛け合わせがオススメ

更に当スクールで特化させているのはPHP言語だけでなく「JavaScript言語」にも特化して教えています。

ITエンジニアの中でも「フロントエンドエンジニア」という領域の仕事になるのですが、私はその「フロントエンドエンジニア」としての経験が豊富にあります。

 

この領域は今後更に案件数が増えていくしかない状況で、更にはこの10年以内に出来た業務領域のため「出来る人材」がとても少ないという人材不足でもあるのです。

私はそのフロントエンドエンジニアという名前が出来たばかりの頃から仕事をしてきましたがここはとても狙い目です。

 

また、javascriptにはphpやruby、javaといったサーバサイド言語の「node.js」というものもあり、サーバサイド言語としてnode.jsを使った現場も増えつつあります。

更には、javascriptを覚えるだけで今ではiphoneやandroidのスマホアプリも作れれば、皆さんがパソコンの中で普段使っている様なデスクトップアプリを作ることも出来てしまうのです。

v10が公開 – ElectronでJS製デスクトップアプリを作ろう

Monacaを使えばHTML5とJavaScriptでだけでスマホアプリを作れるぞ

Monaca公式サイト

phpやruby、javaといった言語では、こういった様々なものを作る事は現状出来ません。そういった事からも初心者はまずjavascriptを学ぶべきでしょう。

単価もウェブカツ!!で教えている「Vue.js」といったものでもかなり高額報酬となっています。実際はこうやって出ている案件から更に報酬を増やす事が可能です。

Vue.jsエンジニアのフリーランス案件単価・費用相場

他にもウェブカツ!!を仮入部していただくと「HTML・CSS部初級」のお試しレッスン内で「なぜフロントエンドがいいのか」を詳しくお話ししていますので参考にしてください。

プログラミング言語別 案件ランキング | レバテックフリーランス版

https://freelance.levtech.jp/guide/detail/469/

言語別「エンジニアの求人数」ランキング Ruby・PHPを抑えて1位だったのは……

https://www.itmedia.co.jp/news/articles/1906/13/news101.html

更には、JavaScript言語とPHP言語というのは「副業で出来る案件数がダントツで多い2大巨頭」でもあります。

ですので、JavaScript言語を主体とした「フロントエンドエンジニア」やPHP言語での「サーバーサイドエンジニア」として常駐案件を獲得できるようになれば、

案件数は単純計算で2800件

と一気に探せる案件が広範囲に広がるわけですね。

4.副業でも案件が豊富

副業となると今では「ランサーズ」「クラウドワークス」といったクラウドソーシングサービスを利用することが一般的です。

他にもいくつかやり方はありますが、一般的にはそこからになっていきます。

そうなれば、そこで出ている案件にどんなものがあるか?ということになります。

例えば、ランサーズが恐らく最大手なのでそこでざっくりと探してみるとこのような結果になります。

Java:4,389件

Ruby:2,737件

PHP:10,748件

Javascript:5,280件

Java案件:https://www.lancers.jp/work/search/system?sort=client&show_description=1&work_rank%5B%5D=3&work_rank%5B%5D=2&work_rank%5B%5D=0&budget_from=&budget_to=&search=%E6%A4%9C%E7%B4%A2&keyword=java

Ruby案件:https://www.lancers.jp/work/search/system?sort=client&show_description=1&work_rank%5B%5D=3&work_rank%5B%5D=2&work_rank%5B%5D=0&budget_from=&budget_to=&keyword=ruby

PHP案件:https://www.lancers.jp/work/search/system?sort=client&show_description=1&work_rank%5B%5D=3&work_rank%5B%5D=2&work_rank%5B%5D=0&budget_from=&budget_to=&search=%E6%A4%9C%E7%B4%A2&keyword=php

JavaScript案件:https://www.lancers.jp/work/search/system?sort=client&show_description=1&work_rank%5B%5D=3&work_rank%5B%5D=2&work_rank%5B%5D=0&budget_from=&budget_to=&search=%E6%A4%9C%E7%B4%A2&keyword=javascript

キーワードで検索をしているので重複しているものや関係のないものも含まれているとしても、これだけの差があるんですね。

ランサーズにはシステマチックな「システム開発」居酒屋や地元のサッカークラブのHPといった「WEB制作」のカテゴリーで分かれているため、今度はWEB制作のカテゴリーで案件数を比べてみましょう。

Java:907件

Ruby:465件

PHP:6,123件

JavaScript:4,443件

Java案件:https://www.lancers.jp/work/search/web?sort=client&show_description=1&work_rank%5B%5D=3&work_rank%5B%5D=2&work_rank%5B%5D=0&budget_from=&budget_to=&search=%E6%A4%9C%E7%B4%A2&keyword=Java

Ruby案件:https://www.lancers.jp/work/search/web?sort=client&show_description=1&work_rank%5B%5D=3&work_rank%5B%5D=2&work_rank%5B%5D=0&budget_from=&budget_to=&search=%E6%A4%9C%E7%B4%A2&keyword=ruby

PHP案件:https://www.lancers.jp/work/search/web?sort=client&show_description=1&work_rank%5B%5D=3&work_rank%5B%5D=2&work_rank%5B%5D=0&budget_from=&budget_to=&search=%E6%A4%9C%E7%B4%A2&keyword=php

JavaScript案件:https://www.lancers.jp/work/search/web?sort=client&show_description=1&work_rank%5B%5D=3&work_rank%5B%5D=2&work_rank%5B%5D=0&budget_from=&budget_to=&search=%E6%A4%9C%E7%B4%A2&keyword=javascript

これも、圧倒的にPHP言語とJavaScript言語の案件が多いですね。

因みに世界で一番HPを作るのに使われている「WordPress」というシステムがあるのですが、そのWordPressはPHP言語で作られているため、一般的な企業やお店のHPを作ったり修正をしたりといったことはPHP言語が分からなければ出来ないのです。

【WordPressとは?】初心者にもわかりやすく機能や特徴をご紹介

更には、JavaScript言語はHPに動きをつけたり、jQueryといったものの元になっていたりとHPを作るのにも通販サイトなど大きなサービスを作る際にも欠かすことが出来ない言語なので副業での案件数もとても多いんですね。

こうやって見れば、

どの言語を学ぶべきか?

どの言語が将来にわたってオールラウンドに稼げるのか?

という答えがあなたの中で決まったのではないでしょうか。

 

因みに余談ですが、Pythonもダメですよ?

こちらも検索をしてみれば分かりますが、副業の案件も乏しく、更にはAIといった「機械学習」のシステムで多く使われるものですので、Python言語を学ぶ以前に高校で学ぶ数学知識は最低限必須です。

それこそ、文系では学び直すのにかなりの学習時間が必要となってしまいます。

たまに

「何ヶ月でpythonマスター」

「pythonで副業で月10万稼げる!」

といったものもありますが、あれは

python言語が使える様になるだけ(実務で必要となる数学知識などは別物)

なので注意しましょう。

 

これからプログラミングを学びたい初心者や未経験者がまず知っておくべき10のコト

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?