【駆け出し〜ジュニアレベル】サーバーサイドエンジニアの面接対策

# ▼はじめに

## 想定読者

- サーバーサイドエンジニア
- 実務経験〜2年くらい

最後には自社サービスに多いビジネスサイド視点の対策も書いたので、別業態から自社サービスを展開する会社に転職する方にも参考になれば幸いである。

エンジニア転職の面接対策に関してググっても、上位はSEO対策の量産された記事ばかりであまり参考にならなかったが、Indeedが書いている記事なんかは他より多少踏み込んで書いてくれているので参考になるのではないかと思う。
（原文は英語っぽいので、やや直訳感の否めない文章にはなっているが。。。）

[ソフトウェアエンジニアの面接で聞かれる29の質問と回答例](https://jp.indeed.com/career-advice/interviewing/software-engineer-interview-questions)

[面接での質問「自分はどんな人間だと思いますか？」（回答例付）](https://jp.indeed.com/career-advice/interviewing/interview-question-how-would-you-describe-yourself)

## 自分のバックグラウンド

以下は書き手である私の個人的な話。

### 転職理由

- エンジニアになったのは新卒ではなく中途未経験から（現在は実務経験1年ちょっと経過で、アプリケーションのサーバーサイドのみ経験）。
- ただ、プロジェクトを取り巻く環境等も踏まえて、数年経過した際に経験年数に見合った経験（主に技術面）を積んできたと自信を持てるか不透明であったため、転職活動を行う。
- 本選考を受けたのは10社ないくらいで、最初に内定を頂いた会社で転職活動を終えた。

### 転職活動の軸

面接で実際に回答する内容はその企業に合わせて準備していたが、基本的には以下の2点を軸とした。

- エンジニアの在籍人数がそれなりにいて、ある程度エンジニア組織として成熟した環境であること。以下2点の理由から。
    - 大は小を兼ねる理論で、ジュニアレベルこそ程度規模のある程度大きいプロジェクトに属した方が、技術力は向上しそう。
    - 人数がそれなりにいる≒組織内のマネージャーレイヤーの人数も多くなるので、単純にロールモデルとなる方の数も多そう。
- 後述する「面接で聞かれて答えづらかった内容」に関して、次就職する会社のプロジェクトを通じて将来的に自信を持って答えられるように経験を詰めそうか。
    - 要するに「市場価値の上がる経験を、しばらくは会社を変えずに手堅く積めそうか」ということ。


# ▼本題の面接対策

## 転職理由

- 転職理由 / 退職理由

聞かれなかった会社はないのではないかというくらい頻出の質問。

企業側も求職者が現職に何かしらの不満をもっていることありきだとは理解してそうだが、他責思考だと思われないようにケアして回答する必要がある。

ジュニアレベルや第二新卒特有かもしれないが、「退職を考えたのはなぜ？」という聞き方をしてくる企業もあった。

## 提出した履歴書（経歴）に関して

- 今の会社に入社した理由

- 過去の企業に入社した理由 / 退社した理由

## 志望度や熱意を測る質問

- 志望理由
- 転職先に求めること
- 他社選考状況
- 将来のキャリア像
- 最終的に決め手となるポイント


### 志望理由

自社サービス企業の選考ではどこかのタイミングでは聞かれることが多い。

しかし、エンジニアの転職においては業界に一貫性を持たせて応募するのは難しい。

自分の場合、そもそも転職の軸を聞かれた時に「サービスに興味が持てること」という観点を盛り込んでおいて、「御社の場合は〜という点で興味を持ってます」ということを伝えるようにした。

一貫性を求められるのであれば上記だと回答になっていないが、要は「**御社の業界やサービスの特徴はちゃんと調べて応募してますよ**」ということが伝わればそこまで突っ込まれないのがほとんどだと思う。

### 転職先に求めること

ふわっとしたものを出すとつっこまれることが多く、具体的な指標や数値で答えられるようにした方が良い。

Ex.）規模の大きいシステムに携わりたい。
=> 規模というのは組織の人数感で測っているのか、ユーザー数なのか、トラフィック量なのか、など。

### 他社選考状況

聞かれない限りは具体的な企業名を挙げる必要はないと思われるが、バイネームで聞いてくる企業は存在したので、名前まで聞かれたときの準備はしておいた方が良い。

受けている企業を並べてみて、「共通して魅力に感じているポイント」と「個別の企業ごとに魅力に感じているポイント」を整理しておくと答えやすくなるはず。

### 最終的に決め手となるポイント

上記の他社選考状況の項で書いたように、企業ごとに自分が魅力に感じているポイントを整理しておき、
- 「今回の転職では〜という点を最重要視していますが、その点を考慮して御社に一番魅力を感じています」
- 「〜と...を重視していて、総合的に考えて御社に魅力を感じています」
などと答えるようにしていた。

### 将来のキャリア像

1年後、3年後、5年後くらいまで対応できるように準備しておくと良い。


## 人物

- 自分の強みと弱み

性格面の強みよりかは、「現時点でどの技術分野が得意か」という点で聞かれることが多かった。
性格に関しては適性検査等を設けている企業も多く、そちらで測っているからというのもあるかもしれない。

新卒の就活で頻出とされている「どのように会社に貢献できるか」という質問も自分はされなかったが、おそらく「ドキュメント整理が得意です」といった内容よりも、技術分野で1つ得意と言えるものを作っておく方が重要だと思われる。


## 実務経験（経験が浅くても答えられる内容）

- プロジェクト体制について

- コードを書く時に気を付けていること

:::note
自分は経験が浅いので「コードを書くときに気を付けていること」という質問に対しては、「変数名を略さずに誰でも分かるようにしている」、「可読性を保つために1つの変数に処理を詰め込まないようにする」などだけ答えていた。
他にも「拡張のしやすさ」や「テストのしやすさ」などがあるのかもしれないが、突っ込まれて聞かれたときに答えに窮したことが実際にあったので、以後は経験が足りなくて知識が半端な部分については触れないようにした。
:::

- 現在・過去のプロジェクトから得た学び

- 苦労したこと

:::note
技術面とコミュニケーション面の2つ観点からは用意しておいた方が、面接中のコンテクストに沿って出し分けられるので安心できる。
:::

## 実務経験（経験が浅いと答えづらいもの）


- DB設計の経験

- パフォーマンス改善の経験（特にDBに関して聞かれた。EXPLAINステートメントの使用経験など）

- クラウドサービスを触った経験

- 工数見積もりの経験

- コードレビューを受けたこと/したことはあるか

- テストコードを書いた経験

- テスト自動化の経験

- 障害対応の経験

:::note warn
ここに書いている項目については、エンジニアの経験が浅かったり、現職の組織構造上は積みづらい部分もあるかもしれない。

ただ、ここで答える経験が不足しているほど、答えに窮する場面が増えて苦しい戦いになる。

その場合は「自分だったらどうするか」というのを考えて用意しておくしかないと思う。

逆に自分は次回の転職活動では苦戦しないようにと、上記の経験は次回以降に参画するプロジェクトで解消しておきたいと考えるようになった。
:::

## if系

:::note
上記の実務経験を問う質問で「経験がない」と答えた場合に、追加でされる場合がある（ポテンシャルを見る意図があると思われる）。

もし抽象的な聞かれ方をした場合には受けている企業に合わせて「〜のようなプロジェクトの場合は...」と、こちらで制約を追加した方が答えやすい。
:::

- 言語・フレームワーク・技術選定の考え方

- クラウドサービスの選定基準

- DB設計で意識したいこと

- 障害が発生した場合にどのような対応をするか

## 自己学習

- 自己学習の方法

- 最近読んだ技術書

- 最近気になっている技術

- 技術面で直近目標としていること

:::note
「あれこれ興味を持って手は出してみるけど浅くなってしまう」という人は、これから自分が受けようとしている職種・職位に関連することに絞って整理しておくことをおすすめする。

エンジニア面接は実務経験を重視するため、その方が自分の現状や将来のキャリアプランと紐づけてストーリーが立てやすいと思われる。
:::


## その他技術質問

- Linuxの基本的なコマンドが使えるか

- オブジェクト指向プログラミングの基礎について理解しているか

## ビジネス・企業理解系

- 自社サービスに関する質問

- 最近気になったITニュース

:::note
参考までに個人的に意識した選定軸としては、
- 世の中のトレンドに関するもの or 単発のものであれば3ヶ月以内のもの
- 私見が述べられるもの or 深い考察をネットから収集して理解できるもの
- 自分が受ける業界から大きく外れないもの（例：対Web系企業の場合に、組み込みエンジニアの領域になりそうなIoT関連は避ける、など）

私が思いつく範囲でトピックになりそうなものとしては、
- テック企業の資金調達に関するトピック
- 企業や官公庁が最新のIT技術を導入したトピック
- 社会問題に対してテクノロジーで解決したトピック
- 法律の改正に係るトピック（ちょっと前になるが海外のGDPRやchatGPT禁止化など）
- システム障害やセキュリティに関する問題など世間に影響を与えたトラブルに関するトピック（今年だったら全銀ネットの障害など）
:::


- 気になるITサービス

:::note
自分が使って便利だと思ったサービスから選定するよりは、上記に書いたような世間的にホッとなサービスから選定する方が良いかもしれない。
:::

## 逆質問

- 求めている人物像

:::note

求人票にはふわっと書かれていることが多いと思うが、改めて聞いてみるのは良いと思う。（求人票を書いた人と面接を担当する現場の社員は違うこともあって、後者の率直な意見を聞けるため）

エージェント経由ならフィードバックを貰えることも多いが、自己応募でお見送りされた場合も、落ちた理由を答え合わせする材料になったりするので、だいたいどの企業でも必ず聞いて損はないはず。

複数プロダクトを持っている自社サービス、かつオープンポジションでの応募の場合はそれぞれで求める人物像が異なることもある。例えば「規模の大きいプロダクト・アーリーフェーズのプロダクト」に分けて聞いてみるのもアリかもしれない。
:::

- 入社後を想定した内容や間接的に勤労意欲を示すもの

福利厚生や年収については内定後聞けば良いので、それよりかは入社後のイメージを持つための質問をした方が良いかもしれない。例えば下記のようなもの。

    - 直近入社した社員で自分と同じ職種・ロールの人のこと
    - 入社後の配属と入社までに学んでおいた方が良いこと
    - 1日業務内容の例
    - 今後の事業の方向性
    - 開発手法について

## 情報収集法について

- 口コミサイト（Openworkや転職会議、ライトハウスなど）は、会社の実情を知れるので入社の意思決定を行う上では参考になるかもしれないが、志望動機などでは参考になりづらい。


- 面接のための情報収集という点ではカジュアル面談時の逆質問による情報収集、エージェント経由でのヒアリングが一番参考になると思う。


- ビジネス的側面で情報収集したい場合に、その会社が上場していたら決算資料や、その会社の株価を寸評している記事などから。そうでない場合もYahooニュースで社名入れて調べたり、その会社の自社メディアを探索したり、それもない場合は同業他社のものを参考にするのが良いと思う。

以上。