いがいがチュートリアルが切り拓く、Railsエンジニアの成長現場
技術力の向上は、エンジニアにとって終わりのない挑戦です。コインチェック株式会社(以下、コインチェック)では、Railsエンジニアの五十嵐邦明さんが主導する「いがいがチュートリアル」と呼ばれるペアプロを通じて、エンジニアたちが課題を解決しながらスキルを磨いています。この仕組みは、個々のスキル向上にとどまらず、チーム全体の技術基盤を底上げするもの。今回、2年間にわたりペアプロを継続している櫻井さんと、その指導役であるいがいがさんに、現場での具体的なエピソードを伺いました。
まずお二人の自己紹介からお願いします。
いがいがさん(以下敬称略): いがいがこと五十嵐邦明と申します。フリーランスのRailsエンジニアとして活動しており、2022年12月からコインチェックに関わっています。主な役割は、ペアプロを通じて技術的なサポートを行い皆さんのお困りごとを一緒に解決したり、技術力の向上をお手伝いすることです。
櫻井さん(以下敬称略): 私はコインチェックのクリプトアセット事業本部で、ブロックチェーンシステムの開発を担当しています。具体的には、ステーキングや通貨上場の開発、さらに日常的なシステム運用や保守業務などを手掛けています。ペアプロを通じて、技術的な視点やスキルが大きく広がったと感じています。
ペアプロが始まった経緯 ー 技術力向上の土壌を作る
ペアプロを始めることになった背景について教えてください。
いがいが: 具体的に「これがきっかけだ」という明確な理由はないんですが、最初にペアプロを始めたのは、櫻井さんが2022年12月に入社されたタイミングが大きな節目だったと思います。同じ時期に数名の新しいメンバーが入社されたこともあり、彼らも含めてRubyやRailsの技術力を底上げしたいという意図があったのが背景ですね。
櫻井: 私自身、コインチェックに入社したのが2022年12月で、その時点ではRubyはまったく触ったことがありませんでした。最初は本当に右も左も分からない状態で、コードを読んだり書いたりするだけでも苦労していました。その状態からいがいがさんのペアプロに参加し、基礎からしっかりと教えていただきました。同じ時期に入社したメンバーも何人か居たので、みんなで技術を高め合うような雰囲気がここで生まれたと思います。
ペアプロの魅力 ー 質問から始まる成長の対話 + 誰でも学べる安心感と楽しさ
ペアプロではどのような内容を行っているのでしょうか?
いがいが: 私が実施するペアプロは大きく分けて二つのスタイルがあります。一つは参加者が質問や課題を持ち込んで、それを一緒に解決していくスタイルです。もう一つは、私の方から「こういう話題ならできますよ」と提案し講義形式で進めるスタイルです。参加者のペースに合わせて柔軟に対応していますが、頻度は1か月に1回程度が多いですね。
櫻井:私はどちらかというと、業務で直面した課題や自分で調査して気づいたことを持ち込むことが多いですね。特に最近は、課題をその場で解決するだけでなく、深掘りして「もっと良い解決方法はないか」といった視点で質問するようになりました。
いがいがさんの指導スタイルや方針についても教えていただけますか?
いがいが:ペアプロでは、課題を解決するだけに留まらず、解決後に「この判断は良かった」「他にもこういう選択肢がある」といった形でフィードバックを行い、学びを深めることを大切にしています。また、解決方法が現場でどのように役立つか、他のケースに応用できるかといった実践的な視点を意識しています。自分では気づきにくい盲点を指摘し、幅広い視点を提供することで、参加者の視野を広げることを心がけています。
特に成長してほしいと考えているのは、「日々の問題をどう解くか」というスキルです。現場では、解いた結果が良いかどうか自分では判断しづらいこともありますよね。そこで、ペアプロを通じて「これが良い判断だと思います」「別の視点ではこう考えるのもアリです」といったフィードバックを伝え、参加者が自信を持って次の課題に取り組めるようサポートしています。また、少し難易度の高い課題にも取り組むことで、参加者が自分の力を実感できる環境を作りたいと考えています。それが継続的な学びとモチベーションにつながると信じています。
最初のモチベーションや意欲が低い場合でも、その方にとって「今これが大事そうだ」と感じる内容を推測して伝えるようにしています。すぐに役立つ知識を伝えることで「来てよかった」と思ってもらえるように心がけています。これはコインチェックや他の会社でのペアプロの経験から得た学びでもあります。「こういう知識ならすぐに活用できるのでは?」という視点で内容を選ぶようにしています。
組織全体の技術力の底上げを目指すなら、個人のモチベーションや意欲に左右されない仕組みづくりも大事だと思います。例えば「五十嵐のペアプロを定期的に受講する」という業務指示のような仕組みが必要かもしれません。参加者がより目的意識を持って取り組めるようになると思います。
成長の帰路 ー 2年間で得た技術と視野の進化
ペアプロを2年間続けてきた中で、どのような変化を感じますか?
いがいが: ペアプロを始めたのは2023年1月頃だったと思います。当時は、櫻井さんをはじめとする参加者の皆さんが「何を知っていて」、「どこに課題があるのか」も手探りの状態でした。それぞれのレベル感や目標に合わせてセッションを進めるために、試行錯誤しながらやっていたのを覚えています。
櫻井: 初めの頃は基本的な質問が多かったですね。たとえば、「Railsでこの機能はどう使うの?」といった基礎的な内容です。それこそ、「これが何なのかも分からない」という状態からのスタートでした。そこで、日々の業務や学びの中で浮かんだ疑問をリストアップし、ペアプロの時間に質問する形を取っていました。疑問が思い浮かばない時は、「最近のホットなRailsの話題を教えてください」とお願いすることもありました。
業務経験が増えRailsの理解が深まると、質問内容も変わってきました。「業務のこの場面ではどうするべきだったか」という具体的なケーススタディや、Railsの内部仕様に関するより深い部分を掘り下げるようになりました。
最初は「分からないことを解決する場」という位置付けだったのですが、今では「視野を広げる場」に変わりました。基礎から応用まで、幅広いテーマを扱えるようになったのが大きな変化です。技術的な思考プロセスや、問題解決のアプローチをいがいがさんから学べたことが一番の収穫だと思います。日々の業務だけでなく、Railsの内部仕様や最新トピックについての理解が深まりました。
いがいが:櫻井さんの成長は本当に大きいです。最初は「この機能って何?」という質問が多かったのですが、今では「このアプローチは正しいか?」という応用的で具体的な内容が増えています。質問の質が上がると同時に、技術的な範囲も広がっています。実際、私自身も一緒に学ばせてもらっていると感じることが多いですね。
継続してモチベーションを保つための秘訣は何ですか?
櫻井: 最初の頃は何もかも新鮮だったことが大きなモチベーションになっていました。新しい知識を学ぶことや、これまで触れたことのない技術に挑戦する面白さがあって、それがやる気につながっていたんです。
ただ、同じチームで長く仕事をしていると次第にその環境ややり方に慣れてしまい、自分が最初に感じていた疑問や違和感を忘れてしまうことがあります。そういったときに、外部の視点を持ち込んでいただけるのは本当に助かります。いがいがさんが質問やアドバイスを通じて「別の視点」を提示してくれることで、停滞しがちな考え方に新しい刺激が生まれます。
また、いがいがさんと話す時間そのものが楽しいんです。教え方が非常に上手で、どんな話題でも適切に答えてくれますし安心感があります。「これについて教えてください」といった具体的な質問はもちろんですが、自分の業務の中で「こういうことをやってみたけれど、これで良かったのだろうか?」という反省会のような話題でも一緒に深掘りして考えてくれるんです。そうした議論を通じて、より良いアプローチや改善点に気づけるのが嬉しいですね。オープンソースのコードを一緒に読み解くセッションや、Railsの深い仕様についての議論など、幅広い内容に対応していただけるのも魅力です。一人ではなかなか取り組めないようなテーマにも挑戦できるので「次は何を学べるだろう?」という期待感が自然とモチベーションにつながっています。いがいがさんの「器の広さ」を感じる部分ですね。
そういった安心感も継続のモチベーションにつながっています。もし毎回緊張して話さなければいけないような環境だったら、続けるのは難しいと思います。いがいがさんはその場で感じたことを柔軟に受け止めて、自然体で話が進むようにしてくれるのでリラックスして参加できます。そのおかげで、ペアプロを続けようという気持ちが生まれるんだと思います。
ペアプロの意義 ー 誰でも気軽に始められる学びの場
ペアプロの良さや意義についてどう思いますか?
いがいが:ペアプロの一番の良さは、何もなくても気軽に始められる点だと思います。教育制度をしっかり設計しようとすると、どうしても準備が大変になりますが、ペアプロは「とりあえずやってみる」ことが可能です。僕も行けばいいだけなので(笑)何も特別な仕組みがなくても始められるハードルの低さが、非常に魅力的だと思います。
櫻井:私も「敷居が低い」という点が一番の魅力だと思っています。最初は何を聞いたら良いのか分からないこともありますが、気軽に「とりあえず聞いてみる」姿勢で始められるので、学びの機会を自然と増やすことができます。
組織が大きくなると、ペアプロを維持するのが難しくなることはありませんか?
いがいが:そうですね。私が必ず担当する必要はないので、他の先輩方が参加者をサポートしても良いと思っています。また、講義形式を取り入れて参加者を増やしたり、グループディスカッションの場を作るなどして、ペアプロをスケールアップさせる方法もあると考えています。ペアプロ自体が柔軟な仕組みなので、工夫次第でさらに広げていけると思います。
実践のエピソード ー 印象に残る瞬間と学び
お二人のペアプロの中で、特に印象に残っているエピソードや面白かった回はありますか?
櫻井:印象に残っているのは、Railsのエラーハンドリングに関する仕様を調べた回です。業務中に普段あまり知られていない挙動が発生したんです。Railsの基本的な動作として、エラーが発生しても通常はエンジニアが作った処理の中身が実行されるはずなんですが、特定のエラー条件下では処理が実行されない場合があることに気付きました。それが業務で発生し「なぜそうなるのか」という疑問が出たんです。
そこで公式リファレンスを確認したり、過去のRailsバージョンでの扱いを調べたりしました。古い記事や資料を二人で漁りながら、最終的に「このようにコードを書けば問題を回避できる」という具体的な方法を見つけることができました。GitHubのリポジトリを参照し、似たような記述を探しながら進めたのも印象的でしたね。この調査を1時間のペアプロの中で「この書き方なら問題を回避できる」という具体的な解決策を見つけることができ、非常に達成感がありました。
いがいが: Railsのソースコードを実際に読みながら仕様を深掘りしていけたのは、非常に良い経験でしたね。このように具体的な課題に取り組むことで、ペアプロならではの醍醐味を感じました。また、この経験が他の場面でも役立つ知識として蓄積されているのが嬉しいです。こうしたケースはペアプロの大きな魅力の一つだと思います。
他の人がまだ調べていないような事象が起きたとき、調査のコツはありますか?
いがいが: 調査のコツは確かにありますが、簡単に説明するのは難しいですね。ただ、ペアプロの中でデバッグの方法を共有するのは非常に人気のあるテーマの一つです。いくつか有用なデバッグ手法があり、それを伝えることで参加者の調査スキルを向上させられると思います。
具体的には、Railsの練習帳に「デバッグに便利な道具」というページがあり、そこではデバッグに使えるツールや方法を紹介しています。この内容は特に人気が高いですね。
櫻井:私もそのデバッグ手法を教えていただき、実践しています。学ぶ前と後では調査のやり方やスピードが大きく変わりましたね。単にデバッグするだけでなく、デバッグ用のメソッドを使いながらコードリーディングを進める中で、多くの知識を得ることができました。
ペアプロで印象に残る内容や、特に人気のあるテーマはありますか?
いがいが:印象に残っているのは、Rubyのプロセスや並行実行体について説明した回です。プロセスやスレッド、ファイバーといった概念を掘り下げて説明しました。これらは経験豊富な人には当然の内容かもしれませんが、初めて触れる方には非常に新鮮で、理解するのが難しい部分でもあります。こうした基礎的な知識を共有するのは大切だと感じています。
櫻井:私もその回を覚えています。スレッドやファイバーといった並行実行の仕組みを詳しく学べたのは、RailsやRubyの奥深さを知る良いきっかけになりました。
また、Rubyのメモリ管理やRackとそのミドルウェアについての話は特におすすめですね。それ以外にも、モデル(Railsでデータベースとやり取りする仕組み)に関する内容は基礎として絶対に押さえておくべきだと思います。これを学ぶとRailsを書くスキルが一気に上がると思います。
いがいが:私もモデルに関する話題は頻繁に取り上げます。Railsのモデルは非常に重要でありながら、多くの人がつまずきやすい部分でもあります。これを正しく理解することで、Railsの開発効率が大きく向上します。モデルについての記事も多く書いていますので、それを参考にしてもらうのも良いと思います。
ペアプロを通じた発見 ー インストールされる「考え方」
ペアプロを通じて得られるものは、技術力だけではない
いがいが: そうですね。ペアプロの最大の意義は「考え方」を共有することだと思います。その場でコードを書くことももちろん重要ですが、課題をどう解決するか、どのように調べるかといった思考プロセスを共有することに重点を置いています。また、私の指導スタイルとしては、単なる問題解決に留まらず、解決後に「この判断は良かった」「他にもこういう選択肢があったかもしれない」という形でフィードバックを行い、学びを深めることを意識しています。
これは、いわば「答え合わせ」の場でもあります。自分が選んだアプローチが適切だったのか、他にもっと良い方法があったのかを確認する機会としてペアプロを活用してほしいと思っています。また、具体的な課題に取り組む中で、新しい視点や応用的な知識を提供することで、参加者の技術の幅を広げたいですね。特に、自分では気づきにくい盲点や新たな学びを提供する場にしたいと考えています。
櫻井:その「考え方」がインストールされる感覚、すごく共感します。毎週のセッションを続ける中で、いがいがさんの調査方法や問題解決のアプローチが自然と自分の中に根付いていくのを感じています。それが目の前の課題解決以上に大きな学びになっていますね。
いがいが: そもそもペアプロといっても、実際には一緒にプログラミングをしている時間は少ないんです。特に櫻井さんとは、セッションのほとんどが議論中心です。実際に一緒にコードを書いたのは1~2回程度でしょうか。しかし、この議論の時間にこそ大きな価値があると感じています。一対一で話し合うことで、知識や考え方、調査の仕方を共有できる場になっているのがペアプロの強みだと思います。コードの完成だけでなく、その途中の対話を通じて得られる学びや気づきを共有していくことが、今後さらに重要だと思っています。
最近では、答え合わせをAIに任せるケースも多くなってきたのではないでしょうか。確かにAIは非常に優れたツールです。特に、ChatGPTのようなものは短い質問にも的確に答えを返してくれるため、書籍を執筆する立場からすると非常に羨ましく感じます。書籍の場合、読者の反応が全く分からない中で一方通行的に知識を伝えるしかありませんが、AIは相手の理解度に応じて回答を調整できる柔軟性があります。
とはいえ、人間には「分からない」と正直に伝えられる強みがあります。また、信憑性や経験に基づいた判断が求められる場面では、やはり人間の方が優れていると感じます。ペアプロでは、相手の反応を見ながら知識を共有する双方向のやり取りが可能で、そこにはAIにはない人間らしさや深みがあると思います。
ペアプロの今後 ー さらなる広がりを目指して
ペアプロや技術学習を通じて、今後どのようなスキルを身につけたいと考えていますか?
櫻井:業務やグループでの議論において、Railsが得意な人の意見を自分が代弁できるくらいの知識や思考を身につけたいと考えています。それにより、チーム内でのコミュニケーションがより円滑になり、メンバー同士が効果的に連携できるようになると感じます。
また、技術的な側面では、いがいがさんと一緒にソースコードを読み解きながら学びを深め、その中で得られた改善点をオープンソースプロジェクト(OSS)にコミットしていきたいです。自分の学びを成果として形に残し、それを他者と共有することで、さらに成長の幅が広がると信じています。
ペアプロに参加する方へのメッセージをお願いします
いがいが:「怖い人じゃないので、気軽に来てください!」これが一番伝えたいことです(笑)初めての方だと、「何を聞けばいいのか分からない」「こんなことを聞いていいのかな」と戸惑うことも多いかもしれません。でも大丈夫です。たとえ漠然とした質問でも、それに関連する話題を一緒に見つけながら進めていけます。少しでも興味を持ったなら、気負わずにまずは参加してみてください。
ペアプロは、プログラミング技術の共有だけに限りません。たとえば、登壇資料のレビューやフィードバックにも活用されています。実際に、カンファレンス登壇前に櫻井さんから資料のフィードバックをもらい、それを元に内容を改善した経験もあります。また、草間さんとKaigi on Railsの登壇前にレビューをしあったこともありました。このように、互いにレビューをし合いながら内容を洗練させるプロセスは、より質の高い発表につながるだけでなく、技術力の向上やチーム全体の成長を後押しします。
ペアプロは「新しい可能性を一緒に見つけ、学び合う場」です。ぜひ怖がらずに参加してみてください。
櫻井:とりあえず手ぶらでもいいので、まずは予約してみることが大事です。必ず何かしらの学びや発見が得られるはずです。テーマに迷う場合でも、たとえばカンファレンスの前後で気になったことや、日々の業務での疑問を話すだけで十分なネタになります。その中から新しい視点や深い議論が生まれることも多いです。どうぞ気軽に参加してください!
まとめ
ペアプロは「課題解決」の場であると同時に、技術者としての成長を支える土台でもあります。新しい知識や視点を得る楽しさ、日々の業務に活用できる発見、そして「一緒に学ぶ」という安心感が、継続的なモチベーションにつながっています。ペアプロの対話を通じて「自分にもできる」という自信や、「もっと知りたい」という好奇心が育まれます。「コードを書く」以上の価値を提供し、学びの場として今後も進化を続けていくことでしょう。
「議論を通じて深い知見を得る」「日常の業務での課題を共有し、解決策を見つける」そんな魅力的な体験が詰まったペアプロ。まだ参加したことがない方は、ぜひ一歩踏み出してみてください。ペアプロは知識を得るだけでなく、新たな可能性を相手と共に見つける場です。お二人の言葉にもあるように、「怖がらずにまずは試してみる」ことで、多くの学びと発見が待っているはずです。