店舗運営やEC、会員・在庫管理など、小売業に必要な機能を一つに集約したクラウド基幹システム「RECORE」。オールインワン型のSaaSとしてスタートし、現在はAPIを活用した柔軟なカスタマイズによって、エンタープライズ企業の複雑な業務要件にも対応している。
取締役CTOを務める菊地浩貴氏は、RECOREの開発初期から一人でプロダクト開発を担い、現在は長く使われる基幹システムの設計や開発基盤の整備、組織への権限移譲を進めている。今回は、幼少期のパソコンとの出会いや独学で始めたプログラミング、代表・佐藤氏との事業立ち上げ、プロダクトの転換点、AI時代の開発組織とエンジニアに求められる力について伺った。
株式会社RECORE 取締役CTO 菊地 浩貴 氏
岩手県出身。東北大学工学部、同大学大学院で機械系の計測技術を研究。大学在学中にトレーディングカードのECサイトやAmazon向け管理ツールを独学で開発し、ソフトウェア開発の道へ進む。大学院修了後、ヤフー株式会社(現LINEヤフー株式会社)へ入社し、ヤフーファイナンスの開発に従事。退職後、株式会社RECOREの前身となる株式会社NOVASTOに参画し、2017年頃からRECOREの開発を一人で進める。現在は取締役CTOとして、プロダクト基盤の設計・実装、コードレビュー、AIを前提とした開発体制の構築を担う。
株式会社RECORE

店舗運営に必要な機能とデータを、一つの基盤に集約する
── まずは、御社の事業内容について教えてください。
もともとはリユース業界向けに事業を始めました。現在はリユースに加え、小売業全般に向けて、店舗運営やEC、会員管理、在庫管理などを一貫して行えるSaaS型のクラウド基幹システムを提供しています。
ただ、私たちが本当に実現したいのは、企業のデータが一カ所に集まっている状態です。そのデータを基に経営判断ができるよう、POSや在庫管理など、日々の業務で使う画面を提供しています。店舗の業務を回す中で、必要なデータが自然と蓄積されていく構成です。
── 小売業やリユース業界には、現在どのような課題がありますか。
小売業やリユース業界に限らないと思いますが、データが分断されていることです。部門ごとにデータが分かれ、つながっているように見えても、実際には手作業や誰かが作ったマクロに頼り、ExcelやCSVで何とか運用しているケースがあります。
データが一元的に蓄積され、必要な人がそこへクエリを投げられる状態になっていない。これは、さまざまな企業で感じる課題です。
── その中で、RECOREの特徴や強みは何でしょうか。
複数のSaaSを組み合わせる方法もありますが、その場合はシステム同士をどう連携させるかという問題が生じ、コストもかさみます。
RECOREは、基本的な業務であれば一つのシステムで対応できる、オールインワンであることが強みです。店舗にシステム連携の知識を持つ方がいるとは限りません。お客様が本来やりたいのは、ご自身の事業を伸ばすことです。システムの問題で、その歩みが滞る状況を減らせることに価値があると考えています。
独学で始めたプログラミングと、代表・佐藤氏との事業立ち上げ

── キャリアの原点について伺います。幼少期や学生時代は、どのように過ごしていましたか。
小学2、3年生の頃に親がパソコンを買ってきて、それからずっと触っていました。ホームページを作ったり、インターネットを見たりしていましたね。当時は、家庭にパソコンがあること自体がまだ珍しく、周囲にも使っている人はあまりいませんでした。
中学生になると、ゲームセンターに通い、音楽ゲームに夢中になりました。そこで出会った人たちとのつながりが、巡り巡って現在の代表である佐藤との出会いにもつながっています。
大学生の頃、ゲームセンターで知り合った方から、大量に仕入れたトレーディングカードを販売するのを手伝ってほしいと頼まれました。最初はヤフオク!で少しずつ販売していましたが、次第に出品作業が大変になり、自分たちのECサイトを持とうと考えたんです。
既存のECサイト作成サービスも試しましたが、レアリティごとに管理したいなど、実現したいことが増えていきました。思い描いたものを作れなかったため、「それなら自分で作ろう」とプログラムを書き始めました。2011年、大学生の頃のことです。
── 東北大学では、どのような研究に取り組んでいたのですか。
工学部の機械系で、計測に関する研究をしていました。ものを加工する際には、寸法を測り、その結果に応じて修正と加工を繰り返します。一般的に、加工に用いる測定には、加工精度の10倍ほどの精度が必要です。私は、ナノメートルから数マイクロメートルほどの微細な構造物を、いかに高い精度で測定するかという研究に取り組んでいました。
── 大学院修了後、新卒でヤフー株式会社、現在のLINEヤフー株式会社へ入社されています。入社の決め手を教えてください。
大学では機械分野を専攻していましたが、大学生の頃から自分でシステムを作っていました。そのうち、トレーディングカードを販売すること以上に、システムを作ること自体が面白くなっていったんです。
プログラミングはすべて独学でした。作りたいものを実現する方法を調べながら、少しずつ形にしていきました。自分で設計したものが世の中に出て、実際に動くことに大きな面白さを感じたんです。将来もこの分野の仕事をするのだろうと思い、Webサービスを手がける企業の中からヤフーを選びました。ヤフーファイナンスの部署で、1年間、Webサービスの開発に携わりました。
── ヤフーを退職し、前身のNOVASTOに参画した経緯を教えてください。
前身のNOVASTOは、代表の佐藤と一緒に立ち上げた会社です。佐藤とは大学生の頃から一緒にさまざまなビジネスに取り組んでいました。一度は社会人経験を積むためにそれぞれ就職しましたが、いつかは二人で何かを始めるだろうという共通認識がありました。そのタイミングが、たまたまヤフーへ入社して1年後に訪れたという形です。
大学生の頃には、音楽ゲームを通じて知り合った方のために、Amazon向けの管理ツールも作っていました。そのツールを周囲の方々にも使ってもらうようになり、ヤフーで働いている間に売上が給与を上回る規模まで成長しました。それも、独立を決められた理由の一つです。

── 現在のRECOREにつながる事業は、どのように始まったのでしょうか。
佐藤は新卒で船井総合研究所へ入社し、リユース業界向けのコンサルティングに携わっていました。多くのお客様を見る中で、リユース業界はシステム化が進んでおらず、もっと効率化できる余地があると感じていたようです。
佐藤から「この事業ならいけると思う」と提案され、現在のRECOREにつながるシステムの開発が始まりました。私はソフトウェアを作ることはできても、お客様が本当に求めているものへの解像度は高くありませんでした。一方、佐藤はお客様の課題を深く理解していました。佐藤の顧客理解と、私の開発力を組み合わせれば、事業を成功させられると確信したんです。
当時、佐藤はお客様の課題を深く理解し、将来RECOREを提案できる関係を築く役割を担っていました。私は佐藤と会議室にこもり、必要な機能を徹底的に聞き、リリースに向けてひたすらコードを書く。創業初期の2017年頃は、私一人で開発を進めていました。
経験したことのない規模の基幹システムだったため、「セキュリティは本当に大丈夫だろうか」「データを漏えいさせてしまったらどうしよう」という技術的な不安は常にありました。
オールインワンから「カスタマイズできるSaaS」へ
── 事業やプロダクトの大きな転機となった出来事を教えてください。
従来のオールインワン型から、APIによる外部サービスとの連携を強化したことです。
RECOREは、すべてのお客様が同じシステムを利用するSaaSです。当初は「リユース業界の業務標準を作る」という意気込みがあり、お客様にもRECOREの業務フローに合わせていただくようなスタンスでした。
事業を進める中で、お客様から寄せられた要望を受け、機能を次々と追加していきました。しかし、あるお客様に必要な機能が、別のお客様にも必要とは限りません。機能を増やした結果、かえって多くのお客様が使いにくさを感じる状態になってしまったんです。
「何でもできる」ことは、ある意味では「何もできない」ことと同じだと思っています。機能が多くても、使う側からすれば「自社には必要がない」と感じるものが含まれます。お客様独自の業務フローをRECOREへ無理に合わせようとすると、作業が煩雑になるケースも増えていきました。
そこで、すべての業務を一つのSaaSに合わせていただく方針には限界があると考えました。商品を販売し、価格を変更するといった、多くの企業に共通する領域はRECOREの標準機能として提供する。一方で、企業ごとに異なる部分を調整できる層を新たに設けました。簡単に言えば、「カスタマイズできるSaaS」への転換です。
── 方針を変えてから、どのような変化がありましたか。
結果として、大正解だったと思います。以前では考えられなかったような大手企業からもお問い合わせをいただき、実際に導入していただけるようになりました。
エンタープライズ企業には、どうしても変えられない独自の要件が数多くあります。以前は、一つの機能を開発すると、すべてのユーザーへ提供される仕組みでした。すべてのお客様が使えるように要件を抽象化すると、検討に時間がかかるうえ、要望をくださった企業にも十分合わないことがあります。
現在は、共通の拡張基盤の上に各社向けの開発を加えることで、その企業だけが使う機能として提供できます。各社が実現したいことに合わせて、必要なコードを書けるようになったことは、RECOREにとって非常に大きな変化です。
長く使われる基幹システムだからこそ、依存関係を減らす

── 現在、取締役CTOとして担当されている役割を教えてください。
現在は、個別の課題を直接解決するというより、各エンジニアが課題を解決するための土台を設計し、実装することが中心です。なかでも、コードレビューが業務の7、8割を占めています。
そのほかには、将来的に必要になりそうな技術の検証や、開発インフラの整備にも取り組んでいます。AIの利用を前提としたレビュー体制も構築していて、自分の頭の中にある判断基準を文章に落とし込んでいます。暗黙知を言語化し、AIが適切に判断できる状態を作るためです。
── 基幹システムの設計やアーキテクチャで、重視していることはありますか。
基幹システムは、一度導入すれば5年、10年と使うことが一般的です。お客様の会社が存続する限り、使い続けていただく可能性があります。そのため、設計では依存関係を極力減らすことを徹底しています。
ソフトウェアでは、ある部分を変更したことで、別の部分が壊れてしまうことがあります。そうした事態を防ぐために、どれだけ大規模なシステムでも機能ごとの境界を明確にします。「この機能はこの領域だけで完結する」「外部のデータを参照して判断しない」「別の領域にデータを保存しない」といった形です。
境界が明確で、それぞれの機能が依存していなければ、一つの機能に不具合が起きても、ほかの領域への影響を抑えられます。ある部分を変更したとき、どこまで影響が及ぶのかを読みやすくすることは、継続的に開発するうえで非常に大切です。
── 具体的には、どのように設計へ落とし込んでいるのでしょうか。
お客様の具体的な課題を、そのまま解決するコードを書くこと自体は、比較的分かりやすい進め方です。ただ、その作り方を続けると、コードが徐々に劣化していきます。特定のお客様が求める機能をRECOREの中心部分に組み込むと、システム全体がその使い方に縛られてしまうからです。
そこで、変わらない部分と、状況に応じて変わる部分を明確に分けています。
例えば、価格改定という業務では、「商品の価格を変更する」という行為自体は変わりません。一方、どのようなルールで価格を変えるのか、どう効率化するのかは、企業によって異なります。
そのため、「特定のルールに従って価格を変更する機能」をそのままRECOREのコアへ組み込むことはしません。「価格を変更できる」という変わらない要素だけを抽出し、コアに載せます。企業ごとに異なるルールや業務フローは、RECOREのAPIを使い、コアの外側で開発します。
将来変更される可能性が高い部分と、長く残り続ける普遍的な部分を分けることが、設計やレビューで最も時間をかけて確認しているポイントです。
AIで効率化しても、店舗やブランドの個性を失わない
── AIやデータの活用によって、価格設定や商品登録、販売は今後どのように変化すると考えていますか。
AIエージェントが急速に発達しているため、日々の定型業務は、今後かなりの部分をAIが担うようになると思います。
一方で、AIにすべてを任せると、情報が均質化していく可能性があります。どの店舗でも価格が似通い、商品の説明文も同じような内容になるかもしれません。そのような世界は、非常に面白みに欠けると感じています。
店舗には、「私たちはこうありたい」という独自の考え方やアイデンティティがあります。企業やブランドの姿勢をきちんと言葉として残し、それを基にAIが動くことが大切です。それぞれの商品やブランドが持つ魅力を、その企業らしい形で伝えられる状態が理想だと考えています。
── 現在の開発組織では、AIをどのように活用していますか。
開発では、ほぼすべての工程でAIを活用しています。何を作るべきか、RECOREでどのように実装するかを考える壁打ちに使い、その結果を基にコードを書かせ、レビューもさせています。
お客様向けには、RECOREに蓄積されたデータとAIモデルを接続する開発を進めています。お客様が自然言語で「今月の売上はどうだったか」と質問したり、アンケート結果から得られる示唆を尋ねたりできるような機能です。
セールス部門でも、日々のヒアリング内容や過去に起きた問題を蓄積し、その案件を知らない人でも自然言語で情報を検索できるようにしています。個人の経験にとどまっていた暗黙知を共有し、誰かが一度経験した失敗を、別の人が繰り返さないための仕組みとして使っています。
ソフトウェアと実店舗を循環させ、理想の小売業をつくる
── RECOREが取り組む事業の魅力を教えてください。
間違いなく、手触りがあることだと思います。
小売業では人が現場で動き、実際の商品が店舗やお客様の間を行き交います。RECOREは、そうした現実の小売事業を支えるソフトウェアです。自分たちが作ったソフトウェアによって、現実の業務がどう改善されたのかが分かりやすく、仕事の貢献を実感しやすい事業だと思います。
現在はホールディングス体制となり、グループ内で実際の小売事業も展開しています。食品ロスに関する事業やブランドにRECOREを導入し、日々のオペレーションを回しています。そのため、同じオフィスにいる利用者へ、「最近、何か問題はあるか」「先日リリースした機能はどうだったか」と、すぐに聞けるんです。
これほど近い距離で利用者の反応を得られる環境は非常に貴重で、グループ全体の強みだと考えています。
── グループのM&Aは、どのような考えから始めたのでしょうか。
ソフトウェアを作っていても、それが本当に正しいのかという問いは常にあります。創業当初は、佐藤がリユース業界を深く理解していたため、その知識を基にソフトウェアを作ることができました。しかし、利用企業が広がる中で、「何が正解なのか」を社内で明確に示せる、いわゆるドメインマスターのような存在がいない状態になっていました。
そこで、小売業やリユース業のあるべき姿を実現するために、実際の事業も自分たちで運営しようと考えました。店舗や事業へRECOREを導入し、実際の業務を回して、得られた知見を再びプロダクトへ反映する。この循環を続けることが、理想のプロダクトを作る一番の近道だと考えたことが、M&Aの背景にあります。
グループには、革製品ブランドの「yuhaku」、M&Aを専門とする「CommerceX M&A」、食品ロスの削減を軸に「もったいない食品」を価値へ変える「ecoeat」などがあります。CommerceXという枠組みの中で、小売業に必要な領域を自分たちで手がけ、解像度の高い知見を社内に蓄積しています。
CTOへの依存を減らし、自律的に開発できる組織へ
── 現在の開発組織について教えてください。
現在、RECORE社内の開発組織は7〜8名で、それとは別にグループ内に1〜2名のエンジニアがいます。
明確に線引きしているわけではありませんが、大きく3つのチームに分かれています。一つ目が、私ともう一人が担当するRECOREの基盤チーム。二つ目が、プロジェクトマネジメントから開発までを担うエンタープライズ企業向けのチーム。三つ目が、日々の運用で発生する問題への対応や、通常の機能開発を担うチームです。
── プロダクトの方針転換に伴い、開発組織にも変化はありましたか。
以前は、レビューや意思決定が私に集中し、私自身が開発のボトルネックになっていました。すでに多くのお客様に使っていただいていたため、簡単に仕様を変えられず、バグや事故も起こせません。最後は私が確認し、「本当に問題がないか」を担保し続けていましたが、次第にレビューを待つリリースが増えていきました。
現在は、私が拡張基盤を確認しておけば、その基盤を使って何を開発するかは、各エンジニアに任せられます。各社専用の機能であれば、セキュリティなどの重要な部分を確認したうえで、その企業の業務で正しく動くことを重視できます。
その結果、各エンジニアが担当企業と直接やり取りし、課題を捉え、必要な機能を自ら作ってリリースし、お客様の反応を見ながら修正するところまで、一人で回せるようになりました。
── 開発組織の魅力を教えてください。
メンバー全員が技術に関心を持っていることです。「この設計でいけるのではないか」「もっと良い方法がありそうだ」と率直に意見を交わし、互いに刺激し合える環境があります。
もう一つは、「まずはやってみよう」という姿勢が強いことです。実現方法がすぐには分からない課題でも、後回しにしたり断ったりする前に、まず試し、解決の糸口を探します。採用記事でも掲げている「よく疑い、よく実験し、よく失敗する人」という言葉どおりの組織になっているかもしれません。
── 一緒に働きたいのは、どのようなエンジニアですか。
「なぜ」を突き詰められる人です。「とりあえず完成しました」という姿勢ではなく、「なぜこの機能を、このような形で作ったのか」を自分の考えとして説明できることを重視しています。
採用では、分からないことを正直に「分からない」と言えるかも確認しています。ソフトウェアの領域は非常に広く、誰にでも分からないことがあります。それを素直に認めることが大切です。また、分野は何でも構いませんが、「自分はこう考える」と言える譲れない軸を持っている方が良いですね。
一つの課題をさまざまな角度から見られることも重要です。課題を提示したときに、「この場合はどうなりますか」「別のパターンも考えられませんか」と複数の可能性を挙げ、具体例から共通する要素を抽出できる方は、RECOREに合っていると思います。
── 現在の組織課題はありますか。
メンバーへ十分に権限を渡せていないことです。現在もRECOREのコア部分は、私のレビューを通さなければリリースできません。
RECOREが成熟していく過程で、私が重要な判断や経験を引き受け続け、ほかのメンバーが経験する機会を十分に作れなかったことは、大きな反省点です。
現在は、私が確認すべき領域を明確にし、それ以外はメンバーへ任せられるよう、開発領域を分けています。比較的小さな課題では、各エンジニアが責任を持って解決まで進められるようになりました。今後はその範囲をさらに広げ、各メンバーがプロフェッショナルとして自律的に働ける環境を作りたいと考えています。
AI時代にも残る、顧客の課題を言語化する力
── RECOREで働くエンジニアは、どのような経験や成長機会を得られますか。
AIが発達する中で、実装に関する仕事の多くはAIが担うようになります。その時代に求められるのは、お客様の課題を高い解像度で捉え、言語化できるエンジニアです。
RECOREでは、エンジニアがお客様と直接対話することを重視しています。お客様が何に困り、何をどう解決したいのかを、自分の言葉で整理して残せる人が、最も価値を発揮できるエンジニアです。AIが発達しても変わりにくい、顧客理解や課題の言語化を中心に経験できることが、RECOREで働く魅力だと思います。
── 現在、特に採用したいポジションはありますか。
今、最も必要なのは、エンタープライズ企業のプロジェクトを担える方です。
お客様と直接対話しながらRECOREへの理解を深め、「御社の業務をRECOREで表現するなら、このように実現できます」と翻訳できる方が不足しています。現在、大手企業から多くのお問い合わせをいただき、一社ごとのプロジェクトも大規模になっています。現在の人数では対応しきれなくなっていることが、直近の課題です。
── 今後、RECOREの開発組織をどのように成長させていきたいですか。
開発組織が、より基盤づくりに徹する体制を作りたいと考えています。
今後、AIがどれほど発達しても、お客様がいて、その方の課題を解決し、対価をいただくという事業の基本的な構造は変わらないと思います。
理想は、豊富な業界知識を持つ方が、その知識を基にソフトウェアを作れる状態です。エンジニアリングの専門知識が少なくても、AIなどを使いながら、自分のアイデアを本番で利用できる品質のソフトウェアとして形にできる基盤を整えたいと考えています。
RECOREというプロダクトだけに限らず、「これを実現したい」と明確に考えている人が、それを形にできる仕組みやリソースをRECORE社で持つ。それがグループ全体の成長にもつながると思います。
── 最後に、読者へメッセージをお願いします。
RECOREに限らず、グループ全体として、これから何に取り組むか分からない不確実な状況を楽しめる人が増えると、さらに面白い会社になると思っています。
「次に何をするか分からない」「この課題をどう解決するのか」といった状況に面白さを感じ、抵抗なく飛び込める方は、私たちのグループに合っていると思います。



