未経験者からプログラマーZET

未経験でもプログラマーに絶対になる!プログラミング初心者のための情報サイト

プログラマーの就職 プログラマーの働き方 プログラミングの勉強

プログラマーとエンジニアの種類を一覧公開。あなたはどの技術者になりたい?

2017/08/09

IT分野が発達してくれるのは嬉しいのですが、プログラマーやエンジニアの種類や分かりにくくなりました。

境界線も曖昧なので、エンジニアの自分ですら困ります。

私の場合、企業に名乗る時は「WEBエンジニアで、フロントエンドが得意です」といってます。

フロントエンジニアでもいいのですが、サイトの設計やもろもろを請け負うこともあるので、部類としてはWEBエンジニアになります。

聞いてるだけでややこしいですね。

これからプログラマーやエンジニアを目指す人のために、職種や種類について解説したいと思います。

まず最初に、プログラマーとエンジニアのちがい

コードを書くのがプログラマー
システムの設計をするのがエンジニア

と覚えるとわかりやすいでしょう。

プログラマーを経験した人がエンジニアに昇格することが多いです。

ドラクエでいうと、黒魔術師や白魔術師が賢者に転職するイメージですね。

図から自分がなりたい技術者を考えてみる

ややこしいので図にしてみました。

リンクから詳細に飛ぶことができます。

また言語については全てを覚える必要はなく、取り組む分野によって変わってきます。

 

プログラマーの種類5つ

WEBプログラマー

WEBプログラマーとは簡単にいうとインターネットを通じてプログラミングをする人です。

例えば楽天やアマゾンのような通販サイト、クックパッドや食べログなどの投稿型サイトなど、ネットを介して成り立っているサイトやサービスはたくさんあります。

これらのプログラミングをするのがWEBプログラマーの仕事です。

最近になって求人が増えてきたと同時に、WEBプログラマーになる人も多くなりました。初心者でも比較的なりやすい分野です。

アプリケーションプログラマー

アプリケーションプログラマーは、企業が使う業務用のアプリケーション開発などの業務をさすことが多いです。

「多い」と曖昧ないい方になぜなるかというと、使われている分野が広すぎて業務用だけともいえないからです。

例えばお歯医者さんで使用するコンピューターには専用のソフトが入っていたりします。これもアプリケーション。

電気屋さんで売っている青色申告のソフトもアプリケーション。

自分が気づいてないだけで身近なところでアプリケーションはたくさん使われているのですね。

インターネットと連結するならウェブの知識も必要になるし、アプリケーションプログラマーになるならどの分野に参入するかを考えておかなくてはいけません。

広い知識が必要になる職種です。

ゲームプログラマー

言語はそう変わらないのですが、ゲームを実装するための過程や設計が他の分野のプログラミングとはちがうため、専門性が高くなる分野です。

またゲームをするデバイスによって開発言語がちがっており、例えば同じスマートフォンでもiosとAndroidでは開発環境がちがいます。

最近ではデバイスを選ばないunityで開発することも多くなってきました、VRの技術に対する関心も高まってきています。

あと、クリエイティブな部分が大きく関わってくるためか、現場がキツイことが多いです。

残業が当たり前とか、納期前は血眼になっているとか・・・。最近は改善されているとも聞きますが、業務内容や就業規則についてはよく聞いた方がよいでしょう

組み込みプログラマー

エンベデッドプログラマーと呼ばれることもあります。

いったい何を組み込むんだろうと思うのですが、モノにプログラムを組み込んで一定の働きをさせるための技術者です。

例えばすぐ思いつくのが今流行りのドローンです。

あれもプログラムが組み込まれているから、操縦者の思ったように動くわけです。最近ではセンサーもつけられ、建物などにぶつからないような仕組みになっているとか。すごいですね。

Iotとも深い関わりがある分野で最近特に人気がでてきたのですが、レベルの高い技術が求められます。

システムプログラマー

システムプログラマーは頭に汎用系とか基幹系とかつくことが多い職種で、企業の大切な中心部のシステムを作り上げたり更新をします

わかりやすいところで銀行とか、お役所とかですね。銀行の残高が勝手に少なくなっていたら困りますし、マイナンバーの情報が勝手に漏れてても困りますよね。

互換性があっては困ることが多く、言語もかぎられています。

瞬時に答えを出さなくてはいけないので、よりコンピューターに近い言語が必要になってきます。

専門性をたかめろ、エンジニアの種類11つ

システムエンジニア

俗にいうSEという職業です。求人でもよくみかけます。

役割はシステムの現場監督と覚えておくとわかりやすいですね。システムの設計にたずさわり、開発がうまくいくように調整してすすめます。

システムエンジニアの役割が分野によってちがうこと、また業務の境目がないので、企業によって業務内容がおおきくちがってくることがあります。

例えばゲームを作る会社のシステムエンジニアと、医療系アプリを作るシステムエンジニアとでは、専門的な知識や必要な言語が変わってきますよね。

なかにはまったくプログラミングができなくてもシステムエンジニアができる企業もあります。システムエンジニアの営業色が強いとそんなこともあるんですね。

ネットワークエンジニア

ネットワークの設計をする人で普通の会社でも社内にひとりいると、とてもありがたい存在です。

データー通信に関わること、例えばファイヤーウォールやルーター、LANの設計などをします。

これだけ世界中のことがわかるのも通信が発達したおかげです。これからもよりネット―ワークの技術はより大切になってきます。

またサイバー攻撃も盛んに行われるようになってきました。ネットワークエンジニアは今後セキュリティの面でも学ぶことが多く、広い知識が必要になります。

データーベースエンジニア

データーベースは情報を書き留めておく場所なのでプログラムのかなめです。システムを作る時の土台になる部分でともいえます。

小さなコップにたくさんの容量の水は入りません。コップに水を入れるように、情報量に応じたデーターベースの設計をおこなうのがデーターベースエンジニアの役割です。

サーバーの中にデーターベースがあることから、サーバーの知識も必要になります。

サーバーエンジニア

サーバーエンジニアには重要な役割があります。サーバーの設計から運用、保守をメインで行います。

特にサーバーサイドは障害時を仮想してにそなえなくてはいけません。セキュリティやサーバーの分散についてなど多岐にわたる知識が必要になります。

もしサーバが飛んでしまったらが大変なことになるので、システムの更新時には対応が大変なことがあります。

インフラエンジニア

データベースとサーバー両方の知識を合わせもち、設計、運用、保守を行っていきます。ソフトウェアやPCについても知っている必要があり広い範囲の知識が必要です。

特にインフラエンジニアの本領が発揮されるのがトラブル時です。

例えばお気に入りのゲームで更新時間が遅れたりしたことありませんか。更新される時にデーターベースとサーバーの間でなんらかのトラブルが発生している可能性が高いでしょう。

もちろんトラブルの原因がサーバーだけとは限りませんが、システムの更新時にはとくにインフラエンジニアの力が試されます。

そのためトラブルに対する知識や、セキュリティに対する知識も必要で重要性のたかい職種です。

組み込みエンジニア

エンベデッドエンジニアとも呼ばれます。ものにプログラムを組み込んだり、ものを制御するプログラムを作るエンジニアです。

組み込みプログラマーはプログラムを作成しますが、エンジニアになると設計から開発に至るまですべての業務にたずさわります。

最近ではlotが大きく取り上げられ、AIを用いた組み込むプログラムも考えられるようになりました。

ものとITをつなげる職種のため、幅広い分野での活躍が期待されます。

高度な技術とともにさまざまな知識が必要です。

WEBエンジニア

WEBエンジニアはインターネットやブラウザを通じたプログラムを作成します。サイトの設計を考え、開発全てに関わります。

みなさんが見ているWEBサイトやサービスは単純にサイトを作成すれば成り立つわけではありません。

PC版だけでなくスマートフォンでもより使いやすいように設計がされており、すぐに情報を更新できるようにプログラムが組まれています。

ここだけの話、WEBエンジニアは自社開発の企業が多いので、SIerとはちがい常駐とは無縁なのがうれしいです。

この辺に関しては長くなるので割愛しますが詳しくは下記をどうぞ。

プログラマーは激務というのは本当?ブラック企業を回避する方法

マークアップエンジニア

コーダーの上位版と覚えておくとわかりやすいです。

コーダーと何がちがうのかというと、HTMLとCSSに、プラスしてJavaScriptの知識があることが前提でしょうか

ただコーディングするだけでなくよりユーザービリティを考えたサイトを作れるかが試されます。

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

フロントエンドとはユーザーが見える範囲のプログラミングのことです。サイトを見た時に表示される画面や登録、切り替わりなどに関わってきます。

HTMLやCSSの知識だけでなく、サイトを綿密に動かすためのPHPの知識も必要です。サイトの設計からカスタマイズまで広い分野で関わりをもっています。

ゲームエンジニア

ゲームに携わるエンジニアは通常のWEBエンジニアとは考え方やプログラミング設計の過程がちがいます

通常のシステムというのはバグがあってはいけませんよね。実装されるまでテストを繰り返し、完成度を高めていきます。将来的にどういう風に運用がされるかなどもしっかり設計されたのちに開発されます。

しかしゲームの場合はエクスペディエンスが全てといっても過言ではありません。ユーザの利便性やゲームの売れ行きなどで変更が加えられることが前提なので、スタートして後に改修を加えていくことがほとんどです。

ゲームという特異性から、技術面もさることながら思考や作成までの過程がちがうことを理解しておいた方が業界に入ってからラクになります。

テストエンジニア

テストエンジニアは完成されたプログラムにバグがないかテストをする職種です。プログラムの品質を保つため不具合を見つけていきます。

海外ではそうでもないのですが、地位が低い傾向になります。誰でもできると思われがちです。

しかし最近では複雑化されたシステムも多く、またセキュリティの面での知識も必要で重要な役割をになっています。

-プログラマーの就職, プログラマーの働き方, プログラミングの勉強