こんにちは!今回は「〇〇エンジニアになるには、どのプログラミング言語を学ぶべきなのか?」という題で解説していきます。
〇〇エンジニアの種類
システムエンジニア
インフラエンジニア
ネットワークエンジニア
Webエンジニア
フロントエンドエンジニア
バックエンドエンジニア
データベースエンジニア
組み込みエンジニア
スマートフォンエンジニア
ゲームエンジニア
AIエンジニア
急激にIT化が進む現在において、「将来が安定」「給与が高額」などの理由から、エンジニアという職種は需要が急激に伸びてきています。
そんな中、「エンジニアになりたい!」「プログラミングできるようになりたい!」と興味を持ったとしても、「じゃあ実際に何を勉強すればいいのか?」と疑問に思う人は多いのではないでしょうか?
プログラミング言語は、200種類以上あると言われていて、どれが良いのか精査・吟味なんかしていると、一生エンジニアにはなれません。
そこで主要なプログラミング言語の説明と、エンジニアの種類ごとにおすすめのプログラミング言語を紹介したいと思います!
-
-
おすすめ【お得】未経験からエンジニア転職したい!現役エンジニアが具体的な転職方法を紹介!
結論、未経験でもエンジニアになれます。エンジニアという職種は需要が非常に高く、難易度もそれほど高くないからです。この記事では未経験からエンジニアを目指す方法を3つ紹介します。・ポートフォリオを作成して転職活動を行う・エンジニアの知り合いを作り、案件を紹介してもらう・プログラミングスクールに通って企業を紹介してもらう
続きを見る
〇〇エンジニアの種類と解説
「エンジニア(Engineer)」という言葉・職業は、かなり広い意味で使用されます。
したがって、エンジニアの種類によっては、プログラミングを行わない場合があります。
「エンジニアになったら、プログラミングすると思ってた・・・。」などのアンマッチを避けるために、まずは自分がどのエンジニアを目指しているのかを明確にしましょう。
システムエンジニア
いわゆるSEという職種。システムの大枠をエンジニアリング(開発)するのが主な仕事。要件定義、設計、システムテストなど。
一般的にはプログラミングは行わず、プログラマーに指示を投げるポジション。
日本においては、システムエンジニアの方がプログラマーより平均給与は高いので、高収入を狙うならシステムエンジニアがおすすめ。
インフラエンジニア
インフラを整えるエンジニア。サーバ・ネットワークなどを構築し、アプリケーションを動作させるための基盤を整える。
近年は、Web上でサービスを構築するクラウドサービスが主流となっているため、AWS(Amazon Web Services)やGCP(Google Cloud Platform)の知識が必要。
一般的にはプログラミングは行わない。
ネットワークエンジニア
名前の通り、ネットワークを専門に扱うエンジニア。インフラエンジニアの一部。 同様に、プログラミングは行わない。
Webエンジニア
名前の通り、Webサイト、Webアプリ、Webシステムを開発するエンジニア。
Webエンジニアという名前は広く使用されるので、必ずしもプログラミングを行うわけではないので注意。
一般的に、この後に紹介するフロントエンドエンジニアと、バックエンドエンジニアに分かれる。
フロントエンドエンジニア
Webのフロントエンド(ユーザから見える処理=ブラウザ側)を担当。
Web画面の構成を設計したり、実際にサイトデザインのプログラムを書くのが主な仕事内容。
バックエンドエンジニア
Webのバックエンド(ユーザから見えない処理=サーバ側)を担当。
ログイン認証やDB接続など、ユーザの目に見えない内部の処理を設計、プログラミングするのが主な仕事内容。
データベースエンジニア
データベースを専門に扱うエンジニア。データベースの設計・開発・管理を行う。
データベースを扱うプログラミング言語=SQLを使用する場合もある。
組み込みエンジニア
家電など、様々な機器に組み込まれるソフトウェアを設計・プログラミング開発するエンジニア。
近年は、機器をインターネットに接続する技術(=Iot)が普及していることから、Iot(Internet of things)エンジニアと呼んだりもする。
CPU、メモリなどハードウェアの知識が必要。
スマートフォンエンジニア
スマートフォンで動作するアプリケーションを設計・プログラミング開発するエンジニア。
スマホアプリの需要はかなり伸びているので、合わせてスマートフォンエンジニアの求人数も伸びると予想される。
ゲームエンジニア
ゲームを設計・プログラミングするエンジニア。ゲームには種類があり、その種類によって、必要なプログラミング言語は変わってくる。
ゲームの種類
コンシューマーゲーム
オンラインゲーム
スマホゲーム
ブラウザゲーム など
AIエンジニア
AIを設計・プログラミングするエンジニア。AIの需要も伸びていることから、求人数が伸びると予想される。
プログラミング言語の種類
どのエンジニアを目指すかが決まったら、どのプログラミング言語にターゲットを絞るかを決めましょう。
本記事では、200種類以上の中でよく使われている15個の言語を紹介します。
HTML
Webサイトを作成するための言語。ブラウザ上で動作する。Webサイトを作成したいなら必須のスキル。
CSS
Webサイトのデザインを作成するための言語。ブラウザ上で動作する。Webサイトを作成したいなら必須のスキル。
JavaScript
Webサイトの動的な動き(アニメーション)作成するための言語。フロントエンジニアになりたい人は、JavaScriptのスキルがかなり重要。
また、JavaScriptはブラウザ上だけでなく、Webサーバ上でも動作することができる。
(Webサーバ上で動作する言語は、サーバサイド言語と言ったりする。)
基本的に、Webシステムを構築するにはフロントサイド(ブラウザ)とバックサイド(Webサーバ)のプログラミングが必要だが、JavaScriptでサーバ側を動作させる場合、新たにサーバサイド言語を覚える必要がない。
JavaScriptで書かれた事例
GoogleMap
ビズリーチ
Issuehunt など
TypeScript
MicroSoftが開発したJavaScriptを拡張・進化させたサーバサイド言語。
JavaScriptとの相性も良く、既存のJavaScriptライブラリをそのまま使用することができる。
Googleが社内の標準開発言語に指定したことから、近年注目を浴びている。
TypeScriptで書かれたサービス・事例
はてなブログ
ビズリーチ
Issuehunt など
PHP
同じくサーバサイド言語で、Webサイトの開発によく使われる。
世界中のWebサイトの40%は、WordPressで作られていると言われていて、そのWordPressはPHPで書かれている。
Webサイト制作やWordPressをターゲットにした仕事をしたいなら、PHPがおすすめ。難易度も比較的簡単。
また、フロントエンドエンジニアでもPHPを習得しておくと、CMS系にも対応できるので、仕事の幅は広がる。
PHPで書かれたサービス・事例
WordPress
Yahoo!
Wikipedia
BASE など
Ruby
同じくサーバサイド言語。「PHPとどっちを学ぶべきか?」とよく比べられる。
PHPはWebサイト制作に特化しているのに対し、RubyはWebサイト以外にも、Webシステムの制作にも強いイメージ。また、Rubyは日本人が作成した言語なので、比較的日本語の参考文献が多い。
どちらを勉強するべきか悩んだ時は、募集の内容、年収、案件数等で決めればOK。PHPの方が案件数は多いが、Rubyの方が平均年収は高い。(※2021年5月情報)
Rubyで書かれたサービス・事例
CookPad
食べログ
クラウドワークス
Kibera など
Go
Googleが開発したサーバサイド言語で、世の中にリリースされたのは2012年と比較的新しい言語。もちろん、Googleの標準開発言語。
シンプルかつ高性能であることから近年人気が出ていて、2018年には年収ランキングで1位を獲得。Goエンジニアの人口はまだ少ないので、今後需要が高まると予想される。
Goで書かれたサービス・事例
Youtube
Pairs
Docker
メルカリ など
Python
同じくサーバサイド言語で、Webサイトの作成もできるが、機械学習、AI、ディープランニングの分野でよく使用される。
今流行りのAI(人工知能)をやりたい人は、ぜひとも学ぶべき言語。
Pythonで書かれたサービス・事例
Youtube
Dropbox
AlphaGo(アルファ碁) など
Java
Webサイトはもちろん、スマホアプリ、組み込みアプリなど、なんでもこなすマルチな言語。長い間使われてきたので、信頼性も高い。
大規模システムでよく使用され、Javaの求人数(案件数)は全プログラミング言語の中でダントツ1位。
それだけ求人があれば案件獲得は簡単そうだが、その分Javaエンジニアも多く存在するので注意。
Javaで書かれたサービス・事例
Abema など
C言語
初めてプログラミングを学ぶのに、よく選定される言語。難易度は少し高いが、メモリやポインタの知識が身につくので、プログラミングの真髄を学びたいなら、是非学習したい言語。ただし、Webエンジニアになりたい場合は必要のない言語。
コンパイル言語で実行速度が高速であることから、組み込みアプリケーションによく使用される。
C言語で書かれたサービス・事例
OS(Windows、MacOS、Linuxなど)
ロボット
家電
無線機器
車載機器 など
C++
C言語から派生したプログラミング言語。C言語と同様、処理が高速で汎用性も高いことから、様々な用途で使用される。
日経 xTECHより、「プログラミング言語人気ランキング2020」では第1位を獲得。ただし、初心者には難易度が高い。
C++で書かれたサービス・事例
自動運転システム
DJプレイヤー
複合機
ゲーム
医療機器 など
C#
同じくC言語から派生したプログラミング言語。
ASP.netと呼ばれるフレームワークを使えばWebアプリの開発が、Unityを使えばゲーム開発が可能。
一般的には、業務系と呼ばれる企業向けのシステム・Webアプリケーション、もしくはゲームの開発案件が多い印象。
C#で書かれたサービス・事例
MicroSoft公式ページ
Bing
Skype
ポケモンGo
白猫プロジェクト など
SQL
データベースとのやり取りに使われる言語。
バックエンドエンジニア、もしくはデータベースエンジニアになるなら、+αで持っておきたいスキル。もちろん持っていると案件獲得で有利になる。
Swift
Appleが開発した、対iPhone、iPad、Mac用のプログラミング言語。iPhoneアプリを作成したいならSwiftがおすすめ。
Koltin
Android公式開発言語。Androidアプリを作成したいならKoltinがおすすめ。
おすすめの組み合わせ
「結局何を勉強すればいいの?」と思ったあなたのために、おすすめのプログラミング言語をエンジニア毎にまとめてみました!
Webエンジニア(フロントエンドエンジニア)なら
・HTML
・CSS
・JavaScript
・PHP
メインに学習すべきはJavaScript
Webエンジニア(バックエンドエンジニア)なら
・HTML
・CSS
・サーバサイド言語一つ以上(TypeScript、PHP、Ruby、Go、Java・・・)
・SQL
メインに学習すべきはサーバサイド言語。
データベースエンジニアなら
・SQL
組み込みエンジニアなら
・C言語 または C++
どっちか迷ったらまずはC言語がおすすめ。
スマートフォンエンジニアなら
・iphoneの場合はSwift
・Androidの場合はKoltin。
ゲームエンジニアなら
・コンシューマーゲーム、オンラインゲームの場合はC++ または C#
・スマホゲームの場合はSwift または Koltin
・ブラウザゲームの場合はJavaScript または C#
AIエンジニアなら
Python
さいごに
いかがだったでしょうか?一言にエンジニアと言えど、仕事内容や扱うプログラミング言語はエンジニアの種類によって大きく変わります。 プログラミングは最強の副業ツールです。プログラミングはPC一つあればOKで、働く場所に依存しません。成果型の案件の場合は時間に依存しないので、海外を旅しながらノマドワークしたり、介護や子育てしながらの副業も可能です。さらに、ITの著しい発展から深刻なエンジニア不足に陥っており、副業の案件数は増加傾向にあります。 続きを見る
また、「R」や「Scala」など、今回紹介できなかった、おすすめのプログラミング言語もたくさんあるので、気になった人は調べてみてください!
プログラミングで副業を考えている人向けの記事はこちら!
おすすめ【週2で稼ぐ】プログラミングで副業する4つのおすすめの方法を紹介!