IT系の仕事に就きたいと、プログラミングを学ぶ方は多いでしょう。世の中のサービスのほとんどをITテクノロジーが支えています。
しかし、一言でIT系と言ってもどんな職業があるのか、ご存知でしょうか?
今回はIT系のお仕事を大きく分けて仕事の内容や、必要なスキルを解説していきます。
まずは何から学ぶ?を知りたい方はこちらの記事で詳しく解説しています。
プログラマ、システムエンジニアの種類
IT系と呼ばれる仕事には、大きく分けて3つの種類があります。
- ソフトウエア
- 組み込み(ハードウエア・エンデベッド)
- インフラ
まずはそれぞれの仕事の内容を解説します
ソフトウエア
まずIT系の仕事と言われると多くの人はこのソフトウエアエンジニアを思い浮かべることと思います。
黒画面のパソコンに向かって、何やら文字を打っている、そんなイメージでしょうか(笑)
一般的に、システムエンジニアまたはプログラマーと呼ばれている職業です。
実は、ソフトウエアエンジニアの中にもいくつか種類が分かれているんですよ
- フロントエンジニア
- バックエンドエンジニア
- モバイルエンジニア
Webアプリケーションのブラウザ側、つまりユーザーが目にする部分をプログラミングすることを得意としている技術者です。
バックエンドエンジニア
Webアプリケーションのサーバー側、裏方の主に処理の部分を担当することを得意としている技術者です。
モバイルエンジニア
主にスマートフォンやタブレットなどのアプリケーションを開発するエンジニアです。
Webアプリケーションのフロントとは少し違った考え方をすることが多いため、特化しているエンジニアがおおいです。
以前は、フロントエンジニアもバックエンドエンジニアも、得意とするだけで、フロントだけ、バンクエンドだけという技術者はあまり見かけませんでした。
しかし、最近ではフロントの技術のみに特化しているという技術者もみかけるようになりました。
フロントとバックエンド、具体的に何が違うかというと、扱う言語が違います。
フロントは主にデザインや入力や出力などの動作に特化しています。
Webアプリケーションの出力は最終的にHTMLとなるので、プログラミング言語とHTMLが混在することが多く、デザインや動作の組み立てに時間がかかるため、いかに簡単に組み込めるか。が永遠のテーマとなっています。
そのため、新しいフレームワークやライブラリが数年で流行しては廃れ、また新しい技術が出てくる。という技術の進化が目まぐるしい世界でもあります。
技術はどんどん進化しているんですよ~。
バックエンドの世界もここ数年で新しい技術がたくさん出てきてはいますが、それほど大きく変わっていってはいません。
フロントエンド技術者かバックエンド技術者のどちらを目指しても常に学習を強いられる業界ではありますが、フロントエンドは特に日々新しい技術がでてくる世界なので、常に学習することが必要です。
就職先としては、以前はシステム開発会社の一択でしたが、現在ではたくさんの企業が自社でのアプリケーション開発に力を入れているので、会社を選択する幅は大きいです。
組み込み
ハードウエアエンジニアやエンデベッドエンジニアとも呼ばれます。
現在の家電やその他の機器はほとんどといっていいほどインターネットに繋がっています。IoT機器と呼ばれるモノたちです。
それら機器に搭載されるアプリケーションを開発する人たちが組み込み系エンジニアです。
今後、ますますIoTは進み、ハードウエアの技術者はどんどん不足していくでしょう。
IT系でも、ソフトウエアに比べるとあまり耳にしない職業かもしれませんが、今後ますます需要が増えることは明白です。
実はIoT機器は自作することもできるんですよ!
Raspberry Pi(ラズベリーパイ・略してラズパイ)を使用して、家に着く前にスマホからエアコンをつけたり、お風呂を沸かしたり・・・色々なことを実現できてしまうんです。
もし、組み込み系に向いているのかな?と思ったら一度そういったマイコンで自作のIoT機器をつくってみるのも良いかもしれません。
就職先としては、電機メーカーが多く募集しています。
以前は大手メーカーが殆どでしたが、現在では、先ほどのRaspberry Piやマイコンの登場により、IoT機器の導入ハードルがぐっと低くなり、中小企業やベンチャー企業でもIoT機器の開発を行っているところもあります。
インフラ
インフラって聞いたことないですよね・・・
インフラ系には主に2つの種類があります。
- サーバー、ネットワーク、セキュリティー
- データベース
それぞれの仕事の内容を解説しましょう。
サーバー、ネットワーク、セキュリティー
主にサーバーやネットワーク、セキュリティの設計、構築、保守、運用を行います。
サーバー障害やネットワークやセキュリティの技術者を兼業することが多く、幅広い知識が求められます。
最近では、AWSをはじめとしたクラウドサーバーを使用する企業が増えていることもあり、構築は若干簡単になっているとはいえ、知識は幅広く身につける必要があります。
プログラミング言語を直接必要としない職業ではありますが、自動化ツールなどのアプリケーションを自作していたりする方も多いので、プログラミング言語はある程度できる方が良いでしょう。
就職先は、多岐に渡りますが、ソフトウエアと一緒に行動することが多いので同じような会社が募集していることがほとんどです。
難しい職業ですが、極めるといわゆる高給取りが多いのも特徴です
データベース
データーベースエンジニアと呼ばれます。
主にデータベースの設計、構築、保守、運用を行います。
システムエンジニアと兼ねている技術者も多いです。
就職先は、こちらもソフトウエアありきになるので、同様の会社が募集しているでしょう。
ですが、最近では、データベースエンジニア単体での募集はあまり目にしなくなりました。
最近では、データ解析などもセットで行う技術者さんが多いですね
それぞれのエンジニアに必要なスキルとは
IT系の仕事といってもたくさんの種類があるのを皆さんは知りましたね。
それでは、それぞれのエンジニアを目指すときどんなスキルを身につければよいのか。を解説していきましょう。
ソフトウエアエンジニア
プログラミング言語はもちろんですが、情報処理の基礎知識や業務知識を持っていることが問われます。
また、海外での就職を目指すのであれば、コンピューターサイエンスの学位を必要とすることがほとんどです。
言語についてはこちらを参考にしてください
フロントエンジニア
フロントエンジニアを目指すのであればJavaScriptのライブラリであるReactは現在とても人気があり、案件もたくさん目にします。
また、PHPのフレームワークLaravelも日本ではとても人気が高く案件を多く目にします。
バックエンドエンジニア
基幹システムにはJavaやC#などが多く使用されていますが、最近のアプリケーションのバックエンドは様々な言語が使われます。
Ruby(on Rails)、PHP、PythonなどはWebAPIやバックエンドで数多く採用されています。
また、Pythonは特にAIや機械学習、データ分析などにも用いられることが多い言語です。
モバイルエンジニア
SwiftやKotlinが目立ちますが、最近ではJavaScript製のライブラリReactNativeも人気です。
また、徐々に案件の数が増えているのはFlutter(Dart)です。
言語の流行はアメリカでの人気が数年後に日本に反映されることが多いですが、現在アメリカでは、Flutterの人気が爆発的に増えています。
現在の日本でFlutterの開発はちらほらしか見かけませんが、今後ますます伸びていくことが予想されます。
Flutterは筆者も大好きな言語のひとつです。
組み込み
主にC言語やC++を扱うことがおおいです。
機械に近い部分を制御するため、C言語の知識は必須です。
Javaや最近ではPythonでの実装もたまに耳にしますが、圧倒的にC言語、C++でしょう。
組み込み系を目指すのでしたら、ぜひC言語を学んでください。
インフラ
ここではインフラエンジニアを大まかに2つに分けて説明します。
それぞれ特化したエンジニアももちらんたくさんいます。
インフラエンジニア(サーバー、ネットワーク、セキュリティー)
インフラ系のエンジニアに必要な知識は幅が広いです。
OSの知識、特にサーバのOSとしてはLinuxを採用していることが多いので、Linuxについて良く学ぶ必要があります。
また、ネットワークやセキュリティについても深い知識が必要です。
その他でいくと、アプリケーションの自動実行ツールの設計をすることも多く、業務の知識もやはり必要になります。
たくさん覚えることがあるけど、だからこその高給取りなんですね
データベースエンジニア
何と言ってもデータベースへの深い知識が必要です。
また、ストレージの計算なども必要となるため、情報学の基礎知識は必須でしょう。
データベースも常に進化していますが、それほど流行が大きく変わっている印象はありません。
ただ、細かいバージョンアップなどは毎年あるので、各種データベースの知識を毎年アップグレードする必要はあります。
最後に
いかがだったでしょうか?
IT系で仕事をしよう!と思っても、たくさんの種類があることにびっくりしたでしょうか?
プログラミング言語はそれぞれの良さがあり、使い方は様々です。
エンジニアの種類によっても使用する言語が変わることを理解していただけたでしょうか。
目指す職業を決めるヒントになれば幸いです。
まずは何から学ぶ?を知りたい方はこちらもご覧ください
さぁ、プログラミングを学ぼう!と思ったら、体形的に学べるスクールもお勧めです