1
/
5

急成長サービスの“生みの親”「進化させ続けるための組織作り」

2017年のサービス立ち上げ当初1名だったエンジニアが、正社員と外部エンジニアあわせて10名と急拡大しているスマサテ開発チーム。そのなかの1人が、フリーランスとしてスマサテのサービス立ち上げを担い、2021年に正社員としてジョインしたシニアエンジニアの大場です。開発チームのカルチャーや現在取り組んでいる課題、開発プロセスについて聞きました。

大場昌貴
新卒で大手メーカに入社し、生産管理やサプライチェーンの業務に従事。2014年に一念発起して退職し、プログラミングの勉強を始める。その後フリーランスのエンジニアとして活動。
AI賃料サービス「スマサテ」の立ち上げ時にも、フリーランスとして外部から参画。2021年よりスマサテ社の正社員となり、シニアエンジニアを務めている。

進化し続けるプロダクト「“技術面を考慮せず提案されるアイデア”をどう実現していくのか」

―スマサテに入社した理由はなんだったのでしょうか?

当初はフリーランスエンジニアとしてスマサテというプロダクトの立ち上げに参画していました。ただ、多くの機能開発に取り組みながら、その成長を見守ってきたことでスマサテに対して深い愛着を感じるようになったんです。

もちろん愛着だけでなく、スマサテの大部分を自身で開発・実装してみて、このプロダクトに更なる可能性を見出したことも大きかったです。そして2021年、私は全力でスマサテに取り組む決意を固めました。

―直近で大場さんが取り組んでいる開発テーマを教えてください

シニアエンジニアとして多岐にわたる課題に取り組んでいますが、直近で解決したテーマでいうとスマサテの「データ処理の高速化」ですね。

スマサテは賃貸物件の賃料査定を目的としたプロダクトです。したがって取り扱うデータ量がとにかく膨大であることが特徴なんです。その処理をいかに速く行えるようにするかが重要課題でした。

例えば、スマサテにはある地点を中心として半径5キロ以内にある賃貸物件の敷金や礼金の月齢をグラフ化する機能があります。ユーザーがこの範囲や間取りなどの条件を変更した際に、データを即時に取得し、グラフを素早く更新しなければなりません。特に物件数が多い首都圏などでは、半径5キロ圏内に10万件以上のデータが存在する場合もあり、通常の手法ではデータ取得に時間がかかりすぎます。

そこで私たちは、ジオメトリ型の使用やデータの管理方法の変更など、様々な手法を試み、これらの課題を解決しました。

また、スマサテでは、査定した物件に関するデータやグラフをExcel形式でダウンロードする機能も提供しています。これをPDF形式でもダウンロード出来るようにしてほしいというリクエストをユーザーから多くいただくようになりました。それを受けて、近日中にはPDF版も提供を開始する予定です。PDF版はスマサテらしい、見やすく理解しやすいデザインに仕上げています。これによって、用途に応じてExcel版とPDF版を選択できるようになり、ユーザーにとってさらに便利なサービスになると思います。

ただし、PDF版の導入により生まれる課題ももちろんあります。

レポート生成の件数が増加し、それに伴ってサーバー負荷が増大することもその1つです。それに対応するため、アクセスが集中した際でもレポートを一定時間内に表示・生成できるよう、内部テストと調整を重ね、処理の高速化や分散化、サーバーの強化に努めています。リリース時には、ユーザーが安心して利用できる状態にすることを目指しています。

―開発はどのようなプロセスで進められるのでしょうか?

私たちの開発プロセスは、プロダクトチームが提案したチケットを、エンジニアのスキルに応じて割り振るところから始まります。その際に納期も決定し、backlogを用いてタスク管理を行います。そしてバグ修正などを含む本番環境へのデプロイを、週に2回という高頻度でリリースします。

アサインされたメンバは、質問や相談をしながら主体的に開発を進めます。正直言って、技術的な難易度は個々のスキルによるところが大きいです。そのため、設計や開発中のサポート、レビュー時のコメントなど、メンバ同士が必要な時に必要なサポートをし合っています。メンバ全員がそれぞれの課題を最後までやり抜くことができるのは、この体制が確立しているからだと思います。

また、最近では開発速度と品質向上のために、ChatGPT4を開発現場に導入し、それを活用しつつコーディングを行っています。

―チームとしてしっかり組織作りが出来ているんですね。

少数精鋭だからこそ、組織体制は重要視していますね。プロダクトの成長に伴い、エンジニアチームも増員していく予定なのですが、どうすれば最適な開発組織となるかは優先課題として位置付けています。現状は少人数でDevOpsを担当していますが、今後は分業化を進めつつ、新たに参画するエンジニアの個々の特性や強みを活かすようなチーム作りを進めていきたいです。

それからもう1点、私たちの開発チームには大きな特徴があります。それは顧客の声を直接聞ける環境にあることです。もちろん大半はセールスから顧客の要望や機能に対する反響をフィードバックしてもらいますが、それとは別で、電話や展示会など直接顧客と交流する場を作っているんです。顧客の要望や課題を直接ヒアリングして開発に反映させることができる貴重な機会となっています。

―要件定義にはどのように関わっているのでしょうか。

私たちのプロダクトチームでは、まずは価値ある機能を自由に考え出し、企画案を作成します。技術的な難易度や開発側の制約を気にしない。

そのアイデアに対して、エンジニアとしての視点でどう実現できるかを検討します。もし技術的に困難な場合でも、どこに妥協点を見つけることができるか、またはどのように解決できるかを議論しながら開発を進めるようにしているんです。

逆に、エンジニア側から新たな機能提案をすることもあります。スマサテではオープンな意見交換が歓迎される文化がありますので、「このデータを画面に表示した方が良い」とか「デザインのマージンを少し取った方が見やすくなる」といった提案を積極的に行うことができるんです。

“品質”と“挑戦”で顧客の希望を形にしていく

―開発チームで大切にしている価値観を教えてください

私たちが最も大切にしている価値観は、徹底した顧客志向であることです。開発の全ては「顧客が実現したいこと、またはこれまで実現できなかったことを、スマサテを通じて可能にする」という考え方に基づいています。顧客を尊重し、そのニーズを満たすことが、結果として高品質なプロダクトにつながります。

そのなかでも我々開発チームは、特に品質に関して高い意識をもつようにしています。品質というと範囲が広いですが、具体的には、将来のメンテナンスを容易にするためのクリーンなコードを書くこと、また必要に応じて詳細なコメントを残すことなどを心がけています。このような地道な取り組みにより、問題が発生した際に修正対応が迅速に行えるからです。

また、サービスそのものの品質だけではなく、その水準を維持するための効率化も重要です。以前はデプロイ前にブラウザでテスト動作確認を行っていましたが、チェック項目が多く、時間がかかることが課題でした。スマサテの機能がリリース当初に比べて大幅に増えており、さらに週2回のデプロイを行っているため、その都度全工程をチェックするというのは現実的ではありませんでした。

そのため、現在ではノーコードのオンラインツールであるAutifyを導入し、E2Eテストの9割近くを自動化しています。これにより、リリース前の品質確認が一定程度自動化され、大幅な効率化を実現できました。結果として、新たに追加した機能だけを人間の目で確認すれば良くなったり、コードのチェックなど細かい作業に時間を割くことができたりと、品質保持に繋がっていると思います。

―高い品質レベルでの開発で、メンバにも技術が求められそうですね。

そうですね。技術的に難易度の高い課題に積極的に取り組むことも、我々の重要なカルチャーといえます。各メンバには、自身の能力を少し超えたレベルの業務を引き受けるように求めているんです。そうすることで個人も成長しますし、同時にチーム全体のスキルアップも目指せますしね。

例えば、スマサテは利便性を追求し、画面遷移を最小限に抑える設計になっています。その結果、一つの画面に多くの機能を組み込む必要がありました。具体的にいうと、物件データを扱う画面では、表形式の表示/地図表示/賃料散布図表示が一つの画面で切り替え可能であり、その切り替えはボタン一つで行えるようにしたんです。

他にも、特定の部分にカーソルを持っていくと詳細情報がモーダルウィンドウとして表示されたり、特定の条件に基づいて物件を絞り込んだり、といった多機能性を持たせることに挑戦しました。

また、スマサテの開発は主にRuby on Railsを用いて行われていますが、賃料算出のためのアルゴリズムにはPythonを採用しています。数百万件にも及ぶデータから条件に適合する物件を選び出し、その結果をPythonとRubyで連携して算出するという部分も、私たちのチャレンジングな取り組みの一つです。

こうした取り組みは、人数が少ない今の環境だからこそ可能な部分も確かにあります。しかし、我々が品質とチャレンジという価値観を持ち続けることで、これが組織文化の基盤となると信じています。

小さい組織の今だからこそ追求できるキャリア「エンジニアとして成長できる環境を」

―エンジニアとしてスマサテに入社した場合のキャリア機会について教えてください

スマサテは急成長中の会社であり、まだエンジニアの人数はそれほど多くありません。これは、これから入社するエンジニアにとっては、多様なキャリアを模索し追求できるチャンスがあるということでもあります。

エンジニアが担当する領域は、本人の希望や強みに応じて調整可能です。例えば、フロントエンドに特化したエンジニアが「得意なフロントエンド技術を中心に活動したい」と希望する場合、または「バックエンドも経験して開発の全体像を理解したい」と希望する場合。どちらのケースでも本人の意見を尊重し、最適なキャリアパスを一緒に考えていきます。我々の目指すところは、メンバそれぞれの強みを最大限に活かし、成長できる環境を提供することです。

そして、そのための支援体制も整っています。例えば、新たな技術の学習支援やキャリアデベロップメントのための相談などを積極的に行っています。さらに、自己啓発の一環として新しい技術書籍の購入なども経費でサポートしています。

―どのような価値観を持ったエンジニアと働きたいですか?

基本的なことではありますが、自分の意見を持ち、それを積極的に表現できる人と仕事をしたいと思っています。つまり自身の経験やスキルに自信を持ち、それを元に意見や提案ができる人ですね。

それから、仕事を楽しむことができる人と一緒に働けたら嬉しいです。新しい技術に対して常に興味や好奇心を持ち、それを自分の成長につなげることができる人です。メンバそれぞれが多様な知識や視点を持ち寄り、皆でスマサテの組織文化を築いていけたらと思います。

スマサテ株式会社では一緒に働く仲間を募集しています
同じタグの記事
今週のランキング
スマサテ株式会社からお誘い
この話題に共感したら、メンバーと話してみませんか?