どのプログラミング言語を学ぼうか迷っている方向け。

せっかく時間をかけて学習するなら、需要が高く且つ長く使える技術を学習する方が好ましいです。

日本、海外で様々なプロジェクトを経験した身から、学ぶべき重宝するプログラミング言語について説明します。

この記事は以下のような方を対象者としています。

本記事の対象者

  • プログラミング初学者の方
  • スクールに申し込もうか独学にしようか悩んでいる方
  • 長く開発現場で使える技術に興味がある方
  • 将来海外でエンジニアとして働きたい方

目次

前置き: 現場でよく使われる技術の理想と現実

まずはこちらのツイートをご覧ください。

結論から言うと、このツイートで明記している通り下記技術は6年開発現場で働いている今でも使う技術になります。

ポイント

  • SQL
  • コマンドライン
  • Git
  • Javascript

逆にあれだけ昔は勉強したのに、今ではほぼ使わない技術は下記の通りです。

ポイント

  • HTML
  • CSS
  • PHP

当然アサインされる案件にもよりますが、この辺りは正直深く勉強しなくてもよかったと思いました。

この辺りは実際に開発現場を経験してから感じた使われる技術の理想と現実のギャップになります。

フロントエンドエンジニア VS バックエンド : どっちを学ぶべき?

Tranquilpeak
駆け出しエンジニアの頃は「フロントエンド/バックエンドどちらになるべきか」悩みます。

私も同じように悩み、結果フロントエンドエンジニアを目指すことにしました。

開発現場で数年働いた今思うのは、フロントエンドもバックエンド両方ともある程度理解が必要です。

理由は技術的な要件について議論をする時にどちらの知識も必要になるからです。

例えば「おすすめの居酒屋ランキング(票数表示有り)」を表示する開発タスクがあるとします。

そうすると、開発現場のフロントエンドとバックエンドチームではどちら側で処理をするかという議論が始まります。

1
2
3
4
5
6
7
◆フロントエンド側の主張
ユーザが快適に使えるようにフロント側に余計な処理を入れてパフォーマンスを落としたくない
→バックエンド側で集計して、その値をフロント側に渡してくれない?

◆バックエンド側の主張
バックエンド側では別の処理を行っていて他の処理にまで影響してしまう
→値だけフロント側に渡すから、集計ロジックを入れて表示するようにしてくれない?

このように、実際の開発現場ではフロントエンドとバックエンド両方のエンジニアが協力する必要が出てきます。

それぞれの事情を理解するためにも、フロントエンド/バックエンドの知識はある程度勉強した方が良いです。

プログラミング学習:フロントエンドエンジニアがおすすめの理由

では一体何をどこまで学習すれば良いのでしょうか。

経験上、Javascript+何かしらのフレームワークを使って成果物作成が最良だと思います。

フレームワークとは「WebサイトやWebアプリを開発するためのライブラリの集合体」のようなものです。

フレームワーク側で用意された関数を使うことで自分で0から組み上げる必要がなくなり、手間をかけずに開発ができます。

ほとんどの開発現場では何かしらのフレームワークを使って開発を行う案件がほとんどです。

かつ、一度フレームワークを使って開発ができれば、新しいフレームワークであってもすぐにキャッチアップができます。

フロントエンドエンジニアの方にJavaScriptの学習をおすすめする理由は下記になります。

ポイント

  • フロントエンド、バックエンド両方で使われる言語である
  • JavaScriptから開発できるものの種類が豊富(Web、モバイル、サーバサイド等)
  • SPAやPWAなどストア申請が不要なモバイルライクなアプリが作れる

フロントエンドエンジニアの辛いところ

上記色々とプラスの面のみ先に説明しましたが、マイナス面も併せて説明します。

実際の開発現場を経験し、下記がフロントエンドエンジニアの辛いところだと思います。

ポイント

  • 技術の流行り廃りが早い
  • せっかく時間をかけて勉強してもすぐに使えなくなる
  • 常に最新の技術にキャッチアップし続けなければならない
  • 休みの日も常に学習を続けなければならない
  • デザイナーのセンス次第で頻繁に手戻りが発生する

プログラミング学習:バックエンドエンジニアがおすすめの理由

バックエンドとは基本的に裏側の処理部分を担当するので、フロントエンドよりも初めの難易度は高めです。

しかし、フロントエンドのように個人のデザインセンスや感覚の部分で修正が度々発生するようなことは大概は発生しません

また、サービスの責任領域が広いことから給与はフロントエンドよりも高い傾向にあると思います。

※技術レベルによります。

バックエンドエンジニアの辛いところ

バックエンドは実際の開発現場では度々の修正等はフロントエンドに比べ少ない傾向にあるかと思います。

ただし、下記の通りフロントエンドと比べてマイナスな部分も存在します。

ポイント

  • エラーが起きるとサービスが停止したり、クラッシュしたりと致命的なケースが多い
  • サービスが停止するため、エンドユーザーへの影響度が大きい
  • SLA(サービス水準合意)にも関わり責任領域が大きい

バックエンドエンジニアのおすすめの学習ロードマップ

上記を踏まえておすすめする言語は同じくJavascript + Node.js + フレームワークの組み合わせです。

この技術スタックはWebサービスやWebサイトを構築する際に実際の現場でもよく使われるパターンです。

かつ、プログラミング初心者であってもとっつきやすく、日本語のドキュメントも豊富のためおすすめです。

データベース操作を行うSQLも学習しましょう

この技術スタックに加えSQL(データを扱うプログラミング言語)も組み込むとより良いと思います。

DBエンジンの選択については、MySQLとPostgresSQLを選びCRUD操作を押さえておけば十分です。

CRUDとはデータの作成・読み込み・更新・削除の頭文字を撮ったもので、データベース操作の基本行動を指します。

エンジニアは誰にでも慣れるが、年齢による限界がある

これは僕自身が開発現場で数年働いて強く感じたことです。

特に日本では未経験でエンジニアとして雇ってくれる企業が多いです。

そのためエンジニアになることは比較的容易にできます。

問題なのは、エンジニアをいつまで続けるのかという点です。

長くコードを書く仕事を続けることは下記理由からおすすめはできません。

ポイント

  • 肉体的限界がくる
  • 若く優秀な人と常に戦い続けなければならない
  • 実力主義の世界、年功序列はない

エンジニアの先のキャリアは何がおすすめなのか

基本これは海外でもそうですが、ずっとコードをかくエンジニアを続ける人は少ないです。

感覚値になりますが、おそらく10%以下だと思います。

エンジニアの後にどのようなキャリアがあるのかというと、実は選択肢は結構広いです。

ポイント

  • 技術も分かる営業
  • IT・システムコンサルタント
  • 技術支援・テクノロジスト
  • データサイエンティスト
  • 起業家
  • スクール事業

さいごに

ここまでお読みいただきありがとうございました。

僕のブログサイト「kzy.tech〜日本脱出のための教科書〜」どのようなサービスで作られているかが気になる方は以下別記事にてご説明していますので、ご覧いただけますと小躍りして喜びます💃

【コピペOK】HUGOでアフィリエイト用ブログサイトを作ろう

手間暇かけずにサクッとアフィリエイト用のブログサイトを作りたいという方向け。

ある程度自由にカスタマイズできる、かつコマンド一つで 記事の自動生成ができる静的サイトジェネレータ「HUGO」についてまとめました。

また、海外移住の 英語とプログラミングを習得することを推奨しています。
これは私の経験則から言えることですが、上記二つのスキルがあれば海外移住は絶対に実現できます

以下に僕が実際に使って効率よくプログラミング学習ができるおすすめサービスを載せます😌

速習!おすすめプログラミング勉強法【Udemy】

いくつかプログラミング学習サービスを利用しましたが、一番効率よく勉強できると感じたのはUdemyでした。

Udemyでは動画での説明や解説等もあり親切で、学習教材も豊富にあることから プログラミング初学者の方が短期間でエンジニアを目指したいのであれば、非常に良い教材だと思います。

ちなみに私は文系卒で社会人になってから独学でudemyを使ってプログラミングの勉強をして、実際にエンジニアとして採用されました

Udemyのコースは1つ1,000円ほどなので、ITの参考本を一冊(3,000円)を買うよりもUdemyのコースを購入する方が安い上により効率的にプログラミングを勉強できると思います。
世界最大級のオンライン学習サイトUdemy

また、別記事にてダナンでの生活やIT関連についても記事を書いていますのでクリックいただけると嬉しくて踊ります💃

【Udemy】未経験から始める格安プログラミング講座4選

未経験だけどプログラミングを学んでエンジニアになりたい、社会人だから時間もそれほど多く無いので効率よく勉強したい。 私もその内の一人でした。今回の記事で最短でエンジニアになるためのおすすめUdemy講座4選をご紹介したいと思います。

【Kotlin】RecyclerView+Fragmentで画面遷移を実装する際に気をつけるべき点

Kotlin+RecyclerView+FragmentでAndroid用アプリを開発している方向け。 どうやってrecyclerViewで画面遷移を実装すれば良いのか分からない人の役に立てば幸いです。

【個人開発】副業でアプリを作りたいならサーバーは契約しない方がいい理由

個人で副業のためにアプリ開発をしてみたいと考えている方向け。 iOS/Androidの個人アプリ開発の場合データのやりとりを行うため、サーバを契約する人が多いです。 しかし、考えなしにサーバを契約するのは非常に大きなデメリットがあるため、私はあまりオススメしません。 ではどの様にしてお金をかけずにアプリ作りができるか、なぜFirebaseを使うべきなのかこの記事で解説していきます。

【海外にもある!?】海外就活でブラック企業を回避する方法

海外での就活を考えている方向けの記事です。 ブラック企業は日本企業のイメージがありますが、そんなことはありません。 日本の就活とは違う点、また海外の就活で失敗しないために事前に知っておいた方が良い情報を本記事にてまとめていきます。

【ダナンの物価】ダナン在住者が伝える2020年ベトナム最新状況!

最近観光地として人気が高まっているダナンですが、近年物価の変動が大きくなっていっているように感じます。 2019年〜2020年でのダナンの物価はどのようなものなのか、ダナン在住者として現地の声をお届けできればと思います

【残業大国】日本の異常な労働環境をベトナムで働いてみて実感した件

日本ってやっぱり「働く」ことに関しては異常ですよ。 「お客様は神様」精神、残業を美徳とする文化、過労死という言葉を作り出してしまう労働環境。 今回は日本の異常な労働環境をベトナムの労働環境と比較しながら説明したいと思います😱

【海外移住】ベトナムに移住したら日本の8億倍住みやすかった件

海外移住を始めて2年ほどが経過しました、日本に住んでいた時と今ベトナムに移住してからとでどのように生活が変わったのかをこちらの記事にまとめていこうと思います。

【ダナンの家賃】日本相場の半額以下!?ベトナム家賃相場調査!

ベトナム・ダナンへ移住を考えている方向け。 海外移住をする上で家賃相場を事前に知っておくことは生活費がどれくらいかかるのか計算ができるので非常に重要です。 こちらの記事で家賃相場、賃貸契約の流れ、賃貸契約時のトラブルについて解説していきます。

【おすすめ】Udemy講座でAWS ソリューションアーキテクト アソシエイトを一発合格できた件

AWS ソリューションアーキテクトの勉強をしている方向け。
Udemyでのおすすめ講座、一発合格のための勉強方法から受験の手順まで本記事でまとめました。
認定試験の受験を考えている方には必見です。

【python】文字認識で画像からテキストを出力するやり方をわかりやすく【Tesseract&PyOCR】

こんにちはkzyです。 今回は文字認識ライブラリのPyOCRとTesseractを使って画像からテキストを抽出したいと思います。 環境構築含めpythonでの文字認識のやり方を簡潔に説明できればと思います。

【コピペOK】flutterのSizedBoxとExpandedの違いをわかりやすく

flutterでオブジェクトのサイズ調整の理解が曖昧な方向け。 flutterでアプリ開発を行う際に頻出する項目の一つのため、この記事でなるべくわかりやすく解説します。

【python】文字認識したテキストをエクセルに出力するやり方をわかりやすく【PyOCR + XlsxWriter】

こんにちはkzyです。 今回はPyOCRで文字認識したテキストをエクセルに出力する方法を解説します。 具体的にはXlsxWriterというライブラリを使用してPythonスクリプトからエクセル操作を行います。