kona0001の日記

Rubyで競プロする人の日記です

【入社エントリ】新卒でモノグサに入社しました / 就活の振り返り

はじめに

こんにちは、こな(kona0001)です。

2023年4月よりモノグサ株式会社にソフトウェアエンジニアとして入社しました。

モノグサは記憶のプラットフォーム「Monoxer」を開発・提供している会社であり、全国の塾や中学・高校などを対象に事業を展開をしています。もっと分かりやすく説明すると、記憶を定着させることにフォーカスを置いた学習アプリを全国にお届けしています。

モノグサは2023年4月現在120人ほどの規模の会社で、いままさに成長中のベンチャー企業です。そして僕自身も新卒の身であり、ここが1社目の会社となります。

 

この記事では昨年行った就活の話、そして僕自身の思考整理も含めて、モノグサに入社した理由など書き連ねていこうと思います。会社選びで悩んでいる方の参考になれるような情報も書けたらなと思います。

いわゆる入社エントリ(という名の日記)になります。

 

経歴

まず僕自身がどのような経歴なのか紹介します。あまりに昔の経歴はいらないと思うので大学以降から。

2013年に早稲田大学基幹理工学部に入学、プログラミングに触れ始めたのはこの大学からでした。学科は情報理工です。2017年にそのまま大学院に、2019年の秋に博士課程へと進学します。研究室ではHCI(Human Computer Interaction)に関する研究を行っていました。いわゆるUI/UXの研究です。そして2022年の秋に博士課程を単位取得退学し、2023年の4月にモノグサに入社しました。

おおよそ10年間大学にいたことになります。小学生・中学生の期間よりも長い期間大学にいたって思うとすごいです。

大学の研究室ではプログラミングを楽しんでいました。当時は働きたくないなぁと思い、それなりに楽しかった研究を続けようと博士課程に進学しました。


博士課程の単位取得退学へ

博士3年になって研究成果はよくなく、3年目終了時点での卒業は難しいだろうと思い始めていました。そんな中「大学にいつまで在籍するのか」ということを考え始めたのが2022年の2月です。

このあたりで単位取得退学という制度を知ることになります。単位取得退学とは、博士号は取得できないが博士課程で必要な単位は取得して研究指導も終えたよという証明が得られるものです。分かりやすく言うと、大学に在籍していなくても「あとは博士論文が受領されるだけだね」っていう状態になれる制度のことです(厳密には少し違いますが)。早稲田大学では単位取得退学をした後であっても3年以内であれば博士論文の提出ができ博士号を取得できる制度があるため、大学に在籍する必要性がかなり薄まります。

そこで僕は単位取得退学をする選択をしました(ここでもいろいろありましたが割愛します)。そのうえで教授とミーティングをし「来年には就職しないといけないね」とアドバイスを受け就活を始めることになります。


就活とAtCoder

いざ就活を!と思っても何から始めればいいのかさっぱりわかりません。ぶっちゃけた話それまでの人生で就活をしたことなければインターンなどに応募した経験すらありませんでした。そもそも就活を考え始める時期が界隈基準として遅すぎたし*1、めちゃくちゃ不利なスタートだったと思います。

そんな中で、AtCoderでレートが青であるという強みは就活をするうえアピールできるなと思い、ここを評価してくれる企業を探す事にしました。

AtCoderとは
日本最大の競技プログラミングサイト
ほぼ毎週コンテストが開催されており、その順位に応じてレートも変動する
レートの数値に応じて色(段位)が変わり、青は上位7%くらいの実力である(世間一般的に優秀なライン,参考: AtCoder(競技プログラミング)の色・ランクと実力評価、問題例)

chokudai.hatenablog.com

 

AtCoderはコンテストを提供するたけでなくAtCoderJobsという求人専用の機能も提供しているので、ここを使うことにしました。また自分は競プロをRubyで解いており、Ruby使いの中では1~2番目にレートが高くLanguageOwner*2であったので、ここでもアピールできると思いました。そこでTwitterで逆求人をしてみたりもしました。

この2つの軸で、なんやかんや就活をし始めたのが2022年の3月に入ったタイミングです。

つぶやいてたおかげで具体的な月日までわかるの面白い

 

まずTwitterの逆求人。こちらはつぶやいてすぐに2社からDMが届きました*3

Rubyをメイン言語として使っている会社で、1社は医療系のベンチャー企業、もう1社はとても名の知れたメガベンチャー企業でした(DMいただけて大変ありがたかったです)。分かりやすくするために前者をA社、後者をB社とします。どちらの会社でもカジュアル面談をしようという話になり、30分ほどいろいろとお話させていただきました*4

A社の面談では、よくよく話を聞いてみると中途しか受け付けていないと言われたので、事業内容や技術について一通り聞いて応募はせずに終わりました。面談の中で外部の方が参加できるイベントがあるよーと教えてくださったので、一回オフィスに遊びに行ったりもしました。とてもいい雰囲気だったので新卒採用を受け付けていたら応募していたと思います。

B社の面談では、会社の説明を一通り受け質疑応答でいろいろと聞いたりしました。Rubyの開発に携わっている人も何人か在籍しているとのことでとてもテンションが上がりました。最後にこのまま選考に進んで欲しいとのお話をいただき、新卒採用に応募することになります。


応募した会社それぞれの選考については、次のセクションでまとめています。


次にAtCoderJobs。こちらも登録してから数日で2つの企業からスカウトが届きました。データを高速に処理する系の企業(C社)と、組み込みシステムの高速化を行う企業(D社)です。それぞれ返信をし、カジュアル面談をすることになりました。

C社は次から次へとくる大量のデータを高速に処理し、パフォーマンスを上げるという事業でした。バックエンドでいろいろといじる系の業務で楽しそうだなーと思って聞いていました。カジュアル面談が終わるとなぜか1次面接をパスしたことになっており、そのまま技術試験に進むことになります。

D社は組み込みシステムを扱う事業で、それこそアルゴリズムの高速化が求められる内容でした。ハード寄りの内容はちょっと苦手だなぁと思いましたが、深く話を聞いているとソフトウェア事業もあるとのことで、選考を受けることにしました。

そしてこのタイミングと並列して、AtCoderが2023年新卒向けの企業マッチングイベント参加者を募集しているといったツイートを見つけます。内容はAtCoderでコンテストをスポンサーしたことのある6社が会社の説明会を行うとのもの。渡りに船だと思い即参加ボタンを押しました。

そのイベントの参加者募集ツイート

当日になり、1社30分ずつの長さで各社の説明が行われます。アルゴリズム力の問われる業務という性質上、バックエンドに重みを置いた内容が多かった印象がありました。そんな中1社だけ、バックエンドもだけどフロントもめちゃくちゃやってるよという会社がありました。

ネタバレをするとそこがモノグサだった訳ですが、自分はHCIの研究者でもあったので、フロント周りの業務内容にとても興味が湧きました。バックエンドで学習データを処理しつつ、それを適切な形でユーザにフィードバックする。これ、まさに自分が大学で研究している内容で一番得意とする分野だったんです。会社の説明を聞いた時点で「こういう機能付けたらどうなるんだろう?」とか「ここの仕組み気になる~!」とか、いろいろと興味関心が湧いてきたのでびっくりしました。ここが、自分とモノグサとの出会いの場でした*5

各会社の説明後、気になった企業にカジュアルにいろいろ質問できる場が用意されたので、モノグサを選びました。いろいろと話を聞いていて、雰囲気も自分に合っていそうだしいろいろとやってみたい!という気持ちが強くなったので、そのまま流れに沿って選考を受けることにしました。

 

以上5社中4社(BCDモ)が、自分が選考を受けることになった企業です。どの企業の選考も並列して受けていましたが、AtCoder主催の企業マッチングイベントに参加してからはモノグサが第一志望になっていました。


選考編

受けた選考の流れとそれぞれの結末までこのセクションで書きます。

B社(メガベンチャー)

  • カジュアル面談 → 特別選考 → 一般選考(コーディング試験) → 音信不通

特別選考と通常選考があり、AtCoderでの実績などあったことから特別選考を受ける事になりました。1次面接でCTOとの面接が行われます。結果から言いますがここでは大失敗をします。今思い返してもとても恥ずかしいのですが、この面接が人生で初めての就活面接で、緊張して終始とんちんかんな事を言ってしまった覚えがあります。技術の話の場なのに技術の話をせず私的なプライベート雑談を振ってしまったり・・・その節は本当に申し訳なかったです。

案の定結果は不採用でしたが、通常選考に移れるとのことで、そのまま通常通りの選考を受けることを選びます。

選考の一段回目ということでコーディングテストが送られてきます。2時間で、特定の処理を行うプログラムを書くというものです。結構重かったです。やや苦戦しつつ70点くらいの出来でコードを提出し、その結果を待ちます。しかしそれ以降メールが返ってくる事はありませんでした。

エンジニアの就活エントリを見ていると、選考の過程で音信不通になることは比較的よくある事のようです。1週間が経ったあたりでこちらから確認のメールを送ればよかったなぁと反省しています。


C社(バックエンド処理)

  • カジュアル面談(1次面接) → 技術試験 → 最終面接 → 内定(辞退)

カジュアル面談だと思って楽しそうにいろいろ聞いていたらそれが1次面接でした。カジュアル面談が終わった直後になぜか選考通過の連絡が届いたので、そのまま技術試験を受けました。

技術試験では理系の知識を幅広く問われる問題(数学、物理、化学の計算問題など)が出題されました。高校生までの知識で解けるような基礎的なものだったと思います。またコーディング試験もありました。こちらはAtCoderでいうところのABC-CからABC-Dくらいの問題が出題されました。これを解き提出、数日後に最終面接の案内が届きました。

最終面接当日。面接官はテックリードエンジニアの方でしたが、最終面接とは言いつつものすごくカジュアルな雰囲気でした。プロダクトについて深く議論したり気になる事を質問すると熱く答えてくださったりして、とても楽しかった覚えがあります。最終面接が終わり、翌週に内定の連絡をいただきました。

面接官が全員エンジニアであったり、技術について質問すると楽しそうに答えてくださったりして、とてもいい会社だなと思いました。

非常に申し訳なかったのですが、モノグサから内定をいただいたためこちらの会社の内定は辞退させていただきました。

 

D社(組み込みシステム)

  • カジュアル面談 → 1次面接(技術面接) → 選考辞退

まず最初にカジュアル面談で業務の説明を受けます。競プロの問題をそのまま業務にしたかのような内容で、面白そうだなと思い選考に応募します。またオフィスの雰囲気がよさそうなのと、研究室の先輩からいい評判を聞いたというのも選考を受けた理由になります。

1次面接ではリアルタイムでコーディング試験を行いました。基本的に対話はせずに黙々と解く事を求められる内容で、面接官はその様子を見守ります。大学の入試を受けているかのような気分でした。問題はかなりひねりが加えられており、考察が必要な難しいものでしたが面白い内容でした。1時間あるうちの25分を問題文の理解に使い、理解できたら5分くらいで実装できたのでできた!と伝えました。その後書いたコードについての説明を行い、面接官からの問題解説を経て面接は終了します。

時間に余裕を持ってコードが書け、面接も盛り上がったので選考通過したかなと思ったのですが、そのまましばらくメールが返ってくる事はありませんでした。その後3-4週間が経ち、忘れた頃に遅れた旨の謝罪と共に選考通過のメールが届きましたが、就職先が決まったタイミングだったので「他社様から内定をいただいたため以降の選考は辞退します」とメールを送りました。


モノグサ

  • 説明会 → カジュアル面談 → 技術面接 → 最終面接 → 内定

ここは実際に入社した会社でもあり、印象的な出来事も多かったので文量多めです。

説明会に参加した数日後に、カジュアル面談をしませんかとのメールが届いたので即応募をします。カジュアル面談ではプロダクトに関する質問(サービスの構成やいま集中して取り組んでいる領域など)や企業文化に関する質問などたくさん聞いた覚えがあります。モノグサはボドゲをする文化があると聞いていたので、いま流行っているボドゲの話なんかも聞いたりしました。カジュアル面談を終え、技術面接へと移ります。

ここで驚いたのが技術面接が2時間30分で設定されていたということです。そんな長時間もの間何を問われるんだ、、、面接前のプレッシャーがすごかったです。

 

技術面接は前半と後半で2フェーズ分かれており、それぞれで別の面接官が担当するという形式でした。各フェーズで情報工学に関する問題が3つほど出題されます。アルゴリズムの話から設計、サービス運用の話まで、かなり広い領域の知識が問われました。アルゴリズムパートの問題ではAtCoderでいうところのABC-D問題ほどの難易度の問題が出題され、解いた後にもアルゴリズムの具体的な説明や制約にかかわる議論などが行われました。

また物事の本質を問うかのような問題も出題されたりして、面接中ながら非常にわくわくしたものもありました。実際に出題された問題はここには載せませんが、似た問題としてこういった雰囲気の問題です。

 

質問:ソートを実装してください

 

この問題を出題された側としてはいろいろな考えが頭をよぎります。

  • 制約は何か?
  • 何をソートするのか?
  • 計算量はどこまでが許容か?
  • 何種類もソートアルゴリズムが考えられるが、どれを実装するか?
  • 安定ソートである必要があるか?
  • etc.

どの角度から切り込むかによって完成品は大きく異なってきます。例えば制約次第ではバケットソートで十分な可能性もあります。ただ実装するだけでなく、出題者が何を求めているのか適切にコミュニケーションを取りコードを書く必要があります。

この、コミュニケーションを取りつつプログラミングをする経験が自分にとってはとても新鮮で、とても楽しいものでした。あとから思い返してみると、モノグサにおける技術面接はこのコミュニケーションの部分を大事に評価していると思いました。アルゴリズム以外の問題でも、面接官と適切なコミュニケーションを取りつつ解決に向かうようなものが多々あった覚えがあります。

他の問題に関しても、大学での経験が活きたり、Webサービスを運用した経験が活きたりして、完璧ではないにせよそれなりの回答はできたのかなと思います。僕自身としても全力は尽くせたなという感触で技術面接を終える事ができました。気づいたら2時間が経っていました。

疲弊はすごかったけど一方で、すごく楽しい技術面接でした。

 

翌日に技術面接通過のメールと最終面接の案内が届きます(レスポンスめちゃくちゃ早いですよね。これすごく助かりました)。この時点でモノグサは第一志望だったので、ものすごく嬉しかったです。最終面接は対面で、会社の3役(CEO,CTO,CFO)と行うとのこと。ここまできたら絶対に内定をいただきたいから、最終面接に備えていろいろ準備をしました。身だしなみを整えたりモノグサに関するメディア記事を読み漁ったり。

最終面接当日、モノグサCEOの竹内 孝太朗さん・CTOの畔柳 圭佑さん・CFOの細川 慧介さんと直接お話をし、Monoxerに対する想いや今後の展望など熱く語っていただました。聞けば聞くほど具体的で、計画的で、全人類にプロダクトを本気で届けようとしていることが伝わってきました。

今でも印象的に覚えているのがCEOの竹内さんがAmazonを例えに持ってきた話で、「Amazonで書籍を買ってもその人がその本を持っているという情報があるだけで内容が定着しているかは分からない。Monoxerなら分かる」というもの。ものすごく夢のある話だなって思いました。知識が定着していない人に定着した前提でリコメンドしても効果薄そうだよね、とか、記憶の定着が管理できればかなりやれることの幅が広がりそう。開拓の余地がありすぎる。そして真っすぐな目で話す竹内さんの姿。心の底からモノグサに入りたいって思いました。自分もそこにjoinしたいと、伝えました。

面接が進み、どうやら技術面接を通過した時点でほぼ内定は決まったようなものだったということが判明。その場で内定を口頭でいただき、即承諾する旨を伝えました。

また、モノグサの最終面接では社員さんと一緒にボードゲームを行うという時間があり、自分もそこで遊ばせていただきました。やったのは「恐怖の古代寺院」という人狼ゲーム。面接の一環で人狼ゲームをやるというのが一番恐怖でした。とても盛り上がりましたが、僕としてはいい役職を引けずあまり喋れなかったのが心残りでした。

ボードゲームが終わり、最終面接は終了。会社を出たときの感情はなんとも表現しづらく、期待や不安が混じったとてもごちゃごちゃしたものでした。

 

数日経ってあらためてオファーレターが届き、就職先が確定したと安堵したのを覚えています。相談に乗ってもらったり書類を書いてもらったりした友人や先輩、教授に内定をいただいた旨と感謝の連絡をし、僕の就活は無事に終わりを迎えます。

ここらへん数日間はずっとにやにやしていたと思います。

そういえば最終面接でびっくりしたことが、「(本名)さんが入社していただけたらモノグサ1人目の新卒ですね!」と言われたことです。どうやら新卒第一号らしいです。全く知らなかった・・・(AtCoderJobsでも新卒採用の求人を出していたので、何人かいるものだと思っていました)


なぜモノグサを選んだのか

上述した5社以外にも、求人サイト経由で会社を見て周ったり、先輩や教授からの会社紹介もありました。そんな中でモノグサを選んだ決定的な理由はなんだったのか、自分の思考整理も兼ねて書きます。結論から書きますが、とにかく運に恵まれたからというのが大きいです。

まずそもそもの話として自分は大企業は向いていないと思っていました。ここでの「大企業」は自分が学生の頃にイメージしていた空想の「大企業」であり、実際のものとはかけ離れている可能性が高いです。やることがだいたい決まっており、新しいことにチャレンジするのが大変で、数年単位でのキャリア計画を立てる...要するにカッチリしている環境が自分は苦手で大企業はその割合が大きいイメージがあったので、応募する気持ちが湧きませんでした。あとやりたい事業があったとしてもそこに配属されるかが分からないというのも大企業を避けていた理由です。

次に条件。年収とか待遇とか。正直ここはほとんど考えませんでした。唯一考慮したのが家から近いかってことくらい。自分は社会生活にズボラなので、生活をするのに最低限必要な給与さえ確保されていればいいやと言う考えでした。リモート勤務がどれくらい許されるのかとかも気にしませんでした。

次に自分の興味・関心について。働くからには自分の興味のある分野であってほしいという思いが強いです。

僕の興味のキーワードは「人間心理」「UI/UX」「Web」「アルゴリズム」「未知」「BtoC」「ゲーミフィケーション」「平和」このあたり。このキーワードに当てはまる企業はなかなかありませんでした。「UI/UX」「Web」「BtoC」がキーワードの会社はちらほら見かけましたが、肝心の業務内容に興味が持てないものがほとんどでした。

 

この条件で会社を探すことになります。しかしこれらのフィルターを通すと、だいたいの企業が応募対象から消えてしまいます。そんな中で、唯一これらすべてのフィルターを通り抜けてくる会社が1社ありました。それがモノグサ*6でした。

  • 社員数は当時60名で、まさにいま成長中のベンチャー企業である
  • 家からめちゃくちゃ近い*7
  • 自分の興味のキーワードと事業内容が全て合致する

 

そんな出来すぎな事、ある???

 

運命的な出会いだと思いました。こればかりは本当に運がよかったと思います。まとめると

  • 自分の価値観と完璧に合致した会社がモノグサだったからモノグサを選んだ

という身も蓋もない話になります。働いてて楽しそうって思えたのも大きかったです。ここだけの話、モノグサ以外で自分の価値観に合致する会社はもう無いんじゃないかとすら思っています。それだけこの会社を知ったときの衝撃が大きかったという話です。

 

ここからは雑談です。どんな人にもその価値観に合致した会社があるんじゃないかという話です。僕はモノグサを知るまで、自分が社会に出て働いている姿を全く想像できませんでした。社会人としてやっていける自信も無かったし、働くということに恐怖すら覚えていました。同じようなことを感じている人は結構多いんじゃないかと思います。そんな僕が、モノグサを知った時から自分が働く姿を鮮明にイメージできるようになりました。社会人になって活躍したいっていう想いが出てきたり、働くことに対してポジティブな考えを持つようにもなりました。この感情の切り替わりは今思い返しても嘘のような出来事でした。

働くことに対して不安がある方にはぜひとも各々にとっての運命的な、「これだ!」っていう会社を見つけて欲しいなって思います。そういう会社は直観で分かるような気がしています。


内定をいただいてから

4月に内定をいただきましたが、実際に入社するのは翌年の4月であり1年ぐらい間が開きます。就職先が決まったのに1年間何もしないのでは、とてももどかしい気持ちになります。また上にもチラッと書きましたが自分は業務経験が一切なかったので、4月の入社までにある程度業務に慣れたいという思いがありました。

そこでメールで夏頃から*8インターンとして働けないか、聞いてみました。すぐにOKとの連絡が来て、夏季インターンが始まるタイミングで働き始められることになりました。

実際にモノグサで働き始めたのは2022年の8月からになります。メンターが付き、右も左も分からない状況からちょっとずつ開発に慣れていくことになります。Github周りの操作や複数人開発の経験など、すべてが真新しく新鮮でした。

メンターとの面談を経て、僕はユーザーが直接触れる部分(いわゆるフロント)の業務を中心に行うことになります。入社記事なので深くは書きませんが、ここで割り当てられたインターンとしてのテーマがインパクトの大きい内容で、かなりいい経験になりました*9

そんなこんなで入社前はプロダクトに慣れつつ、開発業務のプロセスを学んでいきました。これが2022年8月~2023年3月までです。

 

余談ですが自分は2022年9月に単位取得退学をしているので、半年間は学生でもなく社会人でもない期間を過ごしています。社会人になったらだらけられないなぁと思い、その半年間全力でだらけました。インターンも週2~週3出社だったので、週の半分以上は自由な時間を過ごしていました。このメリハリのおかげかは分かりませんが、今のところエネルギーが切れることなく働き続けられています。

そして2023年4月、晴れてモノグサに正社員として入社しました。

 

入社、そしてこれから

入社し、初週から研修など受けつつプロダクトの改善業務を行ったり、新機能の開発に携わったりしています。インターンの頃に取り組んでいた業務を継続する形で、ユーザーが直接触るようなフロント周りの機能を中心に取り組む事になりました。やることなすことすべてが新しく挑戦的でとても楽しいです。とはいえまだ開発に慣れきっていないため、ひとつの業務に必要以上に時間はかけてしまっている気はしています。

少しでも早く開発に慣れ、自分がリードする側になれるくらいには技術力をつけたいです。そして、全人類が使いやすいと思うようなMonoxerのUI/UXを提供していきたいです。

 

結びです。入社にあたって頭の中で考えていたことを書いたらあまりにもごちゃごちゃした内容になっちゃいました。まとめると就活をしてたってことと、モノグサに入社したってこと。

あと記事を書いてて自分がめちゃくちゃモノグサ好きなんだなって思いました。普段考えていることを言語化すると、思わぬことが明らかになったりするものです。

本記事でモノグサに少しでも興味が湧いた方は、ぜひ採用ページをチェックしてみてください!

careers.monoxer.com

 

謝辞

本記事を公開するにあたって、モノグサの社員の方々に内容を確認していただいたり、記事のフィードバックをいただいたりしました。ありがとうございました!

 

Appendix

付録1.Monoxerについて、他の学習アプリと何が違うのか?

普通の学習アプリと何が違うの?と思う方もいると思うので、そこについてもうちょっと詳しく書きます。ある問題があったとして、それをどのくらい記憶しているのか?という情報まで管理し、適切なフィードバックを与えてくれるのが他の学習アプリとの違いとなります。また管理者という概念も本プロダクト特有の仕様で、例えばある学校のクラスの特定の科目での生徒各々の記憶状況を、可視化するなどして先生が管理できるような機能も提供しています。

何か覚えたい事があったとして、理解したその先(記憶の定着)をサポートするのがMonoxerの特徴であり独自性となります。


付録2.匂わせ

これらのつぶやきは内定をいただいた後のものです

 

付録3.びっくりしたこと①

僕が内定をいただいた2022年の4月、モノグサの社員数は60人程でした。実際に入社した2023年の4月、社員数は120人程になっていました。すげぇ...


付録4.びっくりしたこと②

この記事10000文字を越していました、、、ここまで読んでいただけた方、本当にありがとうございました!

*1:自分の周りは就職する2年前くらいから就活でインターンとかする人が多かったです

*2:AtcoderProblems上で確認できる、その言語でAtocder上の問題を一番解いているという称号です

*3:Rubyコミュニティ繋がりの方にRTしていただけたりもしました。ありがとうございます…!

*4:カジュアル面談という概念を知ったのはこのタイミングでした

*5:モノグサという名前自体はAtCoderのコンテストスポンサーになっていたことがあったので知っていました

*6:モノグサは厳密にはBtoBtoCモデルです。BtoCの話も始まりつつあります

*7:電車で7分、DoorToDoorで30分

*8:博士3年目の忙しい時期ではあったのですぐにはコミットできませんでした

*9:ここの話は別記事で取り上げたいです