ハコベルの中村です。
ラクスルに4名のインターンが、そのうち2名がハコベルに来てくれました。私もメンターとして関わった今回のインターン期間、どんなことをやったかレポートしていきます!
事前準備
まずインターンのプログラムで重視したこととしては、顧客、現場の一次情報に触れて課題設定、解決に向かう、ラクスルでの開発スタイルを体験してもらうことにしました。
背景として、ラクスルでは「Reality(高解像度)」「System(技術・仕組み)」「Cooperation(互助連携)」という行動指針=ラクスルスタイルを掲げており、開発チームもそれを重視しています(さらに深く知りたい方は こちら や こちら の記事をどうぞ)。この中で、今回は特に「Reality」への取り組みを体験してもらうことを重視して設計しました。
そのためにPM、エンジニアからのオンボーディング以外にも、社内外のユーザーへのインタビューを手配・企画しました。その上でWebアプリケーションの開発を実際に体験してもらうことを計画しました。この方針を元に、以下のスケジュールを立ててインターン生を迎える準備をしました。
1週目:オンボーデュング、社内ユーザーインタビュー、課題設定、開発
2週目:開発、社外ユーザーインタビュー、最終プレゼン(1)
3週目:開発、最終プレゼン(2)
1週目
テーマ決め、課題のリアリティを捉える
ハコベルのサービス、開発環境などについてのレクチャーを終えると早速テーマを決めに入りました。まずはユーザーが課題に感じているテーマをいくつか我々から提示し、期間内に実装できそうなものの中から、「社内の配車担当者が〇〇を検知してアクションできる」ことを選択してくれました(リリース前なので内容はまだ秘密で)。
テーマが決まると現場の一次情報に触れるため、社内のオペレーションチームのメンバーにインタビューをしてもらいます。その課題のリアリティ、どのようなオペレーションをしているのか、どのような暗黙知を前提にしているのかなどを知る機会。その前に、仮説を立ててインタビューで何を聞いていくのかを決めていきます。
それを元にして社内にいる配車担当者にインタビューをしました。仮説から想定した質問、その場で深く聴きたくなった質問を交え、オペレーションの手順やトラブル対応などの詳細な内容や、現場では当たり前だけど我々は知らなかった知識などを引き出してくれました。物怖じせずに進めてくれ、充実したインタビューにしてくれて感心しました。
開発
インタビューを受けて仮説をブラッシュアップします。どのような機能が必要そうなのか、そのためにどこに手を加える必要があるのか、データモデリングへの追加・変更、ユーザーへどのように表示するのかといったことを議論してもらいます。サーバーサイドエンジニアから設計のレビュー受けつつ進めて、タスクを分解していきました。
今回はプッシュ通知の部分と、通知条件のロジックとで担当する機能を分担して開発を進めました
Web Pushの技術はこれまで社内では使ってこなかった技術なので、メンターと一緒に調査しつつ進めました。開発中に動作確認する環境を作る中や、通知バルーンのクリックイベント制御などいくつかハマるポイントがありましたが、順次調査・解決していって実現できる目処がつきました。
ロジックの担当はRDB、Firebase RealtimeDatabase、外部のAPIなどと連携する必要がありました。どこにどんなデータがあるのか、各モデルの役割やリレーションについてインプットしてもらう必要があったので、頭に入れることが多く大変だったかと思いますが、メンターのフォローが着実に開発を進めてくれました。
2週目
二週目には引き続き開発をしてもらいつつ、途中で運送会社にインタビューを挟んだりしました。
運送会社インタビュー
運送会社のリアルイメージを深めてもらう、ハコベルが業務の中でどう使われているのか、取り組んでいる機能を開発するバックグラウンドをさらに深く理解する、自分たちが作った機能への反応を実感することを目的として、ハコベルと取引のある運送会社様にインタビューに伺いました。
まずは普段の業務について教えてもらったり、ハコベルを使って良かったこと、ハコベルにあったらいいなと思う機能などについてヒアリングします。
その後に今回作った機能を見てもらいました。運送会社の方から、インターンながらエンジニアとして機能を作れることへの称賛、機能としても便利になりそうでリリースを期待しているというフィードバックをもらい、さらにやる気につながったようです。
3週目
3週目にはメインとなる機能はできていたので、それをユーザーが設定をできるようにするための機能を実装してもらいました。何に関するプッシュ通知を受け取るのかを設定できるようにしてもらいます。
この期間ではフロントエンドの開発、サーバーサイドとフロントエンドの連携を体験してもらうために、Vue.jsを一緒に触れつつAPIの修正をしました。
最終プレゼン・クロージングパーティー
1人は2週で終了だったので、それぞれ2週目と3週目にプレゼンをしてもらいました。2名とも堂々とプレゼンを実施し、Q&Aにも堂々と答えてくれました。良いインターンの締めとなり、メンターとしても感慨もひとしおでした。
プログラム全体の締めとなる3週目のクロージングパーティーでは、出張回転寿司で労をねぎらいました。インターン生、企画をしてくれた人事の方々、社外のインタビューを手配してくださったビジネスサイドの方々、メンターとしてサポートをしてくれたメンバーと様々な人に支えられて完成した良い企画となりました。みなさま本当にお疲れ様でした!
振り返り
ラクスルでのリアルな声を重視した開発プロセスを体験してもらうことができたかと思います。また技術的にもRuby on Railsでの業務システムの開発、Web Push、フロントエンドなど様々な技術に触れる機会を提供できて、様々な収穫を持ち帰ってくれたのではないでしょうか。
来年のスケジュールについては未定ですが、弊社でのインターンに興味が出たという方はぜひこちらのブログ、Wantedly、Twitter などをフォローしていただけると!