お得すぎるAmazonPrimeに入っていない人は今すぐ無料体験!

プログラミングを使う職業・種類をまとめてみた!【〇〇エンジニア】

今井

こんにちは!
今井(@ima_maru)です。

「〇〇プログラマー」「〇〇エンジニア」と呼ばれる職業っていっぱいありますよね。

でも、それらの業務内容は全くと言っていいほど違ったりするのです。

今回は、その中でも「プログラミングをメインに使う職業」をまとめてみました。

この記事に書かれていること
  • 「〇〇プログラマー」「〇〇エンジニア」と呼ばれる職業について
  • それぞれに必要なスキル!
  • それぞれどんなプログラミング言語が使われているか?

それでは紹介していきます。

Webエンジニア・Webプログラマ

Webエンジニアとは、WebサイトやWebアプリケーションの開発や運用に携わる職業です。

WebサイトやWebアプリケーションは、Webサーバーが欠かせないですが、クライアントのインターネットブラウザも欠かせません。

そこで、サーバー側の処理などを担うエンジニアバックエンドエンジニアと呼び、逆に、クライアント側の処理などを担うエンジニアフロントエンドエンジニアと呼びます。

バックエンドエンジニア

バックエンドエンジニアは、WebサイトやWebアプリケーション開発において、サーバー側を担当するエンジニアです。

バックエンドとは、サーバーサイドとも呼ばれ、

クライアント ⇔ サーバー

サーバー側を意味しています。

つまり、クライアント(ユーザー)からは直接見えない、WebサイトやWebアプリケーションの「裏方」の部分を担うことになります。

バックエンドエンジニアは、このサーバーの環境構築を行い、サーバーでの処理をPHPRubyといったプログラミング言語で書いていくことになります。

バックエンドエンジニアになるには?
  • プログラミング言語「PHP」「Ruby」「Python」などのスキルがあるとよい!
  • 「CakePHP」「Ruby on Rails」といったフレームワークのスキルもあるとよい!

サーバーサイドエンジニアも同じ意味でつかわれますが、Web開発に限らない呼ばれ方というイメージがあります。

フロントエンドエンジニア

フロントエンジニアは、Web開発において、バックエンドエンジニアの対立的な存在ともいえる職業です。

バックエンドサーバー側を意味する言葉なのに対し、フロントエンドクライアント側を意味する言葉です。

フロントエンドは、別名「クライアントサイド」とも呼ばれます。

なので、「システムがどのように動くか?」ではなく、「ユーザーにどう見えるか?」を作っていく職業といえるでしょう。

フロントエンドエンジニアになるには?
  • HTMLCSSJavaScriptのスキルが必須!
  • UI/UX設計の知識・スキルがあるとよい!

見た目の良いサイトでも肝心のコンテンツがどこにあるのかわからなかったら意味ないですよね。

例えばブログであったら、めっちゃカッコいいホームページなのに記事がどこにあるのかわからない状態です。

なので、そういったどこに何を配置すればユーザーにとって良いのかを考えなくてはいけません。

こういったユーザーにとってより良い見た目、配置を考えることなどを俗に「UI/UXを高める」と言ったりします。

UI:User Interface:ユーザーとサービスの接合部

UX:User eXperience:サービスを通してユーザーが体験する・感じるすべて

UXについては、UIだけでなく、サービスの仕組みなどほかの多くのことがかかわってきますね。

似たような職種に「マークアップエンジニア」が挙げられますが、すこしHTML/CSSのスキルが高いというイメージがある程度で、フロントエンドエンジニアとの定義の違いはあいまいです。

AIエンジニア

AIエンジニアは、大まかに分けて以下の二つの仕事があります。

  • データ分析を行うデータサイエンティスト/アナリスト
  • 人工知能を開発・実装するプログラマ

データサイエンティスト・データアナリスト

データサイエンティストデータアナリストは、厳密には違うのですが、ほとんど同じ意味として扱われています。

どちらも、統計学などの技術を駆使して、データ分析することを主なお仕事とします。例えば、

  • 夏は、冷たいものがよく売れる傾向にあるようです。
  • 新店舗を展開するのであれば、A地区が良いと結果が出ています。

などのように、「データを分析した結果からわかること」「その情報を用いた最善策・対策などを導くこと」などです。

今井

簡単に言えば「分析の得意な人」ですね。
データサイエンティストになるには?
  • プログラミング言語「Python」、または「R」のスキルがあるとよい!
  • 統計学の知識が必要!

機械学習エンジニア

このように呼ばれるのは、実際に人工知能を開発・実装するプログラマです。

Pythonなどのプログラミング言語を用いて、実際にデータを学習させ、新しいAIを作りあげることをお仕事とします。

人工知能を作るにも、話題のディープラーニングや強化学習など、様々な技術があります。

それらの中から、

「どの技術を使うか?」「どのモデル・アルゴリズムを使うか?」

を決めることも機械学習エンジニアのお仕事といえるでしょう。

まとめると、機械学習エンジニアの主な仕事は、

  • AIのモデルや学習に使うアルゴリズムを決定すること
  • 必要な学習データを決定し実際に学習させること

といえるでしょう。

今井

簡単に言えば「AIを作る人」ですね。
機械学習エンジニアになるには?
  • プログラミング言語「Python」、または「C++」のスキルがあるとよい!
  • 機械学習の技術フレームワークの知識があるとよい!
  • 統計学・線形代数学微分積分学の知識があるとよい!
今需要の高い「AIエンジニア」とはなにか?わかりやすく解説!

アプリケーションエンジニア・スマホアプリ開発者

これからの時代、スマホアプリの開発者は欠かせません

スマートフォンの二大OSは、「Android」「iOS」ですが、日本では「iOS」ユーザーが多く、海外も含めれば「Android」ユーザーのほうが多いです。

また、注意しなければいけないのが、それぞれのOSにあった開発をしないといけないという点です。

Androidスマホ用に開発したアプリをiOSのスマホで使うことができないのです。

正確には、Android専用のアプリはiOSでは使えず、その逆もしかりということです。

最近では、iOS開発に「Swift」、Android開発に「Kotlin」というプログラミング言語を用いることが増え来ています。

そして、これら二つのプログラミング言語の文法は非常によく似ているので、iPhoneアプリをAndroid版にする(移植する)こと、その逆も簡単になってきているのではないでしょうか。

また、どちらでも動くようなアプリを作れる環境も用意されていて、それらで作られた「iOS・Androidどちらでも動くアプリ」のことを、「ハイブリッドアプリ」と言ったりもします。

Androidアプリ開発者

AndroidはGoogleが開発したスマートフォン向けOSで、また、それらを搭載したスマートフォンのことも指しますね。

海外も含めれば、Androidユーザー数はiOSユーザー数を上回り、スマホOSのなかでトップシェアを誇ります

参考 日本でのスマホのOSシェア、Androidが57.2%、iOSが42.8%に - iPhone ManiaiPhone Mania
Androidアプリを開発するには?
  • プログラミング言語「Kotlin」、または「Java」の知識が必要!
  • 総合開発環境「Android Studio」の知識が必要!
Androidアプリを開発するには何が必要?Kotlin?Java?

iPhoneアプリ開発者

iPhoneはApple社が開発している「iOS」を搭載したスマートフォンで、日本は海外に比べ、異様に高いシェアを占めています。

iPhone・iOSのアプリを開発するには、「Mac」が必要です。

また、プログラミング言語「Swift」、または「Objective-C」のスキルが欠かせません。

そして、総合開発環境は「Xcode」というものを用います。

iPhoneアプリを開発するには?
  • プログラミング言語「Swift」、または「Objective-C」の知識が必要!
  • 総合開発環境「Xcode」の知識が必要!
  • 開発には「Mac」が必要!

組み込みエンジニア・IoTエンジニア

組み込みエンジニアとIoTエンジニアは少し似ていると思うので、一緒に紹介します。

組み込みエンジニア

組み込みエンジニアは、組み込み機器の製造にかかわるエンジニアです。

「組み込み」「組み込み機器」という言葉は、あまり馴染みがないかもしれません。

しかし、組み込み機器はとても身近なものであり、スマートフォンやテレビなど、身の回りの電子機器・電化製品のほぼすべてが「組み込み機器」と呼ばれています。

例えば、電子レンジがボタン一つで動くのは、中にボタンを押したときの動作がプログラムとして組み込まれているからです。

今井

かっこよく言えば、電子機器に命を吹き込む職人みたいな感じです。
組み込みエンジニアになるには?
  • アセンブリ言語や、プログラミング言語「C/C++」「C++」「Java」などの知識があるとよい!
  • 回路電子部品などの知識があるとよい!
組み込みシステムとは?具体例でわかりやすく解説!

IoTエンジニア

IoTエンジニアとは、IoT家電やシステムにプログラムを組み込むことを行います。

IoTとは、「Internet of Things」の頭文字をとったもので、よく日本語で「モノのインターネット」と呼ばれます。

これからの時代、家電製品やあらゆる電子機器がインターネットにつながり始めます

例えば、エアコンがインターネットにつながっていることで、自分が家の近くについたら暖房や冷房を自動でつけてくれるなんてIoT商品もありますね。

IoTエンジニアは、このIoTの実現のために、IoT商品の開発に携わります。

IoTエンジニアになるには?
  • プログラミング言語「Python」「Java」「C/C++」などのスキルがあるとよい!
  • 組み込み系のスキル・知識があるとよい!
  • ネットワークセキュリティの知識があるとよい!
IoTとは?わかりやすく簡単にできることを紹介!

ゲームプログラマ

ゲームプログラマは、その名の通りゲームを作るプログラマです。

どのようなゲームを作るかによって必要なスキルは変わりますが、物理演算などが必要なゲーム(3Dアクションゲームなど)には、数学と物理の知識が必要になってきます。

ゲームといっても、PCゲームもあれば、PlayStationやNintendo Switchといった家庭用ゲーム機で遊べるコンシューマゲーム、スマホゲームなど、いろんな種類があります。

それぞれの環境にあった知識も必要になってきます。

必要なスキル
  • 物理演算が必要な場合「数学」「物理学」の知識が必要!
  • 「C++」「C#」「JavaScript」などのスキルがあるとよい!
  • 「Unity」「Unreal Engine」といったライブラリの知識もあるとよい!

まとめ

プログラミングをメインに扱う職業はこんなにあることがわかりました。

なので、プログラミングを勉強し始める場合、どの分野でどういうことをしたいのかを念頭に置いて勉強しなけらば、少し遠回りになってしまうかもしれませんね。

 

以上「プログラミングを使う職業・種類をまとめてみた!【〇〇エンジニア】」でした!

今井

最後までご覧いただきありがとうございます。