新卒応募者向け プログラマー応募書類作成の注意点

INDEX

はじめに

こんにちは。モノリスソフト プログラマーの中込です。
新卒採用で入社し、現在4年目となりました。

今回は番外編として、学生向けの就活アドバイスを掲載したいと思います。
技術を紹介する内容ではありません。

たまにはこういった内容も、お目通しいただければと思い、執筆致しました。
それでは「新卒応募者向け プログラマー応募書類作成の注意点」を解説致します。

記載内容について

可能な限り、一般的な情報を書かせていただきます。
弊社の採用に関わる情報は掲載できませんし、多くの会社を受験せざるを得ない新卒応募者の事情も考慮して、広く応用できる基本的な内容とします。
ゲーム系の専門学生からしてみれば、よく耳にする常識的な内容かもしれません。

下記に記載するのは私の実体験に基づいた内容ですが、全てのゲーム会社・応募者に当てはまるとは思いません。
就活に絶対に正しい方法というのは無いので、ご自身の事情に応じて、あくまで判断材料の一つとしてご活用いただければ幸いです。

プログラミング作品について

プログラマー職に応募するのであれば、どの会社でも必ず提出を求めるのが、いわゆる「プログラミング作品」です。

tech_23_01.png
モノリスソフト新卒採用(2024年卒)プログラマー採用情報より抜粋

実行ファイルとソースコードの両方を送付するのが一般的です。
数分で遊べるゲームか、技術デモとなるプログラムを提出する人が、大多数だと思います。

このプログラミング作品の内容について、重要なポイントを三点紹介したいと思います。

作品のポイント1 C++で作る

家庭用ゲーム機向けのゲーム会社に送る作品はC++で作るのを推奨します。
なぜなら、実際の業務で使う言語が、大抵の場合C++だからです。

入社後にC++を一から教えることは、多くの会社で想定されていないと思います。
就活時点でC++の使用が確認できれば、応募者のC++習得に関しては選考担当者も安心できるはずです。

そうは言いつつ、実は私は、作品をCで作り提出しました。
私は専門学校の二年制学科の卒業生なのですが、カリキュラムの都合上、一年生のうちにC++を履修できておらず、致し方なくCで実装しました。
利用しているDirectX9のAPIはC++なのに、自分の書いた部分は全部Cというソースコードになりました。(私の在籍した学科では一般的でした)

tech_23_02.png

Cで作った作品でなぜ書類が通ったのか自分なりに考えますと、理由は大きく二つかと思います。

  • CがC++と同等に、低レベルな実装ができる言語である(C++も習得可能だと見なせる)
  • 構造体を駆使してオブジェクト指向設計に仕立て、ビヘイビアツリーなど技術的なチャレンジも多く含めた

作品を完成させた後の就活中、必死にC++を勉強したことはいうまでもありません。

作品のポイント2 リファクタリングしてコメントを付ける

一般的に悪いと言われるコードを書いていないか、提出前に確認はしましょう。

マジックナンバー、深すぎるネスト、長すぎる関数、インデントの崩れ、あからさまなスペルミス、あたりはチェックされる可能性があります。問題のあるコードを修正するのも作品作りの一環と捉えて、リファクタリングにも手を抜かないことをお勧めします。

コメントですが、適切な分量で付けるのが良いです。どの程度が適切なのかは、たくさんコードを読み書きして、さじ加減を掴むしかありません。
その上で、コメントを付けるか付けないか迷う箇所は、付けておくのをお勧めします。なぜかというと、選考担当者は応募書類を早く処理する必要があり、コメントで大雑把に内容が分かった方が、ソースコードを読むよりは早く確認できるからです。

応募書類として読まれる前提のコードなので、その趣旨に即した形に体裁を整えておくことは、評価する側の心象にいくらか良い影響があるかもしれません。

作品のポイント3 アピールポイントを明確にする

作品のアピールポイントを、明確に用意することをお勧めします。

なぜかというと、選考担当者にソースコードの全てを読む時間はありません。選考担当者は多くの場合、所属しているプロジェクトの仕事も抱えながら、忙しい中で膨大な量の応募書類を確認します。実行ファイルやソースコードを、隅から隅まで把握するのは、物理的に難しいのです。

以上を踏まえると、短い確認時間の中で自らの技術力を証明する必要があり、そのために明確に「ここを見てほしい」とアピールするのが良いと思うわけです。

では何がアピールポイントになるのでしょうか?

理想を言えば、プログラマーがピンとくる技術を自力で実装すると、技術や意欲が伝わりやすいと思います。ゲームAI、アニメーション、シェーダー等で、技術名として存在するものを探して、実装してみると良いかもしれません。このブログのタグ一覧も、考える上で参考になります。

tech_23_03.png

アピールする技術が見つからなかったり、実装が難しい場合は、学校で習った内容に+αで工夫を加えて提出するのでも良いと思います。私が在籍したような二年生学科の場合、就活開始まで一年間しか猶予がありません。時間不足は如何ともしがたいです。勉強期間も考慮に入れてくれると信じて、現時点でのベストを尽くしましょう。

提出について

アピールポイントを用意したとして、それをどう伝えるかという問題があります。
考えないといけないことは、プログラミング作品が届いた後、それを確認する選考担当者側の手順です。

いきなりソースコードを読みに行くでしょうか?

それは無いと思います。ソースのどの箇所を読めばいいか分かりません。
以下のような行動が、手順の最初にくるのではないでしょうか。

  • どんな作品なのか説明するドキュメントを探す
  • 提出物の中に「作品紹介動画.mp4」のような動画がないか探す

提出のポイント1 ソースコードにアクセスし易くする

アピール箇所のソースコードを、main.cppから辿って見つけるのは時間が掛かります。
大抵はファイル名で分かったり、grepですぐ引き当てられますが、ドキュメントに「この箇所読んでください」と書いてあれば選考担当者は助かると思います。

私は、Wordで作った作品紹介ドキュメントに、直接見て欲しいソースファイル名を明記していました。

tech_23_04.png

提出のポイント2 動画を用意する

皆さんの作る作品は、起動後すぐにアピールポイントが伝わる流れになっているでしょうか?

  • アピールポイントが視覚的でないのでゲームプレイでは分かりづらい
  • チュートリアルが無いので操作が分からない
  • ボスのAI挙動と弾幕の軌道がアピールポイントなのに、ボス戦までが長すぎる

実は作品を実行するだけだと、上記のような不備があり得ます。
だからこそ、動画を作るのをお勧めします。アピールポイントを上手に映像化できれば、選考担当者にアピールポイントがより伝わりやすくなると思います。

提出のポイント3 ポートフォリオを作る

プログラマーのポートフォリオがどんなものか、見たことがある人は少ないと思います。
基本的には、就職作品や学校の課題で作ったものを載せます。

tech_23_06.png
tech_23_07.png

こういったものを作るのは、相当な時間が掛かります。ただでさえ時間が無い中で、このような準備をするのは大変な手間でした。

応募企業にもよりますが、ポートフォリオや先述した動画は、提出の必須要件ではないと思います。
こういった任意の提出物が無くとも、プログラミング作品など必須提出物だけで選考を通過することは、十分に可能だと思います。
ただ私は、以下のようにも思います。

私は新卒入社と言いつつ、専門学校以前に一般企業で職歴があり、新卒就活も二度行いました。
世のほとんどの就活は、皆が同じルールで筆記試験を行い、面接を行い、その数日の結果のみで判断されます。ゲーム業界のような特殊な業界だけが、作品提出という実はいくらでも準備ができるものに、大きな重きが置かれているのです。

ゲーム会社に入社後の業務内容は、期日に間に合わせて、成果物を用意して提出することです。就職活動はその予行練習と言えます。面接や履歴書では何とでもアピールできてしまうからこそ、目に見える形で成果物を提出できれば、それが信用となり、仕事能力の証明にもなります。

何にせよ入念に準備を行い、皆さんの能力が正しく判断されるよう整えて、書類通過を目指しましょう。

まとめ

こうして文章に書き出してみると、応募書類の作成一つとっても、意外と現在の仕事に活きていると感じました。

実際の業務では、他人に使ってもらう関数を用意するときや、他職種向けに資料を書くときなど、それを利用する側の状況やレベルを意識して、コードや文章を調整します。他者の視点に立ち、分かり易い意味の関数名を付けたり、技術的に細かくなりすぎない資料を書いたりするわけです。

私が今回書いた内容は、一言でまとめるなら、利用者側(選考担当者)の視点を意識しようということです。
これが中々難しいのですが、就職活動の中で身に付けば、就職後も色々な場面で役立つ能力となるはずです。

私もまだ至らぬ点が多く、伝わりづらいコードや文章を書きがちではあります。
今後も引き続き、精進していければと思っています。

執筆者:中込

プログラマーとしてモノリスソフトへ新卒入社。 以来、アプリケーション開発業務を担当。 好きな食べ物は山吹色のお菓子。

ABOUT

モノリスソフト開発スタッフが日々取り組んでいる技術研究やノウハウをご紹介

RECRUIT採用情報