接着剤の精進日記

競プロでの精進や研究に関係したことを書いていきます。

AtCoder水色の接着剤による就活ポエム

はじめに

接着剤ことボンド(@bond_cmprog)が就職活動を終えたので意外と需要があるっぽい就活ポエムを書きます
簡単にまとめると、競プロ(AtCoder)だけで就活したというよりは、競プロ(AtCoder) + CodinGame + マラソンコンテスト + 研究の掛け算で殴ったような感じです
後述しますが、研究とCodinGameが特にぼくが受けたところでは評価されたと思っています
全人類CodinGameやって就活しような!
お世辞にも参考になるようなムーブをしているわけではないので(むしろ反面教師?)
あくまでポエムとしてお楽しみください
参考にした結果不利益を被っても責任は負いません()
参考までに現時点でのAtCoderのレート遷移を載せておきます
f:id:tkm-kyudo:20200416070920p:plain

目次

自己紹介

以前、入水記事(AtCoderで水色になるまでにやったこと - 接着剤の精進日記)でも自己紹介しましたが、はじめましての方もいらっしゃると思いますので、就活で使った資格なんかも交えて改めて書きます

学部時代

学部時代は文系で商学部でした
とはいっても名ばかりで商学系の科目はあまり取らず、情報系の授業が取れるのでそれらをメインで履修していました(簿記は結構好きでした)
学部3年の始めくらいまでは部活(弓道)ばかりやっていて、AtCoderはもちろんプログラミングする機会はまったくありませんでした(高校時代に少し触っていた程度)
その甲斐もあってか弓道は三段を取得することができて、面接の時の話のネタになりました
弊学部は2年後期にゼミ配属(研究室配属ではない)されるんですが、そこの先生がたまたま自然言語処理の研究をされている方で、興味がある人向けに自然言語処理を教えてくれて、それで興味を持ってまたプログラミングをやり始めました
その延長線上で、pythonを使ったクロール、スクレイピング機械学習などをやり始め、学部3年の冬に言語処理学会という自然言語処理の学会があるのですが、そこで研究を発表しました(なんで?)
こんな感じで研究に興味を持ったので院進する決意をしました(のと人生について考える時間がちょっと欲しかった)
理系の院に進むことになるのですが、学部時代にまったくやったことのない科目ばかりでしたので、学部3年の3月くらいから院試の勉強をしてました
が、途中で飽きてしまったので6月くらいにAtCoderを本格的にはじめました(はい?)
競プロ初めて水色になるあたりまでは、興味があれば入水記事(AtCoderで水色になるまでにやったこと - 接着剤の精進日記)を参照していただければと思います
なんやかんや無事院試が受かったので、今に至ります
ちなみに、学部時代のインターンや開発アルバイトの経験などは皆無です
ところで、学部時代1年間くらい彼女がいました、別れました
彼女と別れる ⇒ 競プロを始める は真ですね(?)
今は競プロに片思い中です
AtCoderは最近デレて来てるんですが、こどふぉがツンツンです、困りました

院に入ってから

入って1, 2ヶ月はちゃんと(?)研究をしていたんですけど、入水してから競プロ沼に完全に堕ちてしまいました
とはいっても、一応研究発表はしていて、修士1年の間では業績としてかける成果は3つほどありました
M1の夏頃にインターン受けないとやばいかなーと思って色々調べました
が、興味の持てるところがあまりなくて結局AtCoderJobsにも載っているところを1社受けました、落ちました(悲しい)
フィードバックを貰っていないので落ちた原因はわかりませんが、当時のスキルセットで落ちたというよりはやりたいことがあまり明確ではなかった(面接でも聞かれたけどふわっとしか答えられなかった)のが原因かなーと思っています
暖色でつよつよの人ならポテンシャルだけで取ってもらえる可能性は上がりそうですが、水色前後とかの人ならやりたいことを明確にするのがいいんじゃないかなーって思います(水色でやりたいことが明確で、その会社とマッチしてる人材って強いと思う)
そんな感じで、インターン経験0で就活に望みました
アルバイトはしてたといえばしてたんですけど、指導教員のタスクをやるような感じで、内容としては学部時代からやっていたスクレイピングでデータ収集・整形などがメインでした
長くなってしまったのでこの辺りで区切って就活編に進みます

就活編

前置きが長くなってしまいましたが、ポエムなので大目に見てください
就活編は資格なんかのスキルセット、就活前にやったところ、実際に受けたところの3つに区切って書いていこうかなと思います

資格(スキルセット)

履歴書とかに書いた資格などを書きます

だいたいこんな感じです
ぼくの持つ他の競プロerのイメージと比較すると、研究やCodinGameの成績が強みになるかなという感じです
面接のときには弓道やスキーの資格が意外と食いつき良かったです
TOEICは一般と比べると良いほうだけど、まあ可もなく不可もなくで面接でも特に言及はされてないですね

CodinGameって?

何回かCodinGameについて言及しているので、この辺で説明しておこうかなと思います
簡単に言えばゲームのプラットフォームが用意されているので、ゲームAIを作って強い人が勝ちです

f:id:tkm-kyudo:20200416042601p:plain
TRON BATTLE
f:id:tkm-kyudo:20200416042754p:plain
HYPER SONIC

こんな感じでUIがかなりクオリティが高いので眺めてるだけでも結構楽しかったりします
もし興味が湧いた人は次の記事が参考になると思うのでぜひやりましょう
qiita.com iwashi31.hatenablog.com

ランクが上から順位にLEGEND、GOLD、SILVER、BRONZE、WOODというふうになっているんですが、TRON BATTLEが初心者におすすめでSILVERくらいならすぐ競プロerならなれると思います(競プロ知識も使える)
CodinGameの宣伝したいためだけにポエム書き始めたみたいなところもあるんですけど、後述しますがCodinGameの成果で就活出来たみたいなところもあるのでみんなもやろう!
ラソン系コンテストに参加したことがあって、楽しいと思える人は多分ハマると思います(副次効果として競プロの実装がかなり楽になります)
今、丁度コンテストがあるんですけどもう終わってしまうので、5月8日に新しいコンテストがあるのでぜひ出ましょう
人生に悩んでいたら今やっているコンテスト全然やれてないので残り日数でもうちょっとがんばります…
www.codingame.com

就活前にやったこと

最初に書いておくと、ほとんど何もやっていません(おいおい)
一応ちゃんと書くと2月にキーエンスコンの新卒向けイベントが棚ぼたで降ってきて、交通費が出るので日帰り大阪旅行をしました
他には競プロerに馴染み深いフューチャーの競プロer向け説明会があったのでそれにも参加して色んな人とお話してきました
この時、他の人ともお話する機会があって、そこでCodinGameを教えてもらってやり始めました
その後3月の中頃までCodinGameにハマって就活をほぼ何もせずそればっかりやっていました(ええ…)
AtCoderCodeforcesとyukicoderは基本全部出て、有志コンがあったらそれも出て、3月にtopcoderのMMがあったのでそれも出ました(?)
全く関係ないんですけどこの表現がとても好きです
f:id:tkm-kyudo:20200416065143p:plain 一応2月29日にAtCoderJobsをポチりました、ギリギリまで何もしていないですね、真似しちゃだめですよ
就活期間に入っちゃうんですけど、AtCoderでの就活イベントがあったのでそれに申し込みました
ただ、コロナの影響でなくなってしまいました
その後、メールで企業の方から何件か面談のお誘いがあったので企業の方とお話しました
ぼくは結局有効活用しなかったんですけど、いろんな企業さんとお話できるし、競プロに理解のある企業が多いと思うので来年もあるかわかりませんが、あったら参加するのがいいかなって思います
atcoder.jp

受けた企業

ここからは実際に受けた企業と、面接で聞かれたことなんかを書いていきます
とは言っても最終までちゃんと受けたのが1社だけなので参考にならないですごめんなさい…
受けたところ全般の感想としては、よくある一般的な面接のイメージとは違って、自分のスキルセットに対して、特に自分の場合研究について聞かれることが多かったです
他には、自分のやりたいことや技術に対する考え方などについて聞かれるので、しっかり対話しながら伝えられたら大丈夫かなという印象でした
どの面接も、マッチング度合いを見ている感じで、能力的というよりはこの会社にあっているかどうかを見られていた気がします(し、そういう意図だよてきなことを言っていました)
ところで、面接で志望動機を言った記憶がありません(ほんとに聞かれなかった)
イニシャルは実際の企業名と関係ないです、内容もどこまで書いて良いのかわからなかったのでかなーり本質部分を削っています
Jobsとかにも掲載されている競プロと関係の有りそうなところだけ抜粋します

  • A社
    この企業は一次面接だけ受けました
    内定を貰った企業の選考をしている間、うだうだして面接の予約をせずにいたら内定が出たので、申し訳ありませんが辞退しました
    内容的にはかなり好感をもっていて、競プロerが働きやすそうな環境だなと勝手に思っています
    コーディングテストがあったんですけど、個人的にかなり好きな問題でした
    一次面接の流れとしては、最初にお互いの自己紹介をしてその後研究についての質問がメインでそれに答えるという感じでした
    その後、自分から逆質問をいくつかして競プロの認知度合いや、この企業で働いてよかったことを聞きました(最初の自己紹介で10年くらいここに勤めているという情報があったので)
    競プロはかなり認知されているみたいで、働いてよかったことはこの企業の気質があっていて、働きやすいみたいなことを言っていたと思います
    最後に、どういうことに興味があるのか、アカデミア系は考えている?みたいなことを聞かれて、マラソン系のような最適化に興味があって働きたいので考えてませんみたいなことを言いました
    最後に是非2次面接受けてねと宣伝されました(まだ一次面接終わってないのですが)
    ここの一次面接だったか少し記憶が怪しいんですけど、どういうエンジニアになりたいのかみたいなことを聞かれました
    基礎研究みたいなことをやりたいのか、がっつり開発やりたいのか、お客さんとお話してお客さんの問題を見つけてそれに取り組むのか、みたいな感じだったと思います
    自分は結構お話するのは好き(得意とは言っていない)なので、お客さんのところでお話するのも良いなと思い、この辺りからそういった方向性みたいなのが定まったような気がします
    もちろん、つよつよになりてえという思いは大前提として

  • B社
    AtCoderでの就活イベントがなくなってからメールで連絡を受けた企業さんです
    ここの企業名を面談するまでしらなかったんですけど、結構TLでも見るようなサービスを提供している会社で、働きやすそうな環境だなあと思いました
    面談の際にお話した感想としては、技術者を大切にしているイメージが強かったですね
    技術が好きで放っておいてもやってくれる人を雇って、そういった人たちが働いてくれるような環境を用意するみたいなことをいってました
    面談のときに競プロerいますか!?と聞いたら競プロ部があるみたいな話をしていたと思います
    今年の新卒入社にマラソン系やっている人いるよと言われておっ!?ってなりました
    お話した感じ結構好感度が高かったんですけど、コーディングテストの問題文がclar投げたくなってしまったので結局応募せず見送り…(ごめんなさい)

  • C社
    内定を頂いたところです
    紹介されるまでまったく知らなかったんですけど、聞いてみるとすごい人がたくさんいたり、提供サービスや名前を知っているエンジニアが結構いてびっくりしました
    書類選考通ってから聞いたんですけど、書類の段階で結構落とされるみたいです(怖い)
    CodinGameの成績と研究の成果が評価されたのかなという印象です
    面接は3回あって、一次では会社のざっくりした説明と研究ややりたいこと、どんなことをしたいかなどを聞かれました
    逆質問は、今やっている事業についてHPでわからなかったことや今後どういう領域に手を出したいかなどを聞いていた気がします
    二次では、エンジニアの方が2人いて、詳しい会社の説明をメインで受けて、その方々からも研究についての質問が多かったです
    事前にどういうことやっているエンジニアと話したい?みたいなことを言われていてその希望を伝えていたので、話してみたいことをそれぞれ考えていました
    そのそれぞれに対してタスクの大変なこととか、自分もやったことがあるので難しいと感じたところや、どういったところから着手しているのかを聞きました(面接というよりは純粋に技術に対する質問ですね)あとは、アカデミアからエンジニアになった方だったので、アカデミアと実務とのギャップを聞きました
    最終が今までで一番面接っぽかったです
    とはいっても奇をてらったような質問ではなく、相手の人柄を知るような意図の質問で、相手のいいところを知りたい、引き出してあげたいみたいなことを言っていました(いい面接官だ…)
    基本的には、研究についてがやっぱりメインで、学部時代どういうことやっていたの、とか弓道について雑談したりとか、自己PRしたりとかをしました
    あとは、ぼくの経歴が少し特殊(?)なのでどういう経緯で文系から理系の院に進んだのみたいなお話をしました
    逆質問では、経営理念についての質問を1個しました、内容としてはこういう経営理念だけど現場の人はどれくらい興味を持っているのか、みたいなことを聞きました(どうでもいいですが、良い質問だねと言われてちょっとうれしかったです)
    最終を受けて3営業日後くらいに内定通知が来て、自分のやりたいことと環境が自分に一番合ってると思ったのでここに決めました
    つよつよの人がたくさんいるのでつよくなりたいね

  • D社
    こちらも競プロerが働きやすそうな環境だと思います
    説明会がWebで聞けたので、参加しました
    やっている内容としては、自分が興味の持っている今までの企業と少し離れているかなって感じがあって、興味ないわけではないけどもっとやりたいことがあったので応募は見送りました
    もう少しお話しても良かったかなと思っていますが、Web形式の説明会だと難しかったですね…

意識していたこと

面接が決まってから、2冊くらい面接対策本みたいなのを買ったんですけど1冊は半分くらい読んでもう1冊は読んでて「うっ」ってなったので読むのをやめました
なので、面接で話す内容としては、自分がどういう人間で、自分の興味のある分野はこれで、今こういうことやっているということだけちゃんと意識して話してました
まとめると、自分は、マラソン系の最適化問題・探索に興味があって、マラソン系コンテストやCodinGameに取り組んでいて、実際にこれくらいの成績を取りました、という感じです
研究に関しては、ずっとやってきていたのでその都度その都度、相手に合わせて理解してもらえるように自分の言葉で説明していました(結果的に、その辺りも評価されたみたいです)
後は、ポリシーというか自分の譲れないところとして、いわゆる面接の嘘つき大会みたいなのが嫌だったので、特に取り繕うことはせず、ありのままを見せつける感じで受けていました(もちろん、礼儀は尽くしますが、敬語が怪しかったりと結構ア)
結果的には、面接官の方と形式張らずにお話ができたかなという感じです、面接前は死ぬほど緊張するんですが、面接始まってからは結構自然体で、相手側から振られて雑談とかもしていました

感想

就活をした感想としては、面接がイメージしていた面接って感じじゃなかったですね
就活を始める前はいわゆる面接が死ぬほど嫌で就活したくねーって感じでしたが、受けてみたら相手とお話する感じでかなり楽しかったです
競プロに理解があったり、技術の知見がある人ばかりだったのでそれも良かったですね
就活する上では、やっぱり自分のやりたいこととかを言語化するのが良いのかなって思いました
企業によりますが、AtCoder緑とかなら能力的に落とされることは少なさそうで、その人のやりたいこと、性格、人柄がその会社にマッチしているかをかなり見られると思いました
なので、自分のやりたいことを軸にして気になる会社をピックアップして実際に面接でお話してみるのが一番いいかなと自分は思いました
実際に、面接でお話していく中で、自分のやりたいことがより固まったみたいなところもあったので、一次面接とかは気兼ねなく受けても良いんじゃないかなーって思ってます
落ちたらその会社と合わなかっただけなので、自分に合うところ探しましょう(落ちたらやっぱりショックだけどね…)
後、企業研究自体はあまりしていなかったんですけど、受ける企業さんはかなり調べてました
具体的には、HPの内容は全部目を通す、技術ブログがあれば、それらもざっとで良いので目を通す、後は内定貰ったところしかやってませんが決算報告書とかも読んだりして結構楽しかったです
後は、企業名でググったり事前に面接官の名前がわかっていたらググって、記事や講演の記録が残っていたらそれらにも一応目を通しておきました
役に立ったかは正直わからないんですけど、受ける企業くらいは調べておいたほうが逆質問しやすいと思いますし、理解も深まっていいかなって感じでした
逆質問はこんな感じで事前に調べておいて、気になったことや聞きたいことを多いと10個くらいストックしておいて、お話していく中で発射する弾を選ぶ感じでした(1回の面接で多くても3個くらいしか逆質問してないですが、1個以上は必ず聞いてました)

おわりに

長々とポエムにお付き合いしていただいてありがとうございます
ポエムとして楽しんでいただけたなら幸いで、就活の参考になればこの上ないです(が、多分役に立たない…)
かなり内容ぼかしているのでもし興味ある人がいたら、DMとかで聞いてくれれば答えられる範囲でお答えします
就活以外でも聞きたいことがあったらぜひご連絡ください
人生が一区切りしたので競プロとMMとCodinGameをガンガンやっていくぞ!
今年中に青なりたいね
後は就活イベントで色んな人とお話する機会が多くて、それが楽しかったので競プロerとエンカしたいなあというお気持ちが強い(今は中々難しいけど…)