Webアプリ開発未経験の競プロ上級者が続々活躍。estieに聞くオンボーディングのコツ

2024年10月23日

株式会社estie 取締役CTO

岩成 達哉

松江工業高等専門学校在籍中に全国高専プログラミングコンテスト課題部門最優秀賞、文部科学大臣賞、情報処理学会若手奨励賞を受賞。東京大学工学部に編入後、高専の卒業研究をもとにプログラミング教育アプリを開発し、起業。大学院修了後は、Indeed Japan株式会社に入社し、データパイプライン開発等に従事。2020年10月にestieへVP of Productsとして参画し、2021年8月にCTOへ就任。

X

株式会社estie Software Engineer

riano_

京都大学大学院で理論物理を研究。新卒でハウスメーカーに入社し、営業職に約2年従事。終盤4カ月で競技プログラミングを始め、それを機に、AI系のスタートアップへ転職。機械学習プロジェクトをビジネスサイドからデータ分析まで幅広く担当。2022年にestieにソフトウェアエンジニアとしてジョイン。AtCoderの色は橙、Rating最高値は2758(2024/8現在)。

X

競技プログラミングをフックにした採用活動が、トヨタ自動車やPreferred Networks、ALGO ARTISなど各社で進んでいます。不動産業界のDXを推進しているスタートアップ、株式会社estieもその一つ。estieでは、Webアプリ開発(以下、Web開発)経験の有無にかかわらず、競技プログラミング(以下、競プロ)経験者を何人も採用しています。

スタートアップにとって、Web開発未経験者の育成は大手企業のように容易ではないはず。estieではどうやってオンボーディングや育成を実践しているのでしょうか。

究極的には、Web開発経験の有無は採用基準に影響しない」と語るestieの取締役CTOである岩成達哉さんと、競技プログラミングの経験を持ちつつもWeb開発未経験での入社第一号となったriano_さんに、お話を聞きました。

Web開発未経験の競プロerは、メンターがつきっきりでフォロー

――riano_さんは、競プロ経験はあるものの、Web開発は未経験で入社されたそうですね。estieには同様のバックグラウンドを持つエンジニアは多いのでしょうか?

岩成:現在、estieにはエンジニアが約40人いますが、競プロはやっていたけれどWeb開発は未経験、という状態で入社したのは4~5人で、全体の約1割になります。

競プロを少しでもやったことがある人は半分くらいですね。本格的にやり込んだことがある人となると、15人程度でしょうか。

――estieのエンジニアにとって、競プロはかなり身近なのですね。Web開発未経験者のオンボーディングは、どのように進めていますか?

岩成:未経験だからといって、特別なことはしているわけではありません。

中途入社メンバーのオンボーディングの際は、Web開発経験の有無にかかわらず全員にメンターがつきます。第一目標は、入社してから最初の1~2週間で、自分が書いたコードを本番環境にリリースすること。そのために必要なサポートは全てメンターが中心となって行います。Day1からコードにコミットし、リリースまで一気通貫で体験することで、estieの開発フローを体験してもらうことを重視しています。

Web開発未経験と経験者には、やはり前提知識の量に差はあります。未経験だと、例えばGitやMVCモデルの概念、フロントエンドとバックエンドの連携などといった、Web開発の基礎知識を持っていないことが多いので、そうした知識を補うサポートを増やします

riano_:Web開発未経験者の場合、リリースまでの流れを一度経験するまでは、メンターがほとんどつきっきりで、Gitの使い方から教えています。 

教える内容をドキュメント化して「これを読んでやってみてね」とできたらいいのですが、estieはチームによって技術スタックや開発フローが異なるため、全社統一でのドキュメントは用意していません。最近は、新メンバーの受け入れを何度か経験するうちに、「毎回これ教えてるな」と体系化の糸口が見えてくる場合もあり、チームへのオンボーディング用のドキュメントをつくったりもしました。

また、アジャイルやスクラムに関する用語など、単なる言葉の意味だけではなく背景にある考え方の理解が肝要になる場合は、直接伝えるほうが効果的な気がしています。ですから、教え方もいろいろですね。

岩成:そうしてリリースまでの流れを、メンターと一緒に一通り経験してもらうと、ツールや専門用語にもある程度慣れていきます。すると、どこがわからないのかがわかるようになり、自主的に学習を深めていけるようになる。

未経験のほうが自立まで少し時間がかかることもありますが、メンターがじっくり伴走する時期を設けることで、自立までのスピードをできるだけ上げたいと思っています。

―――メンターの役割は、主にこうした実務のやり方や知識を教えることなのでしょうか?

岩成:それもありますが、「とりあえず何でも聞ける一次窓口」という役割が最も大きいですね

過去の経験がどうあれ、入社したばかりのころは、誰に何を聞けば良いかすらわからないはず。質問相手を一人に絞ることで、質問や相談のハードルを下げ、「どうしよう」と悩む時間を最小限にしたいのです。そうしてメンターが質問をキャッチした後、メンター自身が回答したり、適切な誰かを紹介したりして、疑問の解決につなげています。

ちなみに、オンボーディングとしてメンターがつく期間も、いつまでとは定めていません。そして、もしその期間が終わっても、メンターとの関係は、気軽に相談や質問ができる相手としてずっと続いていくものだと考えています。

メンター業務は「リターンの大きい投資」 1カ月間、専念することも

――Web開発未経験者のメンターの選ぶ際、何か基準はありますか?

岩成:特に人事的なポジションの基準は設けていません。基本的には配属先のチームの人で、入社して半年くらい経って、estieの働き方やプロダクトのつくり方をよく理解している人が担当する場合が多いです。新メンバーの入社が決まり、メンターをやりたい人を募集すると、自主的に手が挙がり、メンターが決まっています。

ただ、リファラル採用などで、新メンバーと前々から縁のある社員がいて、その人と一緒のほうがワークしそうだと判断した際は、紹介者と同じチームに配属した上で、「メンターをやってくれないか」とお願いすることもあります。

riano_:競プロをやり込んでいる人同士はオンラインでのつながりがあることも多いため、estieの競プロ好きと元々面識がある人も少なくありません。その場合、最初からある程度話しやすさが担保されているので、同じチームに配属してメンターを担当するケースもあります。競プロ出身者だから競プロ出身者をメンターがつくというわけではなく、その人がベストなパフォーマンスを出せる環境を考えた結果、そうなっている感じです。

私も、競プロerでestie社員のkenkooooさんを前々から知っていて、そのつながりで入社しました。kenkooooさんとは競プロの練習を一緒にしていたので、話しやすさを感じていました。疑問や不安を素直に伝えやすく、とてもありがたかったです。それに、この人と一緒に働いてみたいという思いもあったので、メンターになってくれたのは嬉しかったですね。

――メンターとしてほぼつきっきりで伴走するとなると、そのための時間はどう確保していますか?

岩成:時間配分の決まりは特になく、それぞれに任せています。Web開発未経験者のサポートなどじっくり伴走する必要があるときは、通常の開発への参加を一時的に止め、メンター業務に集中する場合もあります。

riano_:実際に私が以前、Web開発未経験の競プロ出身者のメンターになったときは、「1カ月はメンターに専念するので実装しません」とチームメンバーに宣言していました

物理的にすぐ私に質問できる状況にしておくことで、「わからないことは恥ずかしくない」「同じことを何回聞いてもいい」と伝えた言葉が嘘や誇張ではないと感じてもらえるようにしたかったのです。実際には、1カ月もかからないうちにある程度自走できるようになってくれましたが。

岩成:メンター業務に時間をかけることには、どのチームも協力的です。なぜなら、開発組織全体の総意として、「オンボーディングへの投資は後に大きなリターンを生む」と考えているから。

例えば既存メンバーの1時間をメンタリングに投下した結果、新メンバーが10時間早く自立したなら、その1時間の投資は10倍となってチームに返ってくることになる。さらに、メンターを務めること自体が、メンター自身の成長にもつながります。

これらをどのチームでも深く理解しているからこそ、riano_さんのように、メンターをやるために通常業務を一時的に大きくセーブするという意思決定も、前向きに受け入れられる土壌ができているんだと思います。

――riano_さん自身は、なぜそれほどまでにメンター業務に力を入れているのでしょうか。

riano_:先ほど岩成さんが言ったように、純粋にそれがチームにとって得だと思っているからという理由も大きいですが、もうひとつ個人的な思いもあります。

ちょっと昔話になりますが、実は私は営業出身で、プログラミングに初めて触れたのは26歳のときでした。一般的にその年齢だと「実務経験3年以上」など、Webエンジニアとして働いたことがある人のみを求めている募集ばかりで、その経験がない人がエンジニアとして働き始めるのは非常に難しい。競プロerの中にも、そういう悩みやジレンマを抱えている人は少なくありません。

私は運よく競プロを通じてkenkooooさんと知り合い、estieに入社できました。自分が通ってきたこの細い道を、もっと多くの人が通れるように広げたいんです

岩成:競プロ出身者は総じて、実装のスピードが速く、コーナーケースを想定してバグを起こしにくくするなど、高いレベルで正確性を担保してくれます。そして、彼らがチームにいることが他のメンバーにとっても良い刺激となり、チーム全体の実装スピードやコード品質の水準も上がっていきます。

最近、AtCoder Jobsに「レートが青以上であれば、Web開発未経験者でも歓迎」という求人を出しました。これはriano_さんが自身の成功体験をふまえて「未経験の人でも、私がなんとかします」と言ってくれたから。募集を出す枠や要件は採用状況によって変わりますが、riano_さんのように強い気持ちを持っている人が「やる」と言ってくれるから、会社としても、未経験者の募集や採用に強く踏み出せるようになっています。

一番の不安は「役に立てるかわからない」 期待を明確に伝えるのが肝要

――Web開発未経験で入社する競プロerにとっては、サポートがあるにせよ、うまくワークできるまでは辛さや苦労もありそうです。

riano_:私もそうでした。最初は「何がわからないかもわからない」状態で、「果たして自分は本当にこの先、この会社で役に立てるのだろうか」という漠然とした不安が一番大きかったです。Web開発未経験で入社した人は多かれ少なかれ、この感情を抱いているんじゃないかと思います。

私の場合、入社から約1週間後に最初のリリースをしましたが、それも含めて2週間ほどは、kenkooooさんがメンターとして、私につきっきりで教えてくれていました。

――その中でメンターはどんな存在でしたか?

riano_:メンターにいつでも何でも聞ける安心感は本当に大きかったです。わからないことはとりあえず全部メンターに聞けば、どうすればいいか教えてもらえるから、一人で悩んで立ち止まらなくていい。それに「こんなに支えてくれているのだから、自分も頑張らなくちゃ」と、前に進む力もわいてきました。

あとはestieに浸透している「褒め合い」文化のおかげで、「意外と役に立てているようだ」と早めに実感できたのも良かったですね。できることが増えたら、メンターはもちろん、目にした人が皆褒めてくれるから、「自分はここでやっていけそうだ」と自信がついていきました。

岩成:Slackに誰かを褒める用のチャンネルがあり、そこに社歴を問わず良い動きがあればどんどん投稿し合っています。たとえば入社間もないメンバーであれば「入社○日で爆速リリースしてくれた」とか、既存メンバーであれば「ここで困っていたのを、○○さんが助けてくれた」「この質問に○○さんがサッと答えてくれた」とか。

riano_:褒める用のチャンネルを見ていると、既存メンバーのみなさんの得意領域も自然と分かってきます。そのおかげもあって、誰に何を質問するべきか少しずつ理解していくことができました。

――riano_さんの入社時の不安な気持ちは、いつごろから和らいでいきましたか?

riano_:入社3カ月後くらいですね。

入社したばかりの時期は、周りの人がみんな、すべてを完璧に理解してバリバリ仕事をこなしているように見えていました。でも、実際はそうじゃなかった。わからないことがあれば適宜詳しい人に聞いているし、お互いが情報を出し合って相談し、解決したり「わからないね」という結論に落ち着いていたりする。

自分ができることが少しずつ増えて、周囲のことも目に入るようになったからこそ、その様子に気づけてちょっと安心したのです。

みんな何かしら、わからないことや、知らないことはある。それでも、誰に相談すべきかがわかっていればきっとやっていけるだろう、と自信を持てたのが、ちょうど3カ月後くらいでした。

――こうした入社直後の体験は、riano_さんがWeb開発未経験者のメンターを務める際に、どのように生きていますか?

riano_:自分のオンボーディングがすごくスムーズだったので、やってもらったことをそのまま真似ながらメンターをやっています

最近は、社内の組織やプロダクトが大きくなるにつれて情報が整理されていったり、開発環境の構築が効率化されたりしているので、こちらが教えなくとも学んでいける環境ができてきています。でもメンタリングについては、ノウハウを型化しようとは思っていません。オンボーディングでつまずく箇所は人それぞれ違うから、型化の意味があまりないように感じます。

それに、私が入社した当初、メンターとなったkenkooooさんが1対1で丁寧に向き合ってくれてとても助かったからこそ、私も先入観なく1人ひとりに合わせて最善を尽くしたいと考えています。

Web開発未経験者のメンターをするときは、やってほしいことや期待している動きを明確に伝えるようにしています。

入社したばかりの人は、メンターに質問するにも、手を止めてもらうことに「申し訳ない」と感じがちです。そんなときは、「メンターとして自分がいる目的は、あなたに1日でも早く自走してもらうこと。そのために躊躇せず助けを求めるのは、目的に対してプラスな行動なのでどんどんしてほしい」「逆に、わからないことがあっても遠慮して質問しないでいるのは、目的に合致しないから、避けた方がいいと思う」などと、その人に期待している行動とその目的を具体的に伝えます。プラスな行動をとってくれたらすかさず「いい動きをしてくれていますね」と感想も伝えるようにしています。

何ができていればOKなのか、明確に基準があって、それができていると気づければ精神的に楽ですし、安心して仕事に取り組めると思います。

競プロerが多いのは偶然であり必然

――なぜ、estieに競プロerが多いのでしょうか。

岩成:選考の中でコンピュータサイエンスに関する基礎知識を求めているからかもしれません。

二分探索などのアルゴリズムやデータ構造、コンピュータの仕組みについての基礎的な知識は、良いプロダクトをつくるために有用です。また、これらの知識は、選考を通ってきた社内のエンジニア全員が知っていることが担保されているため、エンジニア同士のコミュニケーションをスムーズにすることにもつながっています。

estieが求める知識は情報系大学などでは必修となっている範囲ですから、経験者採用では大学で学んだことがある人が多いかもしれません。しかし理系や情報系の大学を卒業していなくても、競プロに打ち込んでいる方々は、このあたりの知識を知っていることが多い。それはおそらく、レーティングが上がるにつれて、コンピュータサイエンスに関する知識を求められるシーンが増えていくからでしょう。

だから「レートが高い競プロerを多く採用しよう」という戦略を積極的にとっていなくても、結果的にそうした方が多く集まってきてくれているのかもしれません。

――最後に改めて、競プロ経験者の採用についての考えを教えてください。

岩成:競プロ経験やWeb開発経験の有無は、究極的には関係ないと思っています。

当然ながらestieでは、競プロerしか採用していないわけではないし、そこに特にこだわっているわけではありません。コーディング面接では問題が解けることのみを見ているわけではないですし、想定した正解が導けなくても通ります。

estieに来ていただきたいなと思っているのは、この会社で活躍できる方。そこに「実務経験3年以上」などの条件を必須として付けてしまうと、riano_さんのような、熱い気持ちがあり、Web開発未経験ながらも卓越したエンジニアになりうる可能性のある方を逃してしまうかもしれない。それは会社として、非常にもったいないことです。だから、estieで活躍してくれる可能性のある人と出会うために、競プロというチャネルを活用しているのです。

riano_:Web開発未経験であっても、競プロに打ち込んできた人がどんどん活躍していけるよう、同じようなバックグラウンドを持つ私たちが全力でフォローしていきます。そうしてestieのプロダクトを一緒に成長させていける方と出会えたら、とてもうれしいですね。

取材・執筆:古屋 江美子
編集:光松 瞳
撮影:赤松 洋太

関連記事

人気記事

  • コピーしました

RSS
RSS