DIVE INTO CODE

2019年07月05日
  • #エンジニア
  • #プログラマー
  • #求人
  • #就職
  • #転職

転職サイトに載っているエンジニアの職種を説明してみた

Aws4 request&x amz signedheaders=host&x amz signature=8694005232c258fa583da0b2ac45cc62ce52befc687d364e01b613ab12817a9a

【こんな方におすすめ】
・これからエンジニア職での転職活動をする方
・エンジニア職のうち、どのような仕事をしたいか迷っている方
・エンジニア職の仕事内容を詳しく知りたい方

【目次】
1.エンジニアの職種はわかりにくい・・・
2.システムコンサルタントは多くの人を動かし、システムの提案をするおもしろさがある
3.「システム開発」といっても仕事内容は多岐にわたる
 ・Web・オープン・モバイル
 ・汎用機系
 ・組み込み・ファームウェア・制御系
4.パッケージソフト、ミドルウェア開発は専門性が求められる
5.ネットワーク、サーバ設計、構築系は、絶対に必要な仕事!
6.その他もまだまだある!
 ・通信インフラの設計・構築
 ・運用・保守
 ・社内SE
 ・研究
 ・品質管理

■話し手
DIVE INTO CODE 代表 野呂 浩良
■聞き手
StartGate 永田 拓也

エンジニアの職種はわかりにくい・・・

今日は、「転職サイトに載っているエンジニアの職種を説明してみた」というタイトルでいきます!

いろいろあるのは知っています。何をやるのかをイメージしにくい職種もあるので、転職サイトを見ながら話していきたいです。

わかりました。一緒に見ていきましょう。

職種で探すと、いろいろなものが並んでいますね。

そうですね、どのサイトでもカテゴリはだいたい同じですね。

なんかもう、いきなりわからないんですけど・・・

どの辺がわかりにくいですか?

カタカナが並んでいるので・・・システムコンサルタント、システムアナリスト、プリセールス・・・もうわからないです(笑)なぜこれらが一緒のカテゴリなのかもわからない。

未経験だったり他の業界の人だとわからないですよね。順番に説明していきましょう。あくまで私の見解なので、ずれている可能性はありますが、大雑把につかむために最適な解説ができればと思います。

システムコンサルタントは多くの人を動かし、システムの提案をするおもしろさがある

まず、システムコンサルタントシステムアナリストプリセールスについて話をします。
システムコンサルタントは、「システムを使ってこんな仕事が実現できますよ」とか、「生産性を上げられるので導入したほうがいい」とか、営業職から引き継いで顧客に提案するイメージですね。

営業職はものを売るイメージがあると思うんですが、システム開発ってものがないこともあるんですよ。「御社はこういうことに困ってますよね。これを課題と認識されているなら、こういうシステムを作ったらいいんじゃないですか?」「こういう構成でシステムを作ったらこういうメリットがあって・・・だから成果が上がりますよ。従業員の皆さんも楽になります」と提案する仕事ですね。

システムを導入することによってこんな価値がある、と伝える方々なんですね。

なので営業とも非常に相性がいいですね。ものを売るだけじゃなくて、課題を解決するために自分の力を使いたい、提案する力をつけたい、という人にとっては魅力的な仕事です。

この仕事は、たくさんの関係者を動かす必要があります。例えば相手が中小企業でも100人くらいの社員さんがいて、その人たち全員がやりたいと思うものを実現しないといけません。鶴の一声で導入したシステムが使われないこともあります。社内の人たちからいかに課題を引き出すか、という点でもやりがいのある仕事ですね。

ITエンジニアの枠組みに入るんですね。どちらかというと営業のイメージが強いですけれども。

技術をわかっていないと、提案できないんですよ。自分が相手の経営者と同じくらいのレベル、あるいはそれ以上に技術を理解しておかないといけないですね。

けっこう難易度が高そうですね。

きっとおもしろいですよ!

「システム開発」といっても仕事内容は多岐にわたる

他のも聞いていきたいです。「システム開発」だけでも、3種類くらいあるようなんですが・・・

システム開発は、一般的ないわゆる「開発をする人たち」ですよ。エンジニアプログラマーと呼ばれる人たちです。

僕らがイメージしている、エンジニアですね。でも3つも職種があるようです。

いずれもシステム開発、すなわちプログラミングをする仕事ですが、使う道具によって分かれています

Web・オープン・モバイル

例えば、「Web」「オープン」「モバイル」と書いてある職種は、Webアプリケーションを作ったり、有料で購入するものではない「オープンソースソフトウェア」と呼ばれるものを扱ったりする仕事です。JavaやPython、Rubyはここに入ってきます。言語の特徴は違いますけれども、作るものはそんなに変わらないですね。
新しいものを世の中に生み出していく職種です。比率としては、自社サービスの開発よりも、受託開発や他の会社の業務システムを作るものが多いと思います。

へえ〜、なるほど。

スタートアップや自社サービスの求人もある一方で、スーツ着て、ネクタイ締めて、客先常駐してシステム開発をする仕事もあります

システム開発にもいろいろあるんですね。

そうですね。客先に私服で行くと失礼な場合もあるわけです。顧客の企業で、社員がスーツを着ているところにふら〜っと私服で行ったら「ちょっとうちの文化が崩れちゃうんで、やめてもらえますか」と言われますよね。

求人は仕事内容で分かれているものであって、どういう働き方ができるかはまた別ということですね。

会社ごとに文化があるので、よく見たほうがいいですね。

汎用機系

「汎用機」という機械があるんですよ。今、私たちが触っているWindowsやMacのパソコンではなく、業務用の専用コンピュータです。一般の人にとっては使いにくさもあるんですが、技術をわかっている人には使いやすいようにできています。
パソコンがない時代からあるので、それなりにシステムが作りやすかったり、セキュリティ面でも外とあまり繋がなくてもよいメリットもあったりします。

例えば、工場にある機械自体のパソコンとかですか・・・?

それはまた別なんですよ。工場のものは組み込みや制御系です。
汎用機は、企業の会計システムや給与系など、バックオフィス系のものです。事務処理ですね。

決まったことをやるものですね。

そう。伝票を出したり、それを計算するためのシステムみたいな感じですね。この職種、けっこう求人があるんですよ。

そうですよね。1つのカテゴリーになってますもんね。

この技術を持っている人はこの道で生きていくくらい、貴重な技術です。今後、ものすごく求人が増えることはないですが、減らない分野でもあります。企業の根幹のシステムで、リプレイスにはすごくお金がかかりますが、メンテナンスしたほうが経済合理性があるよね、となるものです。
気になったら「汎用機 歴史」でググると、いっぱい出てくるのでおもしろいと思いますよ。

組み込み・ファームウェア・制御系

組み込みファームウェア制御系というのは、製造業の生産ラインなど、いわゆる「もの」の中にあるシステムですね。
例えばテレビ。最近はテレビの中にもインターネットにつながるシステムが入っているじゃないですか。あれは組み込みとかファームウェア、制御系なんですよ。

なるほど。へえー。

ものに組み込んでセンサー化させるとか、その中で時刻を管理させるとか、生産ラインのスピードを上げたりだとかを電子的に制御しています。

今、話を聞いているだけでも、また違いがありますね。

そうですね。これらは日本において、以前まで最大の基幹産業だった製造業を支えているシステムです。町工場の職人技もありますけど、全部人力なはずないじゃないですか。けっこう自動化されていますよね。

パッケージソフト、ミドルウェア開発は専門性が求められる

「パッケージソフト」とは、すでに作られている、企業向けの製品です。システム開発の必要なく、インストールすればすぐに使えるものですね。
例えば社内の給与計算をするシステムを個別に作るのではなく、何千社で使われているものがあるので御社でも使えます、というものですね。サーバを用意してもらって、その中にインストールして、従業員の皆さんにアクセスしてもらって使われるものです。

パッケージ化されているから安く購入できるんですか?

できます。パッケージを作る側も、個別にシステム開発をする必要がないから、労働集約的じゃないんですよ。ビジネスとしてはテコの原理が効きやすいですね。当たれば非常に儲かる。そういうビジネスです。

そういうものを作る人を募集しますよ、ということですね。

そうですね。
そして「ミドルウェア」は、何かに組み込んで使うツールみたいなものです。
例えば、データベース管理システムはミドルウェアなんですよ。Oracle、MySQL、PostgreSQLなどがあります。無償・有償の両方がありますね。開発する人が有料でもほしい機能もあるんですよ。
ちょっとニッチですが、そういう開発もあって、それなりの専門知識が必要だったりします。なので、他のカテゴリの求人とちょっと違うんですよ。

そうなんですねー、なるほど。

ネットワーク、サーバ設計、構築系は、絶対に必要な仕事!

次が、ネットワーク、サーバ設計、構築系ですね。
まずネットワークについては、企業のネットワーク配線をどうつなげたらよいかや、セキュリティ上どうすれば外からアクセスできないようにするかを考えたりする仕事です。

物理的なものも含まれるんですね。

そういうものの設計や構築をします。線だけじゃなくて、どういうサーバを買って、どう配置して・・・ということもやります。社内のコンピュータルームにサーバラックを買って、そこにサーバを入れ、そこで空調を回して冷却させて最大のパフォーマンスを出すようにする。さらにデータベースを買って、ネットでつなぐ、といった仕事です。

それから企業向けで多いのは、データセンターという、コンピュータを置ける専用の設備での仕事です。場所は明らかにされていなかったりするんですが、そこのサーバラックのスペースを借りて、通信でつなぐこともありますね。

いろんな方法があるから、どれが最適かを選べる人が必要なんですね。

そうですね。サーバを用意するだけじゃなくて、OSや開発したシステムのインストール作業もするんですよ。場合によっては、他のシステム開発会社と組んで、その人たちのシステムをインストールして使えるようにするために下作業をやる。インフラエンジニアと呼ばれる人たちの仕事です。

これはこれで、けっこう専門性が高そうですね。時には、何が原因で動いていないかもわからないといけないし、そもそも開発できないですもんね。

環境を整えるってとても大事なんですよ。絶対必要なんです。アプリケーション開発のエンジニアばかり注目されていますが、この人たちがいないとシステムは成り立たないんですよ。

その他もまだまだある!

通信インフラの設計・構築

この仕事は、通信会社に近いですかね。

まだあるんですね!エンジニアの仕事、広いな〜。

そうなんですよ。物理的なネットワークの構築というのは、個々の会社をまたがって全体の専用線を引くものです。その契約を提案したり、通信の高速化をさせたり、トラブルシューティングしたりします。

パソコンに向き合って仕事するものからイメージ離れてきました(笑)

運用・保守

テクニカルサポートは、使われているシステムがきちんと動いているかお守りをすることです。運用というのは、「きちんと使えているか」を見る仕事なので、どう使えばいいか解説することも含まれます。保守トラブルが起きた時に駆けつけて、それを守っていく仕事です。

お問い合わせをもらうこともありますよね。

トラブルになったら、時には深夜でも駆けつけて復旧させることもありますね。
そして監視というのは、システムが変な動きをしていないか、ログや通知を見ることです。コンピュータのファイル容量がなくなって、何も保存できなくなってエラーが起きるなんてことは結構あるんですよ。テクニカルサポートが問い合わせを受けたりします。そういう仕事があるんです。

いろいろあるんだなあ・・・

ちなみに、プログラミングスクールのメンターの仕事は、ここに近いですね。

え、そうなんですか!?

ちゃんと学習が進むように運用サポートして、「すみません、エラーが出てしまいました」と言われたときにうまくいくように対応する。あるいは、進捗状況を監視してテクニカルサポート的に解説したりしますしね。運用、保守をやっていた人はメンターに向いてます

社内SE

企業の情報システム部門に勤めて、社内でどういうシステムが必要かを考える役割の人です。顧客向けではなく、自社向けに企画する仕事です。

「今、ここがネックになってるからどうにかしてくれないか」と言われたときに、「こうできますね」と全体像を描いて、外注するなりしていく仕事ですね。

日本では社内にエンジニアを抱える企業は少なくて、外注で成り立っていたりするんですよ。社内に何十人も抱えていると、常に開発し続けないといけないので、逆にビジネスを鈍化させると考えられることもあります。
なので外に切り出す傾向にあって、そのコミュニケーション役になることが多いですね。自分で開発することはあまりなく、企画と発注がメインの仕事です。時にはキッティングといって、新入社員のパソコンを準備したりもします。

総務に近いといえば近いですね。いないと困りますね。

この人たちがいるから社内がうまく回るんですよ。外部の人が提案してきた内容を評価して、社内で本当に解決すべき課題や優先順位を付けてくれます。

システムコンサルタントやシステムアナリストをやってきた方が、社内SEになったりしますか?

そうです。両方ありますね。「社内だけだとおもしろくない」ということでシステムコンサルタントになっていくこともあるし、逆に提案よりも1つの会社でやっていきたくて社内SEになる場合もあります。

研究

先端研究の仕事もあります。今だとAIも入ってきますね。会社に勤めて、技術によってビジネス特許を取れないか、あるいは先端技術をビジネスに活用できないかを検討します。どういう技術があるのか調べることもありますね。小さい会社ではなじみがないですが、大企業にはあるものです。

ビッグデータをどう活用するか、もありますか?

そうですね。仕事をタスク処理みたいに思う人が多いですが、「どうすればできるか」を考えることも大事で、それに特化した人たちが研究職ですね。

いろいろ経験を積まないと、ここまでいけなさそうですね。

その分野の博士号を持っているならすぐいけそうですが、学部だけだと難しいですね。深い知識がないとついていけないですよね。

品質管理

最後に品質管理です。テクニカルサポートと違うんですか?

全然違います。開発したシステムがエラーなく使えるか、処理スピードが問題ないかをチェックする役目の人たちです。品質を担保する役です。
プログラミングって作って終わりじゃないんです。人間は必ずミスするんですよ。永田さん、誤字脱字って書いたことあります?

あります。

それって、だんだん減ってきてますか?

意外と減らないです。気をつけるようになりますけど、やっぱり「あ、またここで」というのはありますね。

ブログ記事を書いてもありますよね。絶対にミスするんですよ。だから、それをチェックする人が必要なんです。

いくら熟練の人でも、プログラミングの構造自体は合っていても一文字違うとか。

それもあるし、構造自体に抜けがある場合もあります。ゲームをやっててもバグるのあるじゃないですか。会計システムとか銀行のシステムで「送金したら1万円減っちゃいました」となったらどうなります?

シャレにならないですね・・・

社会問題になりますよね。なのでテスターと呼ばれる、テストするコードを書いて自動化したり人力でチェックしたりする仕事があるんですよ。

バグがないかをテストするんですね。

それを開発部門にフィードバックします。あなたたちが作ったシステムをこうチェックした結果、ここに不具合があるのでいつまでに直してください、と。

システム開発にばかり目が向いちゃいますけど、大事な仕事ですね。

そうなんですよ。プログラマー、エンジニアばかり注目されますけど、全体が大事なんですよね。

いろんな人たちが支えあっているからこそ開発できるわけだし、導入された後も活用されていくということですね。ありがとうございました!

まとめ

・システムコンサルタントは多くの人を動かし、システムの提案をするおもしろさがある
・「システム開発」といっても仕事内容は多岐にわたる。大きく、(1)Web・オープン・モバイル、(2)汎用機系、(3)組み込み・ファームウェア・制御系にわけられる
・パッケージソフト、ミドルウェア開発は専門性が求められる
・ネットワーク、サーバ設計、構築系は、システムには欠かせない重要な仕事である
・その他にも、通信インフラの設計・構築、運用・保守、社内SE、研究、品質管理といった職種がある

DIVE INTO CODEのことをもっと知ってみませんか?