現代は、モノとモノをITで繋ぐIoT、機械学習やAI、アプリケーションなど、あらゆるものがIT技術に支えられています。プログラミングを学んでITの世界に飛び込みたいと考える方も多いです。
さぁ、プログラミングを学ぼう!と意気込んではみたものの「あれ?何から始めればいいのかな?」とすぐに迷子になってしまうことも事実です。
実はプログラミングと一括りにされていますが、IT技術者の職業はたくさんあるんです。
この記事では、プログラミングを利用するIT技術者の職業とプログラミング言語について解説していきます。
学習するプログラミング言語を選ぼう
なりたい職業からプログラミング言語を選ぶ
プログラマーってたくさんの職業があることは先ほどお話ししましたが、具体的にどのような職業なのかを一覧にします。
目指す職業によって勉強するべきプログラミング言語は変わりますので、なりたい職業からどの言語を学ぶべきなのかを知りましょう
職業 | 使用する言語 |
---|---|
ウェブ制作 | HTML&CSS、JavaScript |
ソフトウエア系エンジニア(フロント) | PHP、Ruby、Python、JavaScript、Flutter |
ソフトウエア系エンジニア(バックエンド) | Java、C#、Python |
モバイルアプリケーションエンジニア | Kotlin、Swift、Flutter、Unity |
エンデベッドエンジニア | C言語、C++、Python |
ゲームエンジニア | C言語、C++、Unity |
インフラエンジニア | ソフトウエア系と同じ |
職業の内容や詳細について詳細に解説しましたので、ご覧ください。
身につけたい言語から職業を選ぶ
この言語を学ぶとどんな職業に就けるのかを表にまとめました。
言語 | 使用する職業 |
---|---|
HTML&CSS | ウェブ制作、ソフトウエア系エンジニア(フロント) |
JavaScript | ソフトウエア系エンジニア(フロント)、モバイルアプリケーションエンジニア |
PHP | ソフトウエア系エンジニア(フロント) |
Ruby | ソフトウエア系エンジニア(フロント) |
Python | ソフトウエア系エンジニア(フロント)、ソフトウエア系エンジニア(バックエンド) エンデベッドエンジニア |
Dart(Flutter) | ソフトウエア系エンジニア(フロント)、モバイルアプリケーションエンジニア |
Java | ソフトウエア系エンジニア(バックエンド) |
C# | ソフトウエア系エンジニア(バックエンド)、ゲームエンジニア |
C言語 | エンデベッドエンジニア、ゲームエンジニア |
C++ | エンデベッドエンジニア、ゲームエンジニア |
Unity(C#) | ゲームエンジニア |
Swift | モバイルアプリケーションエンジニア |
Kotlin | モバイルアプリケーションエンジニア |
それぞれの職業の詳細についても詳細に解説しましたので参考にしてください。
プログラミングを学ぶとどんな職業につけるの?
IT業界の職業は実はとてもたくさんの職業で構成されています。
ひとつひとつを見ていきましょう。
ウェブ制作
ウェブサイト(ホームページ)を作成する職業です。
デザインだけをするウェブデザイナーとコーディングだけを行うマークアップエンジニア、またはどちらも行うウェブデザイナーなど、混在しています。
最近はWordPressなどのCMS(コンテンツマネジメントシステム)使用したウェブサイト制作も盛んです。
使用する言語と目指す資格
マークアップ言語であるHTMLとCSS、プログラミング言語であるJavaScriptが必要になります。
また、デザインやカラー要素の知識も必要となります。
国家資格であるウェブデザイン技能士を取得すると就職・転職へのアピールとなります。
ウェブ制作では、SEO(Search Engine Optimization(検索エンジン最適化))対策を意識した開発を求められることが多いため、ウェブ解析士を目指すと良いでしょう。
ソフトウエア系エンジニア(フロント、バックエンド)
一般的に「プログラマー」と言われると皆さんが思い浮かべる職業です。
ソフトウエア、Webアプリケーションを製作する職業です。
一般的にブラウザ(GoogleChromeやSafariなど)から使用するアプリケーションのことを指します。
こちらには記載していませんが、VBAやWindowsアプリなどのローカルアプリケーションもこちらに含まれます。
現代では、画面の部分を主に担当するフロントエンジニア、サーバー側の処理を担当するバックエンドエンジニアなどと呼ばれることもありますが、どちらかだけではなくどちらも担当している方が多い印象です。
使用する言語と目指す資格
使用するプログラミング言語はたくさんあります。プログラミング言語には得意なジャンル、不得意なジャンルがありますので、作成するソフトウエアや担当する業務よっても異なります。
最近の動向でざっくりとピックアップすると以下のようになるでしょう。
フロントエンジニア
ウェブ画面の作成を行いますので、プログラミング言語とHTML&CSSの知識が必要になります。
学習するなら以下をおすすめします。
- JavaScript
- TypeScript
- PHP
- Ruby
- Python
- Dart(Flutter)
- HTML&CSS
プログラミング言語は、フレームワークやライブラリを扱う知識も問われます。
最近の流行で行くと、JavaScriptならReactやVew、PHPならLaravel、RubyならRuby on Rails、PythonならDjangoを学んでおくとよいでしょう。
Flutterはモバイルアプリの イメージが強いですが、2021年にWeb版がリリースされています。
現在の日本では案件数はまだまだ少ないですが、アメリカでの急成長を考えると、今後ますます伸びていく言語であることは明白です。
バックエンドエンジニア
バックエンドであるサーバー側を担当することが多いため、従来の言語が採用されているアプリケーションが多い印象です。
代表的なものは以下となります。
- Java
- C#
- Python
- C++
- C言語
また、データベースの知識も問われることも多いため、データベースの基礎的な知識は必要です。
IPA(独立行政法人情報処理推進機構)が主催している基本情報技術者試験は取得しておきましょう。
こちらは国家資格となります。
ベンダー試験としては、Javaの知識が身につく、Java SE 11(https://www.oracle.com/jp/education/certification/jse11-5570635-ja.html)やデータベースOracleの知識が身につくORACLE MASTER(https://www.oracle.com/jp/education/index-172250-ja.html#1)を取得すると良いでしょう。
モバイルアプリケーションエンジニア
最近では、プログラマーと言われて想像する職業の1つにもなっているくらいメジャーな職業になりました。
主にiOS(iPhone、iPad)やAndroidなどのモバイルデバイス上で動作するアプリケーションを製作します。
どちらかのアプリケーションのみを扱うこともありますが、基本的にはどちらのOSもカバーできる言語を選択しましょう。
使用する言語と目指す資格
現在主流となっている言語は以下です。
- Swift
- Kotlin
- Flutter(Dart)
- ReactNative(JavaScript)
いずれの言語もクロスプラットフォームとなっており、複数OSに対応していますが、中でもFlutterはアプリケーション開発においてはWebにも対応しているという点でひとつ抜きんでたと言っても過言ではないでしょう。
これからアプリケーションエンジニアを目指すのであれば筆者はFlutterを強く推薦します。
ただ、現状では書籍や学べる環境が少ないことがネックです。
資格については、ソフトウエア系エンジニアの資格を参考にしてください。
エンデベッドエンジニア
あまり聞いたことがないかもしれませんが、いわゆる「組み込み系」のエンジニアです。
IoTが盛んになってきた昨今では技術者の中でもとても需要が高いエンジニアです。
主にメーカーで実機のプログラミングを担当します。
興味がある方がお手軽なマイコンRaspberry Pi (ラズベリーパイ)を使用してIoTを実現させてみましょう。
使用する言語と目指す資格
使用する言語は以下が主流です。
- C言語
- C++
- Python
Raspberry PiはPythonで扱うことが多いですが、職業として使用する言語は今でもC言語、C++が主流です。
今後はもしかすると色々な実行環境がマイコンに搭載されて、様々な言語で実装する世界が来るかもしれませんが、今のところはC言語を中心に学んでいくとよいでしょう。
資格については、ソフトウエア系エンジニアの資格を参考にしてください。
エンデベッドエンジニアを取得している技術者さんもたくさんいるイメージの業界ですね。
ゲームエンジニア
みなさんはゲームが好きでしょうか?
現在販売されているゲーム機でプレイするゲームも実はプログラムでできています。
過酷な現場が多い印象ですが、プログラマーと言ったらゲームエンジニアを想像する方も多いのではないでしょうか。
使用する言語と目指す資格
主に使用する言語は以下になります。
- C言語
- C++
- Unity
最近では、ゲームエンジンUnityが台頭していますが、こちらはモバイルアプリケーションのゲームとして見かけます。
実際にPSやSwichなどのゲームソフトではC言語やC++を使用していることが多い印象です。
資格については、ソフトウエア系エンジニアの資格を参考にしてください。
インフラエンジニア
サーバやネットワーク、セキュリティ、データベースなど、インフラ系のエンジニアの総称です。
それぞれを特化しているエンジニアもいますし、兼任される方もいます。
アプリケーションのコアな部分を扱うため、年収がかなり高い職業です。
使用する言語と目指す資格
必要な言語は特にありませんが、一般的には、ソフトウエア系エンジニアと同じくらいの知識を持っている方がほとんどです。チューニングの時に必要になりますからね。
資格については、ソフトウエア系エンジニアの資格を参考にしてください。
ベンダー試験としては以下のようなものが挙げられます。
LPIC(サーバー・Linux)、AWS認定試験(サーバー)、CCNA(ネットワーク、セキュリティ)、OracleMaster(データベース)などが人気の資格です。
挫折しない学び方
目標とする職業と学ぶ言語を決めたら、さぁいよいよ学習するぞぉおおと燃えているでしょうか?
その前に、挫折しない学び方をお伝えします。
プログラミングは90%の挫折すると言われています。しかし、この学び方を守るだけで挫折する確率を大幅に下げることができます。
それぞれのメリットデメリットについても解説していますので、ぜひ参考にしてください。
- オンラインで学ぶ
- 書籍で学ぶ
- スクールで学ぶ
オンラインで学ぶ
Udemyなどのオンライン講座で学ぶ方法です。
独学の中では筆者が一番おすすめしたい方法です。
それぞれの言語のおすすめ講座についてや、学ぶべき順番についてはこちらをご覧ください。
何と言っても、バージョンアップ対応やQAの対応があることが魅力です。
独学では挫折しにくい学習法No1と言っても過言ではありません。
書籍で学ぶ
以前は独学するときにはこちらをおすすめしていましたが、最近ではあまりお勧めしていません。
なぜなら、使用する言語やフレームワーク、ライブラリのバージョンアップのスピードがかなり速く、書籍ではカバーしきれないことが増えているためです。
しかしながら、C言語やJava、C#などの安定した言語であれば、それほど進みが早くありませんので、書籍を利用するのも良いでしょう。
また、仕組みや理論などについては、書籍でじっくり理解する。ということもアリだと思います。
スクールで学ぶ
独学ではなかなか進まないこともあるでしょう。
そんな時にはやはりしっかりサポートしてくれるスクールに通うことも1つの選択肢です。
国から出る給付金を利用できるスクールなどもあります。
また、転職ができなかった場合、キャッシュバック保障があるスクールなどもあります。
相談や体験は無料ですので、ぜひ1度体験してみてはいかがでしょうか?
保障や給付金を利用してスクールに通うほうが遠回りのようでいて実は近道ですよ。
まとめ
いかがだったでしょうか?
プログラマ、システムエンジニアなど、IT系エンジニアの呼び名はたくさんありますが、実はたくさんの職業があるということをご紹介しました。
ぜひ皆さんがイメージする職業のプログラミング言語を選択して、挫折せずに学習していただきたいと思っています。
もし、初心者が挫折しない学び方。という記事も書いていますので参考にしてください。