SpeeeのWebエンジニアがCyberAgentでロボットエンジニアになった話

この記事は退職者 Advent Calendar 2019の23日目の記事です(遅れましたごめんなさい)。

1年越しのご報告ですが、2018年の12月に株式会社Speeeを退職し、今年の1月から株式会社CyberAgentで新しい仕事を始めました。

Speeeでやってたこと

Speeeには2015年に新卒で入社し、およそ3年半お世話になりました。

Webエンジニアデビュー

Speeeは今でこそRuby界隈で名前を見かけることが多いですが、僕が入社したときはまだPHPJavaの会社でした。

入社前は主にiOSアプリ開発をやってた僕でしたが、なんやかんやでWebエンジニアとしてキャリアをスタートすることになり、 初期は主にPHPで社内向けプロダクトとかWebクローラとかを作って過ごしていました。

たしか入社から4ヶ月後くらいに開発組織改革が始まってメイン開発言語はRubyになり、既存プロダクトも運用フェーズのものを除いてRubyに置き換えていく流れになりました。当時PHPベースで馴染みかけてた自分のWeb開発力は突然のRubyRailsの台頭によって再び弱体化(?)することになりました。

しかも当時は夏季の学生向け就業インターンを盛んに運営していた時期で、僕も通常業務と並行しながらメンターを兼務していました。Rails歴せいぜい数週間の若造がRailsを教えるという、冷や汗の止まらない期間を過ごしたことを覚えています。

ヌリカエ立ち上げ

入社半年後、ライフスタイルメディア事業部(今のデジタルトランスフォーメーション事業本部)に異動し、ヌリカエという外装工事業者紹介サービスの立ち上げに携わりました。

僕にとっては初めてのチーム開発であり、オンプレを脱却してクラウド(AWS)での開発、CI/CDを活用したテストやデプロイの自動化など、チャレンジがてんこ盛りでした。 toCサイト、toBサイト、CRMSFA、請求システムなど、事業にあたって必要となるものはほぼすべて内製で開発しており、業務委託の方を含む4~5人の開発チーム(若干人数変動あり)でやってました。

チーム開発を改善する

ヌリカエのローンチ後も向こう数ヶ月は開発要望がぎっしり詰まっていて、「何から片付けよう」とか「どういう方法で進めよう」とか色々相談事が増えました。

立ち上げ初期の頃は開発プロセスの形もはっきり決まっておらず、その場その場で相談して意思決定する進め方にも効率の悪さを感じていたため、 みんなでアジャイルサムライSCRUM BOOT CAMPを読んで、イテレーションの定義、バックログの管理基準の定義、振り返り(KPT)の周期化など、チームのリズムを作るための取り組みを始めました。別の事業部のチームも巻き込んでKPTに参加し合ったり座談会をやったりすると学びをシェアできてよかったです。

このあたりは色々と語り尽くせぬ学びがありましたが、個人的に強く意識に残っているのは「振り返りの振り返りをしよう」ということでした。改善を生み出しにくい振り返りになってないか、とか。現状のスキームをメタ的に振り返る視点を持てているだけで、形骸化を避け、開発プロセスを良くしようとする作用が自然と働くんじゃないかなという気がします。

コールセンター開発からの"架電芸人"へ

ヌリカエは社内にコールセンターを有しています。 Webサイトから申し込みをしてきたお客様に対して、オペレーターが一度電話をかけて具体的な意思や内容をヒアリングする必要があるためです。

この電話でのオペレーションが中々に過酷で、架けても不在扱いになるパターンが非常に多く、何度か時間をおいて架け直すといったことを繰り返すうちに架電リストは山積みになり、ひたすら電話番号をクリックし続けるオペレータはメンタルを蝕まれる…というようなことが起きていました。

そして「勝手に電話をかけて、相手が応答したときだけ人に繋いでくれるような便利なやつが欲しい」という要望を受けて、自動架電ツールを作りました。当時の現場ではWindows専用のIP-PBXクライアントが使われており、dllを介して発信/切断をトリガできる仕様が提供されていたため、PBXクライアントの発信先を内製CRMと連携して自動制御するWPFアプリケーションをVisual Studioで作りました。Webどこいった。

社内のほとんどがWebをメインとするエンジニアである中、下手にWPFアプリとか作ってスキルセット要件を増やすような真似は将来的にリスク…といった意見もありましたが、それを踏まえても事業の初期フェーズでこれをいち早く実現できた価値は大きかったのではないかなと思います。

結果的に架電ツールはサービス運営に欠かせない武器として受け入れられ、オペレーションの最適化を経て、晴れてWebベースの架電ツールにリプレイスするところまで繋げられました。 ありがたいことに、これがキッカケで9期下半期のベストテクノロジー賞(よっぽどの時だけ発表される技術部門MVP的な賞。ミュウ並のレア率)を受賞することもできました。

現在のヌリカエの架電ツールは、電話APIであるTwilioをベースとしてReact+Redux構成のSPAに置き換わり、架けすぎ防止機能やユーザセグメント別発信機能などを備え、今なお進化を続けています。 一連の活動を通じて社内からは"架電芸人"という称号をいただき、Twilioコミュニティでも事例紹介登壇をさせてもらったご縁でTwilio Championを拝命するに至りました。

架電芸人、転職へ

上記以外でもイエウール手伝ったり、チームOKR大臣やったり色々あるんですが、まあそんな感じの前職で(話長くなってしまいました)、転職の機会は割と唐突に訪れました。 転職先はCyberAgentのロボットサービス事業部 R&Dセンターで、主な仕事はロボットを活用した接客サービスの研究開発です。

なぜそこ!?とはよく聞かれました。実際、この流れでロボットに行くとは誰も思わないでしょう。 まあそれはその通りで…大学院時代にHCI(Human Computer Interaction)の研究をやってたことが直接的には関係してます。

ロボットサービス事業部との出会いは割と偶然の積み重ねで、一度会って話をしたあとから転職を具体的に考え始めました。

もともと、コンピュータと人の距離を近づける機会を作る仕事に自分も関わりたいという思いがありました。 Speee時代に一番気持ちを込めることができたコールセンター開発も、人とコンピューターの協調作業を発展させていたことに他ならなかったり。そうやってSpeeeで培ったいろいろな知識や技能を引っ提げて、HCI研究の社会実装を目指す事業に飛び込めるのはとても魅力的でした。あと今思えば「全く新しい環境にチャレンジしたい」という単純な欲求も芽生えていたのかもしれません。

そんなこんなで今年1月に転職を果たし、今や最初の1年間を終えようとしているところです。 ロボットサービス開発での1年間のダイジェストはこちらの記事でご覧いただけます。

Speeeの方々には大変お世話になりました。最後も大所帯で見送っていただいたり、今も変わらず飲みに誘ってくれたり、結婚式に駆けつけていただいたり、ほんとありがたい限りです🙏

エモくなってしまいましたが、クリスマスなので許してください。