こちらの記事では最初に学んだ方が良いプログラミング言語について解説します。
最初に学んだほうがいいプログラミング言語
まずWebサイトやサービスには「フロントエンド」と「バックエンド」の2つの領域があるということを理解しましょう。
簡単に言うと、フロントエンドはユーザーが目にする領域を担当します。言語で言うとJavaScriptになります。
WebサイトやWebサービスのUX・UI・SEOなどの構築をします。
バックエンドはフロントエンドの裏側の処理を行います。
例えば、ユーザーログインの制御はバックエンドの担当です。
主な言語は、Java、PHP、Ruby、Python、Goなどです。
開発の現場では、フロントエンドとバックエンドのエンジニアに分かれて担当することが多いです。
フロントエンドエンジニア、バックエンドエンジニアという風にですね。
もちろん1人が両方担当することもあります。
フロントエンド、バックエンドのどちらかを学ぶ場合、まずは言語を絞って学習することをおすすめします。
フロントエンドはプログラミング言語がJavaScript一択なので、迷う必要はありません。
さらに基礎を学び終えた後、学習で検討する点としては、JavaScriptのフレームワークになります。
フレームワークは開発を楽にする便利機能が詰まったパックだと思ってください。
ほとんどの現場ではフレームワークを使用しています。
JavaScriptの人気フレームワークは以下のようになっています。
React.js、Vue.js、AngularJS
今はReact.jsかVue.jsが2トップですね。
僕はVue.jsを学習しました(今もしてます)。
ちなみにHTML、CSSはプログラミング言語ではなく、マークアップ言語と言われるものです。
フロントエンド、バックエンド関係なくWebサイト、アプリを作る際に必須の知識になります。
(使えるのが当たり前過ぎて、面談等でも、HTML/CSSが出来るかどうかいちいち聞かれません)
フロントエンドの基礎を学習する上で、おすすめの書籍をまとめた記事も紹介しておきます。
独学派なら、参考になると思います。
【電子書籍対応】フロントエンド学習におすすめの入門書
次にバックエンドですが、言語はPHPをオススメします。
理由は以下の通りです。
- フリーランスや副業系の案件数が豊富
- WordPress自体がPHPで構築されている
案件数で言えば、Javaも多いのですが、金融や官公庁などのお堅い現場が多いです。
(客先常駐が多い印象です。クラウドソーシングの案件ではほぼ見ない)
またCMSの代名詞であるWordPressはPHPを使って構築されているので、PHPを学習すると、WordPressへの理解も早まります。
またWordPressを使ったウェブサイトは、世界のウェブサイトの3分の1を占めており、圧倒的なシェアを誇ります。
実際にWordPressを使って開発する場合は、PHPのコードをいじったりするので、PHPを知らないとWordPressも理解できません。
WordPress開発は、クラウドソーシングで数多く案件があるので、副業エンジニアとしては、最適なスキルと言えます。
副業とWordPressについては以下の記事を参考にしてください。
・フロントエンドはJavaScript(+フレームワーク)を学ぶ
・HTML/CSSは出来て当たり前
・バックエンドはPHPがおすすめ
よくある質問:言語を一通り学んだ後はどうすればいい?
では、フロントエンドとバックエンドを一通り学んだ後は、どうすれば良いでしょうか?
個人的にオススメなのが、身に付けたスキルはすぐにお金に還元することです。
なぜあなたが会社員をしながら、さらにプログラミングを身に付けたいと思っているかと言うと、
- 会社の給料だけじゃ厳しい
- 家族を養うため
- 就職・転職したい
などがあると思います。
僕自身もそうですが、スキルがお金になると分かっているので、学習し続けることが出来ています。
プロとして報酬をもらうという経験こそが、向上心やモチベーション維持の秘訣かなと思います。
なので、一通りの学習が終わったら、すぐにお金を生み出す行動を取った方が効率が良いです。
余談ですが、僕も半年ほど学んだ後、クラウドソーシングに応募して案件を受注しました。
当時は、家にいながら、お金がもらえるという感動はありましたね。
では、最速でお金を生み出す行動とは何のか説明します。
プログラミングで稼ぐには、主に3つの方法があります。
②クラウドソーシングで個人受注する
③サービスを起ち上げて収益を上げる
①と②であれば、働いた分だけ収益が上がるので、即金性はあります。
ただ労働集約型なので、時間労働という側面もあり、③のようにストック型ビジネスで収益を上げるのが理想ですよね。
ただ、いきなり③に到達するのは厳しいと思うので、まずは①や②でガンガン経験値を上げるのがオススメです。
準備:ポートフォリオを作る
①就職・転職、②個人受注いずれの場合にも、必要になるのがポートフォリオです。
ポートフォリオはこの業界においては非常に大事で、
「実務経験ないけど、自力でこんなアプリ作れまっせ」という名刺代わりになります。
特にどこかの会社に入社する場合、ポートフォリオ有無で評価は大きく変わります。
面接する立場からすれば、業界未経験の人のスキル・適正などを見たい場合、実際に作った物を見るのが一番分かりやすいですからね。
なので、フロントエンド・バックエンドを使って、1つのWebアプリを作ってみましょう。
オリジナルアプリがベストですが、良いアイデアが思いつかなければ、既存サービスと同じものをまずは作ってみましょう。
そこからデザインを変えたり、良い機能があれば追加したりして、少しずつ改造します。
その後、作ったサービスをリリースしましょう!
ソースコードをgithubに上げる人は結構いますが、サービスをリリースまで行う人というのは実は少ないです。
やる気を大いにアピールできるので、かなり差別化に繋がります。
作って終わりではなく、サービス公開までするという経験は評価をもらいやすいですね。
さらに公開後の運用や改善などのエピソードも交えると最高です。
※世の中にあるサービスもリリースされてからが本番みたいなところがあって、リリース後に機能追加したり不具合修正などをしているため。
サーバー内の環境構築から始める場合は、VPSというサービスを使うのがオススメです。
例えば、PHPで開発したアプリを公開したい場合は、サーバー内にPHP、サーバーソフト、DBなどをインストールする必要があります。
LinuxOSなどにSSHで接続し、CUIコマンドでインストールするのですが、プログラミングスクールでもそこまでレクチャーしてくれるところは少ないです。
AWSと比べてもカスタマイズ性は低い分、VPS初心者には分かりやすいです。
詳しくは以下の記事で解説しています。
参考:さくらのVPSでインフラの基礎とサーバの環境構築について学ぶ
就職・転職する場合
エンジニアになる場合は、未経験でも採用してくれる会社を探してみましょう。
面接の際には、履歴書とポートフォリオをセットで持ち込むと良いです。
個人受注する場合
クラウドワークスなどのクラウドソーシングに登録し、プロフィールを作成しましょう。
プロフィールにポートフォリオを掲載できる項目があるので、ポートフォリオのURLを登録します。
また案件に応募する際にURLを載せると、スキルのアピールにもなります。
参考:クラウドソーシングでクライアントからの受注率を上げる方法