会員登録すると
このコラムを保存して、いつでも見返せます
IT企業のソフトウェアエンジニア職を目指す方の中には「どういった対策をしたら内定できるの?」「プログラミングは大学から始めたけど大丈夫?」などといった疑問があると思います。
そこでマネーフォワードのソフトウェアエンジニア系の職種にインターン経由で内定した方に、これまでのプログラミング経験、選考内容、対策方法について寄稿いただきました!
自己紹介とこれまでのプログラミング経験
マネーフォワードからソフトウェアエンジニア職で内定をいただいた、北海道の国立大学院生です。学部と修士過程では情報系で学んでいました。ソフトウェアエンジニア就活をした自分の経験を活かせるならと思い、体験記を書こうと思いました。
プログラミングについて興味を持ったきっかけは、大学の授業が主な理由かなと振り返ってみて思います。
1年生の頃は、情報の授業でC言語について学びました。ポインタなどは苦手でしたが、アルゴリズムを考えるのがパズルみたいで面白いなと思っていました。
2年生で学科の配属が決まり、授業の2割くらいがプログラミングで、残りは数学や情報理論の授業をとっていました。Javaを習ったり、C言語で簡単なゲームを作ったりしていました。
3年生の春までは2年生の延長のようにすごしていましたが、秋から研究室に所属しました。地図APIを利用したWebサイトを作ったり、課題を通して画像認識などの機械学習についても学んだりしました。また、AtCoderを始めたのも3年生の秋です。パズル的な面白さにハマってから友達と一緒にやっていて、今は水色です。
4年生になってからは、研究室での活動を中心に過ごしていました。
大学院に入ってからは、高度なアルゴリズムを題材としたプログラミングの授業を受けたり、機械学習(特にゲームAI)についての研究をしたりしていました。
また、インターン参加後から本選考までの間に、Ruby on Railsを用いたwebアプリの個人開発を始めました。
学部1年:情報の授業でC言語について学ぶ。HTMLでWebサイトを作りはじめる。
学部2年:授業は2割程度がプログラミング関連、残りは数学や情報理論の授業を取る。
学部3年:秋までは2年の時と似たような時間割だった。秋から研究室に所属し、課題を通して画像認識などの機械学習関連の勉強をした。AtCoderを始めたのもこの時期。
学部4年:3年の頃からの研究を続けていた。
大学院1年:ゲームAIなどの機械学習の勉強や、Ruby on Railsを用いた個人開発を始める
3年の秋から始めたAtCoderは、2週間に1回くらい参加しています。茶色は4回ほど、緑は8回ほどで到達しました。青まで行くのが遠く感じながらも現在も友達と一緒に続けています。
就活は、大学院1年の6月くらいでに先輩に言われて始めました。先ほども書きましたが、アルゴリズムって面白いな〜というところを起点に、ものづくりを楽しいと思っていました。その流れで個人開発を始めたり、競技プログラミングをやってみたりして、ソフトウェアエンジニアを志望したというのが経緯です。
マネーフォワードのソフトウェアエンジニア職の選考について
選考ステップ
選考の流れは以下でした。
就活に向けて動き出した際に、トラックジョブで「高難易度プログラミングにチャレンジ!」という募集があったので応募しました。
コーディングテスト
大学院1年の7月に参加しました。トラックジョブ経由で受けたもので、面接官はいないオンラインのテストでした。1問目は、AtCoderの茶色、C問題くらい、2問目はLINEヤフーなどでも出題される長文を読んでAPIをたくさん書く重実装形式の問題でした。
振り返りとアドバイスになりますが、1問目はAtCoderをやっておいて良かったという印象です。C問題までは解けないと難しそうだなと感じたので、Qiitaなどでも解説を見ながら対策をするのが良さそうです。
2問目の重実装形式の問題は、LINEヤフーのコーディングテストを受けてみたり、トラックジョブで参加できる練習問題のコンテストなどに参加してみるのが対策になると思います。(重実装系はトラックジョブ以外であまりみたことないです)
どちらもコードの可読性が重視されるので、それを意識して解答していました。
インターン面接
8月にオンラインで行われ、面接官はVPoEの方1人でした。和やかな雰囲気で30分程度行われました。大学での研究内容に関しての質問が多く、研究を論理的に組み立てて説明できるかを見られてるように感じました。志望動機などは深掘りされませんでした。
インターン
各エンジニアチームに1人の学生が配属され、バックエンドエンジニアとしてRubyでコードを書き、最終日にパワポで成果発表という内容のインターンでした。9月末の2週間と長かったものの、基本リモート(2日ほど出社)だったので融通が効きました。ワークに関しては、インターン用に作られたものではなく、自分の書いたコードが本番に反映される実戦的なものだったので、やりがいを感じることができました。
メンターの社員の方がついてくださり、コミュニケーション力やコードの理解力について評価・フィードバックしていただいたのを覚えています。
その後のフローとしては、月に1回程度のカジュアル面談を何度かしていただきました。最初の面談はインターン後2週間程度での連絡でした。
1Day選考会
ESの提出はなく、TOEIC600点以上のスコアが求められました。面接は人事から最終まで全てオンラインで行われました。
人事面接
40分ほどの面接でした。和やかな雰囲気で、就活の軸や学生時代にしていたこと、志望動機などの基本的なことを聞かれたました。また、普段どんな開発をしているのかなどの技術系の質問もされました。
エンジニア面接(技術面接)
面接時間は1時間で、30代くらいのエンジニアの方との面接の中で問題を解いていく形式でした。技術課題を示されるシステムデザインのような感じで、「このような仕様のアプリを作りたいが、あなたならどう作りますか?」という質問をされて面接が進行しました。
実際に動くコードを完成させる必要はなく、疑似コードのような思考プロセスを見るような内容でした。といっても、詰められるような感じではなく、ラフ案を出したのちに話し合いながら設計を進め、細かい部分を定義していくような感じで進みました。
問題の内訳は、システムデザインが3問、アルゴリズムが1問です。システムデザインといっても難問をぶつけられるわけではなく、要件を満たせるようなシステムについて、モデルの数やデータの扱い方、必要な関数などについて話し合いつつ設計を進めていくようなイメージです。
アルゴリズムの問題は、競技プログラミングのような感じだったのを覚えています。まず愚直な解き方で、「非効率だけどfor文を回せばこう書けますよね」という感じで示し、そこからどうやって高速化できるかを、自分のアルゴリズム力で改善していくような感じでした。
この面接では、単純な知識よりも目的を明確に捉えた論理的な考え方ができるかと言った点や、対話することができるかというソフトの面を見られているように感じました。
システム設計の部分は競技プログラミングでは身につけることが難しいので、個人開発や長期インターンの経験があると話しやすそうだなと思いました。
VPoE面接(最終面接)
夏に面接していただいた方と同じ方で、和やかな雰囲気で行われました。時間は40分ほどです。研究の進捗や、個人開発の話、ブラッシュアップした志望動機などを聞かれました。志望動機に関しては、プロダクトマネージャーになりたいといったキャリアプランの話とユーザーファーストな社風を魅力的に感じたという話をしました。
面接官の方は、自分の研究内容や開発経験について興味を持って聞いてくださることに加え、キャリアプランについても、その理由について深掘りされました。人事の方とお話しすることで、どんなことがやっていけるのかを相談できるので、クリアに話せるように整理しておいて良かったです。
内定
メールで翌日か2日後に連絡をいただきました。返答を待ってくれたり、内定承諾前インターンなども行ってくれてるようでした。また、年収に関しても、「オファーリチャレンジ」というものがあり、内定者の長期インターンに参加して一定以上の実績を出すと、給与が上がるチャンスもあるようです。
就活の選考対策について
コーディング試験
教科書的な話では、Ruby on Railsの勉強で1冊読んだ程度です。
実践の面では、AtCoderを主に使っていました。他にも、LINEヤフー系の問題はトラックジョブで練習していました。コーディングに関しては、書きっぱなしで終えるだけでなく、よく書けている人のコードを読んだり、そのコードを自分だったらどのように書くかと批評的な視点で振り返ると知見が溜まっていくと思います。私の場合は、競技プログラミングの練習をして、1つではなく複数の解説を読み比べることを意識していました。
面接
エンジニア面接は、リーダーシップよりかは、論理的に考えて話せる能力の方が大事だと思います。私は、その練習として研究室の発表や議論などでロジックを意識していました。もし読者の方の中で、そのような場が無いという方は、論理的に議論する場や機会を作って練習するのが良いと思います。
また、キャリアプランや自己分析のような質問に関しては、もともと自分が好きなことや嫌いなことを考えていたこともあり、それがそのまま対策になりました。
その他
コンピューターサイエンスについては、私の面接ではあまり聞かれなかったものの、面談で社員のエンジニアの方と話していると業務上では役に立つという話はよく聞きました。また、マネーフォワードでは、25年から社内公用語が英語になるとのことだったので、TOEIC600点を最低ラインにして勉強することが求められます。
後輩へのアドバイス
私の場合は、インターンと学会の参加準備の忙しい時期が重なってしまった時が大変でした。これに関しては、頑張るしかないの一言に尽きます。参加したい学会などは早めに予定を立てて、計画的に行動すれば就活と両立しやすかったなと思いました。
ソフトウェアエンジニア職の就活に関してのアドバイスを以下に簡単にまとめました。
個人開発をやってみよう
個人開発をすること(長期インターンでもいいと思います)で、自分が本当にエンジニアになりたいかどうかがわかると思いました。壁にぶつかることや、それを乗り越える努力を楽しいと思えるかで、適正がわかるのではないかと考えます。
新しい情報を取りにいく
急成長しているメガベンチャーで見られますが、設立当初の話と現在の話が全然違うことがよくあるので、なるべく最新の情報を取りにいくことが大事だと痛感しました。ネットの情報を信頼する際も、情報の鮮度を意識して飲み込んだり、可能であれば人事に聞いてみたりするのが良いと思います。
とりあえず競技プログラミングでも、個人開発でも長期インターンでも、何かをやってみるのが良いのではないでしょうか。自分が心から楽しいと思える取り組みを何か1つ見つければ、それに夢中になることがいつしか就活にも活きていきます。そうやってインターンや選考に臨める状態を作るのがおすすめです!
「外資就活ドットコム」は、就活生向けの無料で会員登録できる就活プラットフォームです。
トップ大学生に人気の企業の選考体験記・エントリーシートのほか、
・外資・日系トップ企業の募集情報や選考対策コラム
・外資/日系トップ企業が揃う「所属大学限定」の特別な募集情報やスカウトのご案内
・東京都内のオフライン選考対策イベント(少人数座談会、面接対策講座)
など、会員限定コンテンツが多数ございます。ぜひご活用ください!
会員登録すると
このコラムを保存して
いつでも見返せます
マッキンゼー ゴールドマン 三菱商事
P&G アクセンチュア
内定攻略 会員限定公開
トップ企業内定者が利用する外資就活ドットコム
この記事を友達に教える