就職して1年経ったので,学生時代を振り返ってこれまで就活や就職後の業務で役立った経験・資格を紹介します.(IT企業,機械学習エンジニア職)
5位 キムワイプ卓球
何も話すことがない1自己紹介でのツカミに役立ちすぎている.
4位 AtCoder
(弊社の業務では)アルゴリズムそのものを作り直すことってめったにないので実務に直接役に立つことはあんまり無く,そこそこ止まり.一通り計算量の概念を知っていることで「そこは高速化しても全体には殆ど効かないので可読性優先でいいです」みたいな判断をするのには役立つ.
エンジニア職ではない人にもとりあえず chokudaiさんのレート説明 を紹介しておけばなんかすごそうと思ってもらえるので,面接でのウケは水色でも十分良かった.
3位 データサイエンティスト養成講座
CS系の座学の単位をそれ用に登録したり,実データを弄ってみましょうという演習を取ったり,博論の研究をデータサイエンスを実践しましたという建付けで報告書を書いたりすると認定してもらえるやつ.
放っておいても取っていたであろうので特別何かをした感じはないのだが,とにかく箔が付くので良い.東京大学大学院情報理工学系研究科の名前で結構ちゃんとした修了証を発行してくれるので,CS系学部出身ではない身で「データサイエンティスト」を名乗ることへの罪悪感が薄れる.
2位 博士号
博士研究と仕事の業務とでは共通点は「数理最適化でなんかうまいことやる」くらいで,全然関係ないとは言わないまでも結構関係ないという感じ.
直接知識が役立つというよりは(社内ではかなりレアな分)博士号持ちということへの信頼感でかなりの裁量を与えてもらえるということが大きい.なんかここの仕様が気持ち悪いのでこう変えたいです,が割とそのまま承認してもらえる.
あと初任給に修士と博士でそれぞれ加算がついてるので学部卒勢と比べるとだいぶ給料が高い.博士時代の切り詰め生活に比してかなり余裕ができ,メンタルが楽.
1位 ゲーム制作
一番役立ったのはサークルでやっていたゲーム制作の経験だった(正直ゲームの最終的な完成品にはほとんどコミットできていないのだが).
思えば,複数人でのプロジェクト進行・チケット管理・Gitでのバージョン管理・C#(のような重めの2言語)での開発・キャッシュ化などのアルゴリズム以外での高速化テク・非同期処理・コードの可読性への意識 etc……と業務で実際に使う能力をほとんどやったと言っても過言ではない.
「非情報系の学生はどこでGit/GitHubを学ぶのか」というツイートを見かけたが,私はここです.こういうことを学ぶ機会ってこれ以降就職するまで全然なかったし,自習するのがしんどいタイプの話なので,得難い経験である.
なんなら博士課程もこれがなかったらコーディングパートをゴリ押ししていた分が無くなって詰んでいたので人生のMVPまである.2年生からでも無理やり入部した甲斐があった.
結論:大学ではゲームを作ろう
というか下手に内面を開示したくない ↩︎
軽量プログラミング言語(Lightweight Language)ではないという意味で ↩︎