当スクールでは、Java言語、Ruby言語およびそれを使ったフレームワークであるRubyonRailsといったものはメインで教えてはいません。
もちろん講座としては存在し、そういった言語も基礎からしっかりと実務で使えるように学ぶことは出来ますが、そこを軸とはせず
フロントエンドエンジニアとして必要なスキルセット及びPHP言語
に特化して教えています。
なぜなら、
- 未経験からでも最短で稼ぎやすい(最もコスパがいい)
- 常駐でも求められるスキルレベルに対しての高単価で案件が豊富
- 職場環境の良い現場が多い
- 副業でも案件が豊富
だからです。
この記事は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をインストールするだけで、データベースも使うことができるので、その環境構築の速さと手軽さは、天と地ほどの差ですね。
因みにこれを言うと一定数のエンジニア達が「コンソール(黒い画面)が使えずして何がエンジニアだ!」と鼻息を荒くするんですが、私が異業種独学で学んだ経験や何万人もの生徒に教えてきて思うのは「教え方には必ず順序がある」と言うことです。
教える必要がない。のではなく、未経験初心者が最初に学ぶべきものではない。ということが彼らには分からないんですね。教え方が下手な人の特徴なので気をつけましょう。因みに大学でも今だに「基礎が大事だ」とC言語から教えているんですが、未経験者へのプログラミングの教え方としてとて全くよくありません。
学習コストが低い
もう1点が、学習コストの低さです。
例えば、各言語で「ある言葉を表示するプログラム」を書いた場合の書き方の違いを比べてみましょう。
Java言語での書き方
1 2 3 4 5 |
class Hello{ public static void main(String[] args){ System.out.println("ここに書いた文字が画面に表示されます。"); } } |
Ruby言語での書き方
1 |
puts 'ここに書いた文字が画面に表示されます。' |
PHP言語での書き方
1 |
echo ここに書いた文字が画面に表示されます。'; |
わかるでしょうか?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」でもそういった事が伝えられています。
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製デスクトップアプリを作ろう
phpやruby、javaといった言語では、こういった様々なものを作る事は現状出来ません。そういった事からも初心者はまずjavascriptを学ぶべきでしょう。
単価もウェブカツ!!で教えている「Vue.js」といったものでもかなり高額報酬となっています。実際はこうやって出ている案件から更に報酬を増やす事が可能です。
他にもウェブカツ!!を仮入部していただくと「HTML・CSS部初級」のお試しレッスン内で「なぜフロントエンドがいいのか」を詳しくお話ししていますので参考にしてください。
プログラミング言語別 案件ランキング | レバテックフリーランス版
言語別「エンジニアの求人数」ランキング 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件
キーワードで検索をしているので重複しているものや関係のないものも含まれているとしても、これだけの差があるんですね。
ランサーズにはシステマチックな「システム開発」と居酒屋や地元のサッカークラブのHPといった「WEB制作」のカテゴリーで分かれているため、今度はWEB制作のカテゴリーで案件数を比べてみましょう。
Java:907件
Ruby:465件
PHP:6,123件
JavaScript:4,443件
これも、圧倒的にPHP言語とJavaScript言語の案件が多いですね。
因みに世界で一番HPを作るのに使われている「WordPress」というシステムがあるのですが、そのWordPressはPHP言語で作られているため、一般的な企業やお店のHPを作ったり修正をしたりといったことはPHP言語が分からなければ出来ないのです。
更には、JavaScript言語はHPに動きをつけたり、jQueryといったものの元になっていたりとHPを作るのにも通販サイトなど大きなサービスを作る際にも欠かすことが出来ない言語なので副業での案件数もとても多いんですね。
こうやって見れば、
どの言語を学ぶべきか?
どの言語が将来にわたってオールラウンドに稼げるのか?
という答えがあなたの中で決まったのではないでしょうか。
因みに余談ですが、Pythonもダメですよ?
こちらも検索をしてみれば分かりますが、副業の案件も乏しく、更にはAIといった「機械学習」のシステムで多く使われるものですので、Python言語を学ぶ以前に高校で学ぶ数学知識は最低限必須です。
それこそ、文系では学び直すのにかなりの学習時間が必要となってしまいます。
たまに
「何ヶ月でpythonマスター」
「pythonで副業で月10万稼げる!」
といったものもありますが、あれは
python言語が使える様になるだけ(実務で必要となる数学知識などは別物)
なので注意しましょう。