「プログラミングを始めたいけど、言語が多すぎて何を勉強すればいいかわからない…」
「Javaか、PHPか、Rubyの3つのうちどれを学ぶのがいいか選び方を教えてほしい」
「将来的にフリーランスになって、自由に働きたい」

という疑問に答えてまいります。

本記事では、これからプログラミングを学び始める方向けに、

「Javaか、PHPか、Rubyか」どれを選ぶのがベストか

というテーマでお話します。

この記事を書いているわたしは、Web系フリーランスとして活動してます。
どの言語も触れたことはあるのですが、わたしの経験上、案件数から言うと「PHP」が圧倒的に多いですね。

Web系スクールで講師をしていたときは、JavaやRubyは教えたことありませんが、PHPは教えた経験があります。
受講生からも、「PHPとRubyどっちがオススメですか?」というような質問もよくされるのですが、「どっちがいい」とかは正直ありません。
人によって、ベストな言語が変わりますからね。

今回は、過去の経験から各言語の特性を紹介しつつ、3つの言語のうちどれを覚えるのがベストか解説します。

プログラミング初心者は、Java、PHP、Ruby、どれから学べばいいか

結論から言うと、

  • お堅い大手企業で大規模システムを開発したいなら「Java
  • 自由に働きたい、もしくはイケイケベンチャーで働きたいなら「PHP」か「Ruby

という感じで選べばいいと思います。

  • 将来的にフリーになって、自由に働きたい
  • リモートワークをしたい

上記を目指すなら圧倒的に「PHP」か「Ruby」ですね。

これでは不十分なので、各言語を深堀りしてまいります。

お堅い大手企業で大規模システムなら「Java」【個人的にはオススメしない】

Java

Javaは、金融系や大規模なシステム開発をしたい方に向いてます。

正直Javaについてはあまり詳しくないですが、大学時代に情報工学も学んでいたので、Javaを一生懸命学習している同級生もたくさんいました。
Javaを学んでいた同級生のほとんどは、卒業後、お堅い大手企業に就職しましたね。

「お堅い大手企業に入りたい」「大規模システムを開発したい」という夢がある人は、Javaでいいと思いますが、個人的にはオススメしないです。

わたしが「Java」をおすすめしない理由は、下記ですね。

  • リモートワーク導入している企業が少なすぎる
  • 副業もできない可能性が高い

この2つは、日本の大手企業が不安定になっていくこれからの時代では、かなりきついです。

わたしの大学の同期は、「Java」メインの企業に就職した人が圧倒的に多いです。
大手とかでも働いている人も見てますが、リモートワークしてるとか、副業してるとか一人も聞いたことないですね…

その環境が嫌になって、PHPを独学して覚えてからWeb系企業に入った仕事仲間もいます。
なので、「Java → PHP」「Java → Ruby」というキャリアチェンジもアリだと思います。

「安定を求めて、大手企業に入る。だから、Javaを学びます」と言う人は、視野が狭すぎです。
大手企業に入れたとしても、残念ながら安定は約束されませんのでご注意を…

スタートアップ、モダンな環境で働きたいなら「Ruby」でOK【わたしのキャリアはこれが最初】

Ruby
  • ITスタートアップ企業で、Webサービスを開発したい
  • モダンな環境で、スキルを磨き続けたい
  • プログラミングを楽しみつつ、最先端の技術を身につけたい

という方は、「Ruby」を選ぶといいです。

わたしのキャリアの初期は、大学時代20歳の頃に「RubyがメインのITスタートアップ企業」にアルバイトとして入社したのがスタートですね。

Webデザインもプログラミングもすでに学んでいたので、「デザインもしつつ、ハイレベルなエンジニアになろう」として入りましたが、
エンジニアのレベルがハイレベルすぎて、最初の挫折を経験しましたね。(目標に無理がありすぎたのですが…)

お世話になった先輩エンジニアは、「JavaScript」「PHP」「Ruby」「Python」「Go」「Java」などの言語を操るハイスペックすぎるエンジニアで、プログラミングも趣味の範囲という感じでした。
仕事以外もプログラミングして毎日の睡眠時間が「3時間」とかだったので、「職人気質かつ、プログラミングが趣味というエンジニア」と対等に渡り合うのはきついなあと思い、20代前半で方針を変えましたね。

「Ruby」、「Ruby on Rails(Rubyのフレームワーク)」がメインの企業で働いているエンジニアは、最新の技術を追いかけることが好きな人が多いです。

下記に当てはまる方は、「Ruby」を選ぶといいです。

  • IT系スタートアップで働きたい
  • プログラミングがとにかく楽しくて、最新の技術を追いかけ続けたい
  • 技術を追いかけつつ、Webサービスを作りたい
  • リモートで、自由に働きたい

ゆるく稼ぎ続けたいなら「PHP」でOK【わたしはこれを選びました】

PHP

ゆるく自由に働きたい人は、「PHP」を選ぶといいと思います。
※ここでいう「ゆるく」というのは、「PHPエンジニア」がレベル低いとか、ラクだよという意味ではありません。

PHPの場合、「Laravel(PHPのフレームワーク)」もあるので、PHPメインにしている「ITスタートアップ企業」で働くことも可能です。

わたしの場合は、キャリアの途中で「Ruby」をやめて「PHP」を選んだのですが、「長く使える技術だろう」と思ったからです。
いろんな言語や最新技術を追いかけるより「個人で稼ぐスキル」を身につけたかったので、「学習コスト」を下げたかったというのも理由のひとつです。

PHPの場合、

  • WordPressサイトの構築
  • PHPでオリジナルシステムつくる
  • WordPressでメディア構築
  • WordPressでECサイト構築
  • EC-CUBEでECサイトをつくる
  • LaravelでWebサービス開発

など出来ることが多くて、ニーズも高いんですよね。
なので、RubyよりPHPのほうが案件数も多く、需要は高いです。

中小企業からWordPressサイトを受注するだけで、大きく稼げるのもPHPエンジニアの魅力のひとつですね。
わたしの場合、大手企業のWordPressサイトコーディング案件(3ページ程度)を「20万円」程度で受注することもあるので、コスパも高いです。

個人で中小企業から案件を直接もらおうとすると、

  • 営業スキル
  • フロントエンドスキル
  • PHP、WordPressスキル
  • ディレクションスキル
  • マーケティングスキル
  • 広告やSNSのスキル
  • デザインスキル(デザイナーに仕事振るのもアリ)

などのスキルを持っていないと厳しいので、技術以外もスキルが磨けると思いますよ。
これだけスキルあれば、最新の技術を常に追い求めなくても、稼げますね。

下記に当てはまる方は、「PHP」を選ぶといいです。

  • 「最新の技術」を追い続けるのでなく、ニーズの高い言語だけ覚えたい
  • フリーランスになって、中小企業をメインに、高単価で受注しつつ、働きたい
  • Webデザインもしつつ、PHP案件をこなしたい
  • 技術はそこそこにして、「個人で柔軟に稼ぐ」スキルを身につけたい
  • リモートで、自由に働きたい

まとめ

「PHP + Laravel」もしくは「Ruby + Rails」をメインにしているスタートアップ企業は、

  • Slackでコミュニケーション
  • Gitでバージョン管理
  • フレックスOK
  • リモートもOK
  • 副業OK
  • 私服OK
  • タスク管理

という感じで、わりと働きやすい環境が整ってます。ハイレベルなエンジニアも揃ってますね。

Javaをメインにした企業や、古い考えのWeb系企業の場合、

  • 当然メールと電話でコミュニケーション
  • ファイル名を変えてバージョン管理(例:20191002_index.html)
  • フレックスなし
  • リモートもなし
  • スーツのみ
  • 副業絶対NG
  • タスク管理とか存在しない(あってもホワイトボードとか)
  • 誰も読まないムダな日報

という感じで、個人的には自由度がなくて、働きにくいです。

「フリーランスとして自由に働きたい」「リモートワークしたい」なら、「PHP」か「Ruby」を選ぶのがベストです。

最後にこの記事を一言で言うと、

「自分に合う働き方」や「自分に適した環境」を考えて、言語は選びましょう。

ということです。

あとからでも、プログラミング言語もキャリアも変更できるので、興味を持ったものからやればいいと思います。

エンジニアは技術を磨き続けないといけないと言われてますが、それはデザイナーやマーケターも同じです。
「これ向いてないかも」という思考より、「これならできる」と思ったものをやれば続けられます。

自分に向いている環境や働き方で、思いっきりチャレンジしましょう。

下記記事も合わせて参考ください。