採用は人事部などのエンジニア経験のない人が担当することも多いです。採用活動に関わる以上、ITエンジニアの面接も上手く対応する必要がありますよね。
本記事では、エンジニアの教育・採用担当者あるいは人事以外の管理部門の担当者がITエンジニアと会話をする上で必要最低限と思われる知識を解説していきます。
ITエンジニアの種類・業務
採用担当者には、プログラミングやネットワークなどの専門知識は不要です。しかし、ITエンジニアとは何をする人なのかについて、正確に理解しておきたいところです。
ITエンジニアの種類はどれくらいある?
ITエンジニアといっても、さまざまな種類のエンジニアがいます。各エンジニアの業務についてどれくらい理解できていますか?簡単にチェックしてみましょう。
システムエンジニア | 提案から設計・開発・テストまでの一連の流れに携わる |
プロジェクトマネージャ | プロジェクト全体をマネジメントする |
プログラマー/コーダー | プログラミングを行い、機能を実装していく |
インフラエンジニア | サーバー構築やネットワーク管理、クライアント端末の設定などのITインフラを担当する |
ネットワークエンジニア | ITインフラの中でも、特にネットワークシステムの設計や構築、運用や保守を専門的に行う |
サーバエンジニア | サーバーの設計や構築、また運用や保守などを専門に担当する |
Webエンジニア | WebサイトやWebアプリケーションなどの設計や開発、運用や保守を担当する |
フロントエンドエンジニア | Webサイトの閲覧や操作などのユーザーが直接見たり、触れたりする部分(フロントエンド)を開発する |
マークアップエンジニア | 主にHTMLによるマークアップ(テキストデータにタグを埋め込んでWebページの文書構造を記述すること)を担当する |
データベースエンジニア | データベースを専門とするエンジニアとして、データベースの設計・開発や運用・保守を担当する |
制御・組み込みエンジニア | 家電製品や産業用機器などに組み込まれるソフトウェア(ファームウェア)の設計や開発を行う |
IoTエンジニア | IoT技術やIoT製品を利用したシステム開発を行う |
テストエンジニア | 完成した製品のテストを専門に行う |
セールスエンジニア | エンジニアとしての専門知識を有しつつ、営業をメインで行う |
フィールドエンジニア | システムの構築に伴い、顧客先にサーバやPC、プリンターなど機器の設置・設定・保守に伺う |
社内SE | 自社内の情報システム部門にて、社内のシステム及びITインフラの構築・管理を行う |
ブリッジSE | オフショア開発の際に、国内のチームとの橋渡し役を行う |
まず押さえるのは、アプリとインフラ
エンジニアの種類は様々ですが、むずかしく考える必要はありません。アプリかインフラか、まずはそこから理解しましょう!ITエンジニアは大きく分けて、アプリ系とインフラ系のエンジニアに分かれます。
・アプリ系
プログラマやシステムエンジニア(SEと省略されることが多い)、テスターといったシステムそのものを開発するエンジニアです。
・インフラ系
サーバのセットアップやネットワークの構築・運用などシステムを動かすための基盤を整備するエンジニアです。
エンジニア同士の会話で、こんな会話がよく出てきます。
「あなたはアプリ、インフラのどっち?」
「私はアプリです」
ITとは関係のない人からすれば、何の話かと思います。しかしITエンジニア同士ではこれで立派に会話が成立するのです。
ITエンジニアの役割
先ほどの「種類」とは、ITエンジニアの世界を横方向に見たものです。では今度は縦方向、つまり若手やリーダーなどの役割ごとに何がちがうのかを見てみましょう。
リーダーの役割
リーダーは自分自身が持っている仕事とは別に、管理業務も担当するのが一般的です。例えば以下のような仕事です。
①進捗管理
自分のチームの開発に進捗遅れが出ていないか管理します。
②品質管理
成果物の品質は下がっていないかを管理します。
新機能の追加の際などは、リリース前・後にチェックが必要です。
③メンバーの管理
スキル不足のメンバーがいれば仕事のフォローや育成をします。
若手の役割
若手は、リーダーの指示にしたがって仕事を進めます。若手の頃は自分の仕事をするだけですが、経験を積んでやがては上記のようなリーダーの仕事をするようになります。
ITエンジニアのキャリアパス
次第に経験が長くなり、ITエンジニアは選択を迫られます。
・マネージャになり、現場を管理する
・スペシャリストとして、どこまでも技術を追求し続ける
人によって進みたい方向が異なります。面接にて「マネージャの道とスペシャリスト(エンジニア)の道、どちらを選びますか?」と聞くのはとても大事なのです。
何を開発しているか?(フロント、サーバ、インフラ)
今度は、ITエンジニアを「つくるモノ」で分類してみましょう。
あるアプリケーションをつくるとなると、そこにはフロントエンド、サーバサイド、インフラの開発が必要です。各担当では、必要となる技術が異なります。よってプログラマはどちらを専門とするか分かれるのです。
フロントエンド
フロントエンドとはユーザーから見て前面、つまり画面まわりの開発を意味します。
サーバサイド
一方、サーバサイドは内部的な処理を指します。例えば、画面で入力された値を受け取って、データベースというデータの格納庫に収める処理、などです。
インフラ
ネットワークを構築し、サーバへアクセスできるようになっている、サーバをセットアップしてアプリを動かせる状態になっている、というのがインフラ開発の成果物です。
どのように開発しているか?(開発工程)
アプリやインフラを開発する工程、ここ最近のトレンドも少し触れておきましょう。
開発工程
システムを開発する「工程」というものがあります。工程というとむずかしく聞こえますが、開発はステップで進めていくと理解してください。
以下のような工程が一般的です。
・要件定義(何を作るか決める)
・設計(どう作るか決める)
・実装、開発(実際に手を動かす)
・テスト(設計どおりに動くか検証する)
どのように開発しているか?(開発手法)
上記の開発工程のステップで開発する方法を川や滝の流れにたとえて「ウォーターフォールモデル」といいます。一般的にウォーターフォールモデルは期間が長く(数ヶ月から数年というのもある)、戻ったり繰り返したりしません。
短いスパンで上記を繰り返し、とにかく目に見える成果物を早く作る「アジャイル開発」というモデルもあり、最近のWebアプリケーション開発ではトレンドになってきています。
インフラ
インフラは、自前でサーバやネットワークを構築するオンプレミスという形態が一般的でした。しかし近年ではAWS(Amazon Web Services)やMicrosoft Azureといった、実機が不要なクラウドでインフラを構築するのが一般的になりました。
従来ならば機械とLANケーブルを持って現場を走り回っていたのに、今や同じことがブラウザ上で簡単に出来るようになりました。よってインフラエンジニアは、従来のオンプレミスを基本として、クラウドならではの技術が必要になってきています。
開発言語
一昔前はJavaでWebシステムを開発、というのがプログラマの一般的な仕事でした。しかし近年はPHPやRubyといった軽量な開発言語が使われるようになってきました。さらにAIや機械学習の広まりを受けてPythonの案件もよく見るようになりました。
採用担当者はITエンジニアの職務経歴書を見たとき、持っている技術の幅の広さはどうか、今後さまざまな技術を手がけられる柔軟さを持っているか、という視点も持った方がよさそうです。
使用しているプログラミング言語ランキング
参考にプログラミング言語ランキングを掲載しておきます。毎年順位の入れ替わりがありますので、その理由も含めてチェックできるといいですね!
出所:プログラミング言語人気ランキング2020(日経クロステック)
まとめ
採用担当者が押さえておくべきITやエンジニアに関する基礎知識、理解できましたか?
エンジニアの採用はもとより、エンジニアの宇宙語会話が少しでも理解できるようなれば良いですね!
- カテゴリ: