見出し画像

SESのエンジニアがクライアントとの面接で確認するべき質問 その1


この記事を作成した理由

私が初めてSESからエンジニアとしてアサインされた案件の面接で質問がうまくできず、案件の難易度を見誤り、メンタルを崩した経験があるため、少しでも多くのエンジニアがクライアントとの面接で適切な質問ができる参考になるのではないかと思い書かせていただきました
長くなってしまうので解説は複数回に分けさせていただきます
目次をつけておりますので、気になる項目だけ読んでください

質問事項となぜその質問をした方がいいと思ったのか軽くエピソードを交えながら解説させていただきます

質問事項のリスト

  • 支給PCのスペック(遠隔操作の場合は操作先のスペックも)

  • 担当するシステムの画面、モーダル、帳票の合計数

  • いつまでに何をどこまで終わらせるスケジュールなのか

  • メンバーの人数とその人の経験年数や経験した技術

  • メンバーの中に複数の案件を掛け持ちでしている人がいないか

  • 今後、いつ何人くらい採用するのか

  • 常駐先に技術について質問できるか

  • 開発方法の主導権はSES(勤務先)にあるのか

  • 自動テストコードはあるのか(改修せずとも使えるか)

  • GitHubなどのバージョン管理ツールを使えるか

  • 仕様書は最新になっているのか

  • 途中からリモート可の場合は願い出てから平均どのくらいで可能になるのか

  • メンバーの残業時間

  • 深夜や休日出勤はあるか

  • 開発環境はすでにあるのか(OSの種類や大体のバージョンも)

  • 案件に遅れが出た場合のリカバリ方法(増員 or 残業)

  • ChatGPTやCopilotは使用できるか

質問の解説

支給PCのスペック

システム開発なら高スペックを支給されると思っているかもしれませんが、クライアントがシステム開発に詳しくない場合も多く、事務作業で使用するようなスペックのPCを支給されることもあります
私が支給されたのは下記のようなスペックです

  • Windows 10

  • メモリ 8GB

  • CPU Core i7 (案件の5年前に発売)

Core i7であれば開発できそうにも感じますが、Windowsでの開発ではVirtual BoxやDokerを使用してLinux系のOSを仮想環境で立ち上げて開発するパターンが多いです
そのため、処理が重くなってしまいます
私の環境ではDockerのコンテナを立ち上げただけでCPUとメモリが90%使用されていました
3GBのデータベースの情報を流し込むだけで7時間もかかります

担当するシステムの画面、モーダル、帳票の合計数

規模を見るなら画面数だけでいいのでは?と思われるかもしれませんが、モーダルや帳票の開発の工数もバカになりません
JavaScriptなどブラウザで画面を切り替えるようなアプリだとモーダルで編集や詳細の確認など画面1枚と遜色ない機能を備えている場合も多いです
SPAなどはむしろモーダルの方が工数がかかったりします
個人的な意見ですが、帳票が一番めんどくさいです(担当したことありませんが)
データの内容次第では2枚にまたがってしまう、改行がおかしいなどの修正が大変です

いつまでに何をどこまで終わらせるスケジュールなのか

面接という短い時間の中ではAの期間では設計、Bの期間では実装、Cの期間ではテストというざっくりした説明しかされない場合があります
ただ、この認識がエンジニアとクライアントで齟齬が発生する場合があります
下記に例を挙げます

クライアントの認識
⚪︎実装
環境構築からテストも終えて客先に納品できる状態に
⚪︎テスト
エンドユーザーに実際に使っていただき、求めている機能が実装されているのかエラーがないのかを確認

エンジニアの認識
⚪︎実装
環境構築から実装を終える(細かいテストは行わない)
⚪︎テスト
自動テストの作成やテスト項目にそって動作確認などきちんと設計通りにできているか確認

このようにクライアントでは実装の期間で正常に動作をするシステムが構築されている認識ですが、エンジニアにはきちんと伝わっていないことがわかると思います

メンバーの人数とその人の経験年数や経験した技術

開発期間と同じくらい重要なのが、メンバーの人数とスキルです
未経験エンジニアが10人集まろうと、トップレベルエンジニアの2人が作るシステムのクオリティと開発速度には敵いません
また、専門外の技術になれば他の技術を何年やっていようと初めは基礎中の基礎も知らないのでキャッチアップの時間がかかってしまいます
極論を言えばWeb開発を行なっているエンジニアがOSを開発しろと言われても無理な話です

メンバーの中に複数の案件を掛け持ちしている人がいないか

例えば開発期間が半年、メンバーが5人と記載されていたとします
これを見ると6ヶ月✖️5人で30人月と認識する方も多いと思います
でもこの中にPMのように複数の案件でマネジメントを行う人、運用保守のみする人、他の案件を行いながらヘルプとして入っている人も含まれていたらどうでしょう
上記の人が1人ずつだったとしてもフルで活動する人が2人しかいません
12人月+αと考えると開発スピードは半分以下と捉えられます

今回はここまでとなります
参考になったと思ったら♡を押していただけると嬉しいです


この記事が気に入ったらサポートをしてみませんか?