見出し画像

CRISP開発現場はどうなっている?エンジニアたちが語った現状と、「FlutterとFirebase」の魅力

CRISPで自社開発しているのは、飲食店の課題解決に特化したアプリ群

本格的に内製化を開始した当初はCEOの宮野浩史が開発をリードしていましたが、2021年1月からwadatchがCTOに就任し、今では現場のエンジニアたちが状況判断し開発を進めています。

では、現場のエンジニアたちが開発を主導するようになって何が変わったのか?また、CRISPの開発環境の特徴は?

今回は、開発メンバーであるSho(ショウ)、Ukkey(うっきー)、Mayo(まよ)の3名が登場。開発現場の“今”を聞きました。インタビューしたのは、CTOのwadatchです。

開発メンバーがCRISPへジョインしたきっかけは?

ーまず、みなさんがCRISPへ入社するまでの話を聞きたいです

Sho:僕は10年ほど食品業界で営業をしていました。CRISPへ来たのは3年前で、僕にとってのエンジニアキャリアのスタートでもあります。現在は、基本的にはフロントエンドを担当しつつ、場合によってはバックエンドにも関わることがあります。まぁ、必要なことは何でもやっていますね。

最近では、お客様自身が払い戻しできる「自動返金機能」を開発していました。これは、お客様からお問い合わせいただくもので、これまではCSが対応していました。CSのリソースもそこそこ割いていたことから、「ちょっとした払い戻しなら、お客様側で対応できるようにしたほうがいいんじゃないか?」と開発に至り、無事にリリースできました!

ーUkkeyさんはいかがですか?

Ukkey:以前までは便利屋やガソリンスタンドのスタッフとして働いていました。でも、別の働き方をしたいと思い、エンジニアに興味を持ったんです。まずは自分で開発するところからスタートし、個人の方からお仕事をもらってアプリ開発をしたりしていました。その後、縁あってCRISPで業務委託として参加しています。

直近まで担当していたのは、「顧客アンケート機能」です。注文時に、お客様が「これはおいしかった」「イマイチだった」などを入力してもらい、それを分析して改善に活かすというものです。あとは、ドキュメント化されていないものをまとめたり細かなこともしていますね。

Mayo:僕がCRISPへ入社したときは、本当にまだなにもない状態で…まさに草一本生えていないところからスタートしたのでやりがいはたっぷりありましたね(笑)。今はいろいろ担当していますが、フロントエンド周りが多いです。最近では自動化のほか、インフラにも参加しています。特に力を入れていたのは、アプリ審査までのテストフロー改善です。

というのも、今まではこれらがほぼ手作業で行われていたんですよね。そうすると、さすがに手間がかかる。そこで、デプロイを自動でCIに整備し、バイナリが上がるようにしました。これによって、CRISP各店舗に効率よくアプリを届けられるようになりました。

カオスな状況下で開発されていたCRISPプロダクトの今

ー以前まで、CRISPのプロダクト開発にはひろしさん(CRISP代表取締役社長、宮野浩史)が参加し、指示をしていました。今はどんな感じで開発が進められているんですか?

Sho:2020年までは、仕様づくりからリリースするところまでひろしさんと連携していました。というのも、以前までは「サービスをリリースすること」を目標に物事が動いていたんですよね。

2021年からは、リリースに加えて機能拡張やリファクタリングもしています。そのため、ひろしさんの指示がなくても、エンジニア側で提案・決定しながら開発できるようになりました。もちろん、払い戻しやアプリ評価などビジネスに関わる部分は引き続きひろしさんと連携しています。

Mayo:現在、開発チームで積極的に取り入れているのが、アジャイルです。CRISPの場合、もともとが外食産業であって開発を行う会社じゃなかったこともあり、エンジニアリング知識があまりない人とやりとりすることも多いです。そうすると、開発・ビジネス両方でコンフリクトが起こりやすくなり、結果的にみんなが疲弊してしまいます。

そのため、開発途中でも仕様や要件の変更を柔軟に対応できるアジャイル開発を採用し、仕様づくりに関しても、できるかぎりエンジニアが参加するようにしています。僕の場合、個人開発をしていることもあり、大まかな流れはわかっています。CRISPの開発でも、おかしなところがあればどんどん指摘している感じです。こういった動きも認めてもらえる環境が、CRISPにはあります。

ーエンジニアの意見も取り入れてもらいやすいんですね。

Mayo:むしろ大きなポイントです!大規模開発は、一人ひとりが歯車になってしまいがち。CRISPでは自分の意見を主張しやすい=やりがいにつながりやすい。

そして少し話が変わるんですが、僕、CRISPへ入社して驚いたのは、アプリの中身が「少し触れると壊れそうなバランスで成り立っているところ」でしたね(笑)。

ー触れると壊れちゃう!(笑)。

Mayo:そうそう。それくらい、いろんな人が各々のコードでアーキテクチャを書いていた。最初のうちは仕方がないことかもしれないのですが、CRISPのサービスはそういったカオスな状況の中で生まれていたんです。加えて、その記録を残しているものもなかった。入社したばかりの頃は、それこそ手探りでコードが書かれた背景を紐解きながら整備していましたね。

ー僕も入社時に苦しんだのが「社内のあちこちに情報が散らばっていること」でした。何をしようとしても、その背景がわからないから始めづらい。かといって、ひろしさんに質問してばかりだと受託開発のようになってしまうんじゃないか?というジレンマもありました。事業、店舗、お客様それぞれのコンテキストを共有し、吸収しながら開発することは必要不可欠ですよね。

Ukkey:同感です。以前までの開発は良い意味でも悪い意味でもその場で対応していたから、複雑化していたのだと感じますね。まさにそういった状況を解決したくて、ドキュメント化を進めているところです。

FlutterとFirebaseによる開発の特徴

ーCRISPの開発環境はどんな感じか紹介したいですが、みなさんから見てどうでしょうか?

Ukkey:FlutterとFirebaseを使っている企業は、まだそんなにないと思っています。そして僕は、Flutterが好きです。アプリ開発をしている人なら、楽しめる言語です。

Mayo:FlutterとFirebaseの特徴は、他の言語に比べて半分くらいの工数で施策を回せるところ。例えばRailsだと、ルールに則ってテストを書かなくてはいけなかったりします。もちろん、Railsにも魅力があり、決して否定しているわけではありません。

FlutterとFirebaseは、CRISPにおける開発に合っている。何より、テレビで紹介される=バズってダウンロード数が増えたときに構える必要がないのは個人的にもうれしいですね。Firebaseは、AutoScale(オートスケール: サーバー負荷に応じて、自動的にクラウドサーバーの台数を増減させる機能)してくれるから、エンジニア側で対応することがそんなにない。モバイルでの各機種の仕様に合わせる必要もないので、デザイナーとしても、UIを1つつくればなんとかなったりします。1本化できているから、iOSやAndoroidに分かれて開発することもないし…この組み合わせは最強ですね。

バックグラウンドが多様なCRISP開発メンバーが「求める人材像」

ー 今後、一緒に働くエンジニアに期待したいことはありますか?

Sho:CRISPの開発は、圧倒的に人手不足です。さらに言うと、今の人数の割にはリリースしているアプリがお客様向けから各店舗向け、配達ドライバー向けなど多岐にわたる。どうしても、抜け漏れが発生してしまいます。そこにいち早く気づいて対応したり、リソースが足りなくてできなかったところに着手してくれたりするといいですね。

そして、CRISPにはいろいろなバックグラウンドを持つメンバーが集まっています。今後はアプリやプロジェクトごとに分断されがちになるからこそ、今の段階からチームプレイヤーとして価値を発揮することに意識を傾けられる人と働けるとうれしいです!

ーすでにみなさんのバックグラウンドが多様ですしね!(笑)。そして、やりたいことに対して、人が少ないというのは引き続き課題です。Ukkeyさんは?

Ukkey:僕として挙げたいのは「理解力」です。先ほども話があったように、CRISPでの開発はひろしさんと連携することも多く、「こういうものをやりたい」と話がくることもあります。そういった「ふわっとした状態」からどうやって実装へ落とし込めるかを考えられる理解力はけっこう大事だと思っているんです。そのためには、仕様をしっかり理解できていることはもちろん、迷ったら周りに相談できることも大事。そういったコミュニケーションは増やしたいですね。

Mayo:今のCRISPのフェーズだと、原石っぽい人に来てもらいたいという考えがあります。つまり、新しいことに挑戦したい人がいいですね。もちろんシニアな方にも参加いただきたいですが、難しいので(笑)。エンジニアのなかには、FlutterやFirebaseに興味を持つ人は少なくありません。その好奇心とともにCRISPへ来てもらえれば、きっと今の開発環境は気に入ってもらえるはずです。

ーちなみに、好奇心の度合いはどれくらいあるといいんですか?

Mayo:そうですねぇ、新しいMacBookが登場したら手を出してしまったり、何かしらのサービスのβ版が出たら試しちゃうくらいですかね(笑)。何より今、CRISPは開発環境を整備しつつ、メンバーみんなでルール決めをしているフェーズです。みんな優しい人ばかりだし、イチから作り上げるのは楽しいと思います!

ーけっこうな好奇心の高さだった(笑)。原石=吸収力があり、チャレンジを恐れない人ってことですね。僕も同じ考えです。

今日はありがとうございました!


画像1