エンジニアの職種について知りたい
FLEXYの麻衣子お姉さんが現場で学ぶ #エンジニアの職種編

FLEXY編集部の麻衣子お姉さんが、現場の最前線で活躍するエンジニアへ会いに行くこの企画。
「聞いたことあるけど良く分からない」「ざっくりと教えて」という非エンジニアならではの問いに答えてもらいます。技術書やWebで調べてもいまいち難しくて理解できないあんな技術やこんな技術。プロに優しく教えてもらいましょう。
FLEXYの編集会議で、麻衣子お姉さんが「エンジニアって職種多くて、みんな違うことやってない?」とつぶやきました。その通りです。しかも、その職種も日々変化したり増えたりしています。堅苦しい職種のリストではなく、イメージしやすいように物語にて、とある架空の会社、に麻衣子お姉さんがオフィス訪問しながらエンジニアの職種をみていきましょう。
オフィスへ行ってみる
麻衣子:今回はとある会社へお邪魔して、いろいろなエンジニアの皆さんに会ってみようと思います!
人事:ようこそ! 弊社では、Webアプリ・iOSアプリ・Androidアプリを始めとし、いろいろなサービス展開をしているのでエンジニアの職種も多岐にわたります。詳細はエンジニアに何でも聞いてみてくださいね。
麻衣子:はい、よろしくお願いします!
VPoE & CTO
人事:こちらが弊社のエンジニアが働いているフロアです。
麻衣子:あちらの二人はどんな方たちでしょう?
人事:CTOとVPoEです
麻衣子:CTOとVPoEですか!こんにちは!
CTO・VPoE:こんにちは!!
麻衣子:CTOとVPoE、お二人ともエンジニアの組織をまとめる役職ですよね。それぞれ、どのような役割なのでしょうか?
CTO:まず、CTOは技術責任者として、組織の技術に関する責任を負う立場です。どんな技術を使って、今後どのうような方針で開発をしていくのか、という意思決定をしています。ちなみに、他社ではVPoP(Vice President of Product・プロダクト責任者)を配置しているところもありますが、弊社では、CTOがその役割も兼務しています。
VPoE:私は、VPoE(Vice President of Engineering・マネジメント責任者)として、エンジニアのマネジメント全般の責任を負う立場です。採用から社内制度整備、評価など、エンジニアが働く上で必要なことを取りまとめています。
麻衣子:エンジニアに関する意思決定、いろいろありますよね。最近はVPoEも一般的になりつつありますが、昔はCTOが一人で全部を兼ねていたような気がします。
CTO:そうですね。エンジニアがやらないといけない内容がどんどん増加していることもあり、CTO一人では捌ききれないのが現状です。これまでCTOがになってきた職域を、適切に分担し、それぞれにフォーカスする。良い流れになっていると思います。手が回らないから妥協したシステムにしてしまうと、最初から技術的負債を作ってしまうことになります。
VPoE:CTOやVPoEだけでなく、現場のエンジニアも領域が拡大していて、学ばないといけないこと・やらないといけないことはたくさんあります。みんな、それぞれが得意なこと・好きなことをみつけ、それぞれがその領域を極めていく。現場でも同じ職務領域の分担は起こっているように感じます。ただし、「私はこれだけ」という縦割りではなく、あくまでも得意領域がどこなのか、というだけの話。領域外にも学ばないといけないことはあるので、深く学ぶのと同時に、横に広く学んでいくマインドも大切です。

CTOとVPoE、VPoPの役割はそれぞれ異なる。CTOは技術に責任を持ち、VPoEは人のマネジメントに責任を持つ。VPoP(PO)は事業数値や実際の執行に責任を持つ
麻衣子:勉強になります。お二人の説明の内容からも、なんかそれぞれがどういう役割なのか伝わってきた気がします!
CTO:ちょうどこれから、CTO室の定例があるのですが覗いていきますか?そこに行けば、エンジニアリングマネージャーたちが集まっていますよ。
麻衣子:お供いたします!
エンジニアリングマネージャー
CTO:こちらがCTO室のメンバーです。彼らはエンジニアリングマネージャーとして、CTOやVPoEと一緒に開発組織の運営を行っています。
麻衣子:何かやろうと決定しても、CTOやVPoEだけだとリソース的にも動けないので、そのサポートをしている感じですか?
VPoE:はい、そのようなサポートも彼らの仕事の一つです。新しい制度をやりましょう、となっても、その制度設計・エンジニアへの説明・フィードバックを集めて改善、とやることは多いです。そんなときに、CTOやVPoEが個人で対応していたらすぐに手一杯になってしまう。それでは、せっかく実現できたら効果がある制度であっても、導入で手こずってもったいないことになります。そこで、チームとしてそのような業務を行うのがCTO室です。
麻衣子:元々は現場でバリバリコードを書いていたエンジニアたちですか?
エンジニアリングマネージャー:はい、私は現場で設計から開発、保守運用までテックリードとしてやっていました。
CTO:人にもよるとは思いますが、やはり、現場やサービス開発を熟知しているメンバーを集めるようにしています。CTO室では、現場がどのように何をしているかを把握した上で、様々な意思決定をしていきます。また、一つの現場・サービスの単位だけでなく、全社横断で考えることがほとんどなので、そのようなバックグラウンドは必須と言っても過言ではないと思っています。
麻衣子:CTO・VPoEと、エンジニアリングマネージャーが揃って初めて機能することも多そうですね。
VPoE:おっしゃる通りです。エンジニアの困ったという相談・意見もこのCTO室に集まってきます。過去だと自分たちに個別に相談されていたけど、チームでそれを対応できるようになり、効率もスピードも格段に上がりました。
人事:それでは、次は現場のエンジニアをご紹介しますね。
フロントエンドエンジニア & iOSエンジニア & Androidエンジニア
麻衣子:ここは何を担当している方たちのエリアですか?
人事:メインサービスのフロントエンドを担当するエンジニアやその周辺の人たちが集まっています。
フロントエンドエンジニア:私は、Web側のHTMLやCSS、JavaScriptのコーディングを担当しています。デザインはデザイナーに依頼し、そのデザインを実装していきます。そして、このコードを動かすためのサーバやAPIを実装するエンジニアも隣にいます。
麻衣子:「フロントエンド」エンジニア、ってどこまでが範囲なのですか?
フロントエンドエンジニア:実はフロントエンドエンジニア自身も同じことを考えることがあります。「フロントエンド」という言葉だと、WebもiOSアプリやAndroid、もしくはVUIの音声入力やVRまで含めてUI/UX全般をフロントエンドと呼べちゃうんじゃないかなと思います。ただ、ネイティブアプリのエンジニアはiOSエンジニアやAndroidエンジニアと個別に呼ばれます。
麻衣子:「バックエンド」エンジニアとの境目はどうでしょう?
フロントエンドエンジニア:バックエンドエンジニアはサーバサイドエンジニアと呼ばれることもあり、たまに自分たちもそっちのエンジニアでは?と思うことがあります。Webサーバの構築や、APIのためにサーバサイドをいじることも多いです。そのため、フロントなのかバックエンドなのか、境界は会社やそのプロジェクトの体制によって、柔軟に変化するのではないかなと思います。

フロントエンドエンジニアとバックエンドエンジニアは会社によって境界があいまい
麻衣子:デザイナーでもコーダーという言葉を聞いたことあるのですが、同じように境界が曖昧なものですか?
フロントエンドエンジニア:確かにそうですね。フロントエンドエンジニアがHTMLを書く場合もあるし、デザイナーが書く場合もあると思います。これも会社によって違いそうです。
麻衣子:なるほどー。
フロントエンドエンジニア:あ、ちょうど戻ってきたあのエンジニアたち、サーバサイドエンジニアとSREのメンバーですよ。
サーバサイドエンジニア & SRE
麻衣子:こんにちは!サーバサイドエンジニアはサーバをごりごりいじる感じですか?
サーバサイドエンジニア:間違ってはいないですね(笑) Webサイトやアプリなどの裏側で動くサーバを担当しています。プログラムを書いたりもしますが、データベース周りの設計やサーバの構成を考えたりして、より高速に処理をできるようにしたりします。
麻衣子:SREって聞いたことあります!インフラエンジニアみたいな仕事ですよね?
SRE:イメージは合っています。Site Reliability Engineerの略称で、Googleが提唱して実践しているSite Reliability Engineeringを実践するチームです。サイトやサービスの信頼性を支えるのがミッションで、従来のインフラエンジニアと似ている部分は多いです。最近だとオンプレからクラウドに移行する際に以下に安定的な構成にしていくかを考えています。
麻衣子:ネットワークエンジニアとかに似ていますか?
SRE:その領域も含まれます。ミッションがいかに安定的なサービスを提供できるか、なので、ネットワークも非常に重要な要素ですね。データベースエンジニアも、こちら寄りかもしれません。
麻衣子:データベースの構築をするのですか?
SRE:最近のクラウド化の流れもあるのですが、昔は手間隙かけていたデータベースの構築も、クラウドで提供されるようになりました。その構築よりもどのように駆使していくのかがポイントになってきており、まさしくSREのミッションの一つになりました。
麻衣子:幅広い知識が必要そうですね。
SRE:そうですね。私達のチームも、前身はインフラチームなので、オンプレの知識や経験は多いです。ただ、それだけでは今では足りず、クラウドの知識も必須です。
麻衣子:お隣のフロントエンドエンジニアとはだいぶ違うお仕事なのですね。
アーキテクト
麻衣子:あちらの方、ベテランの方ですか?
人事:アーキテクトの担当です。
麻衣子:アーキテクトってどんなお仕事ですか?
アーキテクト:簡単に言うと、システム全体の設計といったところでしょうか。
麻衣子:担当の範囲がすごく広そうです。
アーキテクト:見るべき範囲は確かに広いですね。
麻衣子:ということは、いろいろな知識や経験が必要そうですね。
アーキテクト:確かに、いろいろな領域の知識や経験は求められます。システム全体を設計するので、一部の領域の知識だけではうまくいきません。クラウドであったり、データベース、ネットワーク、セキュリティなどなど、広い知識は必要ですね。
麻衣子:何でも1人でやってしまおう、ということですか?
アーキテクト:それは違います。あくまでもアーキテクトは設計士なので、実際には各領域のプロと一緒に議論したりします。その後は設計図を元にそれぞれのプロが大工さんとなってシステムを作っていきます。
麻衣子:なるほど!お家を作るときの設計士さんも英語だとアーキテクトですよね!
アーキテクト:ほら、そこにいる彼なんかはセキュリティのプロです。セキュリティに関することはよく彼とも議論していますよ。
セキュリティエンジニア
セキュリティエンジニア:はい、アーキテクトと話すことは確かに多いですね。セキュリティに関しては、セキュリティの専属チームが動く部分もあるのですが、現場と一緒に取り組まないといけないことも多いのです。
麻衣子:セキュリティの担当って何をしているのですか?
セキュリティエンジニア:まず分かりやすいのが、サービスにサイバー攻撃をされたときの対応や調査ですね。ただし、実は何か起こってからではなく、新しいサービスの企画段階からコンサルのように参加し、セキュリティ的に問題ないか見たりします。その後の設計や実装、テストの段階でも同様にセキュリティ面で参加をします。そしてリリースされたら運用をしながら、攻撃などのインシデントが発生しないよう、日々セキュリティ目線でシステムを見ています。
麻衣子:守り神みたいですね!
セキュリティエンジニア:そうですね。いくらサービスが攻めのものであっても、我々はセキュリティ的に徹底的に守っていきます。社内ではCSIRT(Computer Security Incident Response Team)と呼ばれるセキュリティインシデントを専門で扱う全社横断のチームにも所属しています。特にセキュリティに関しては、攻撃者も日々新しい技術・手法を考え出してくるので、守る側の我々も日々情報のキャッチアップは欠かせません。
麻衣子:頼もしいです!サービスを運営するには裏でいろいろと支えているエンジニアがいるんですね。
スクラムマスター & プロダクトオーナー
麻衣子:あそこで、付箋をぺたぺた貼っている人たちは?
人事:スクラムを導入しているチームのスクラムマスターとプロダクトオーナーですね。
麻衣子:スクラム、知っています!以前取材したことあります!
スクラムマスター:そうだったんですね!今はタスクの進捗状況をプロダクトオーナーと確認しているところです。いかに効率よくチームが開発を進められるか、よくプロダクトオーナーと話をしています。
麻衣子:スクラムマスターとプロダクトオーナーってどんな違いがあるんですか?
プロダクトオーナー:プロダクトオーナーである私が、開発チームのパフォーマンスを最大に発揮させ、プロダクトの価値を最大化させるのが役割です。
スクラムマスター:それに対してスクラムマスターはスクラムの促進や支援がミッションと言えますね。プロダクトオーナーやスクラムマスターのどちらかではなく、二人が協力しあってスクラムの効果を高めています。

麻衣子:やはり、スクラムはチームって感じが強くて良いですね!
情シス(情報システム、社内SE)
人事:続いてこのエリアは情シス(情報システム)チームです。社内SEとも呼ばれますね。
麻衣子:会社のPCとかいつもお世話になっているチームですね。
情シス:感謝してもらえるのが一番うれしいです!
麻衣子:情シスの担当ってすごく広いように感じています。
情シス:確かに社内の情報システム全体なので範囲は広いですね。新しいツールを導入することになれば、その使い方や運用方法をマスターしないといけなかったりします。
麻衣子:新しいものはどんどん出てきますからね。
情シス:弊社だと、ロボットやIoTなどのハードウェア関連の業務もあるので管理すべき対象も多くなります。
麻衣子:幅広いですね。ソフトウェアだけでも社内にツール系もいろいろありますもんね。
情シス:そうですね。ソフトウェアも用途によっていろいろな会社のいろいろなサービスを使い分けますからね。Salesforceやkintoneはやれることも多い分、カスタマイズをがっつりとやって作り込むことも多いです。
麻衣子:そのおかげで、いろいろと業務がやりやすくなっている実感はあります!
情シス:そのような社員からの感謝が励みになっています!
IoTエンジニア・ロボットエンジニア
麻衣子:さっき、ロボットやIoTって言っていたのですが、その領域もあるのですか?
人事:ECサイトの運営と合わせて倉庫からの配送も自社で行っているので、倉庫でロボットやIoTは多用しています。ちょうどエンジニアたちがオフィスに来ているみたいです。
麻衣子:ロボットとかかっこいい!
ロボットエンジニア:ありがとうございます。でも、アトムやドラえもんみたいなイメージだとちょっと違いますよ。工場のいろいろな作業を自動化するもので、バーコードを高速で読み込んで商品の仕分けをしたりするときのハードウェアを設計したりプログラムしたりしています。その際、AIを使って人間の作業を自動化する試みもあります。そのときには、AIエンジニアに協力をしてもらって一緒に取り組んでいきます。
IoTエンジニア:IoTも倉庫や工場で当たり前のように使われるようになってきていますね。センサーを利用していろいろなものを見える化したりし、より効率的な作業を目指していきます。
まとめ
人事:いろいろなエンジニアとお会いしていただきましたが、いかがでしたか?
麻衣子:私の知っているエンジニアだけじゃなく、エンジニアと言ってもすごくたくさんの種類があることを知ることができました。きっと、これからももっといろいろな種類が出てくるんだろうなと思います!
週1日~/リモートの案件に興味はありませんか?
週1日~/リモートの関わり方で、「開発案件」や「企業のIT化や設計のアドバザリーなどの技術顧問案件」を受けてみませんか?副業をしたい、独立して個人で仕事を受けたエンジニア・デザイナー・PM・技術顧問の皆様のお仕事探し支援サービスがあります。