転職しようと思っても、「他社の雰囲気がわからない」「自分にあった会社かどうかわからない」というお悩みは多くのエンジニアが持っています。そんな職探しに悩む方に、「よそのエンジニア開発現場 2次元ツアー」というシリーズを開始しました。その会社のエンジニアの方複数名にインタビューすることで、本音や開発チームの雰囲気をお届けします。
第2回は、保険契約管理SaaS CRM「hokan®」を提供している、株式会社hokan。InsurTechのトップランナーのエンジニアである、横塚さん、岡本さん、宮さんの3人にエンジニアの開発現場についてお話を伺いました。
インタビュイープロフィール
横塚さん
株式会社hokan CTO。 現在はエンジニアチーム全体のマネジメント・社内の情シスの立ち上げ・採用周りを担当
岡本さん
メインプロダクト hokanのテックリードを担当。プロダクトのアーキテクト/実メンバーのコードレビュー・採用面接(カジュアル)担当
宮さん
メインプロダクト hokanのエンジニアを担当。業務委託で参画後、hokanの保険業界へのソリューションに共感し、2020年9月に正社員として入社
目次
- 生きていく上での安心安全を提供する保険を、技術で下支えする「hokan」
- 長期的な開発とデータ分析を可能にするTypeScript×Pythonという技術選定
- 突貫型開発で堅牢とは程遠い2019年
- ミッションクリティカルである事業に求められる“堅牢性”へのhokanのアプローチ
- 長期かつ複雑なビジネスロジックだからこそ、無駄がないように徹底して仕様を詰める
- フルリモート/フルフレックス!Macも最高スペックを支給!
生きていく上での安心安全を提供する保険を、技術で下支えする「hokan」
新保:貴社ではどのようなプロダクト・サービスを提供しているのでしょうか?
横塚:保険契約管理SaaS CRM「hokan®」を作っています。
新保:保険、しかもその代理店向けのサービスと聞くと、なかなか馴染みがない領域ですね。
横塚:仰るとおり保険と聞くと馴染みが薄いかもしれないですが、日本の保険加入率は他国と比較すると高く、多くの方が人生の大事なタイミングで加入を検討するものです。実は保険は、結婚や出産などいろんなライフイベントで人々の生活を支えています。人生を支える保険加入をイケてるツールで応援する!ということを念頭に、僕たちは日々業務に向き合っています。
新保:実は、私は大卒で保険会社に入社し、バリバリ営業していました。伝統がある一方で、効率化の余地はまだまだあります。
横塚:仰るとおり、保険販売の現場には、まだまだ非効率なものが多く残っています。そんな保険業界をテクノロジーを駆使してアップデートしていくのが弊社のミッションです。
しかし、hokanが目指すのは完全デジタルの世界でなく、ヒト(営業職員の方)が届ける安心に対して、テクノロジーを使ってプロセスを簡素化して便利にする。ヒトをテクノロジーが支援する世界なんです。
宮:保険市場を見ると、販売チャネルにおいて保険代理店の存在感がかなり増しています。そういう意味でも伸びていく市場であると思います。
長期的な開発とデータ分析を可能にするTypeScript×Pythonという技術選定
新保:hokanさんが開発するプロダクトイメージが掴めてきました。技術面ではどのようなものを用いて開発しているのでしょうか?
岡本:基本方針は、【モダンで開発体験が良いものを採用していく】です。フロントエンドはTypescriptとReact.jsで、バックエンドはPython(Django)を採用しています。
以前は、JavaScriptで書いていましたが、2019年にTypeScriptを採用し現在はほぼ全てのコード移管が完了しています。TypeScriptを採用した理由は、型が決まっていて、コードを見ればある程度どのように動くかがわかり、共有のためのコミュニケーションコストが少ないからです。保険というビジネスの特性上、長期開発で多くの人が開発に関わるので、どんな人でも誰もがコードを見ただけで振る舞いをイメージができることはとても良い開発体験だと考えております。
新保:バックエンドのPython採用にも、保険事業だからこその意図があるのでしょうか?
岡本:Pythonの意図は、いずれ大量のデータを機械学習することで、保険の最適なリコメンドなどを見据えています。機械学習をしようと思えば、Pythonはかなり親和性が高いです。
ミッションクリティカルな事業に求められる堅牢性へのhokanのアプローチ
新保:保険業界は、システムにも堅牢性が求められますが、堅牢性をどう捉えていますか?
例えば多くの保険会社では、システムの根幹にJavaやCOBOLが使用されていると思います。貴社がPythonやReactの様なこれまでの保険業界には無かった新しいものを取り入れていることは、大変素晴らしいことですが、堅牢性が低いといった見られ方をすることがありそうに思われます。
宮:まず、“堅牢性が高いこと”と“セキュリティをはじめとした非機能な要件が担保されること”は全く別だと思っています。保険業界では、堅牢=Java、だからこそ基幹システムならJavaというイメージがどうしてもあります。一方で、Javaを使い、ソースコードが肥大化していった結果、新機能開発や改修が困難になってきたというケースも見てきました。
これは何も言語のせいではなく、あくまでその設計が大規模なもの、大きな改修に耐えられなかっただけだと思っています。セキュリティだけを取り出しても、それを担保できるフレームワークは言語を問わず多数存在するので、言語レベルで堅牢性を担保するという文脈はもう無いかなと思っています。
新保:堅牢性と柔軟性は、トレードオフのように捉えられることもありますが、いかがでしょう?
宮:ミッションクリティカルな箇所に対し柔軟性がないのは堅牢か?という問いがあります。答えを言ってしまえば、否で、正しい場所に正しいコードが有り、誰が見てもわかるコードになっていることが真の堅牢につながると考えています。
突貫型開発で堅牢とは程遠い2019年。長期開発を見据えてつくり直し
新保:御社では、誰が見てもわかるコードをどのように実現しようとしていますか?
岡本:昔は突貫型開発で、自分が書いたコードの意味が理解できなかったりしていた時期もあったので、そのときの苦労が結果的に今の堅牢さにつながっている気がします。
当時はとにかくスピード重視。動けば正義という時代でした。まさに、立ち上げのスタートアップという感じです。
10企業ぐらいしか導入してなかったんですが、AWSの方に「1000企業ぐらい利用しているぐらいサーバーを利用している」と言われたこともありました(苦笑)
新保:どこかで立ち止まって開発のあり方を見直したのでしょうか?
岡本:さすがに、これは継続的ではないと考えを改めました。ソースコードのあり方を考え直して、2019年に誰が見てもわかるようなコードに書き換えようとつくり直しはじめ、その際に採用したのがTypeScriptです。
新保:保険自体の契約期間が長いため、保険のシステムは長期開発になります。長期にわたる開発をどのように考えていますか?
岡本:突貫型開発の際に感じたのですが、理由なくして書くという行為は長期的な視点でいくとかなりの負債です。そのため、コード一つ一つに「なぜ?」という意識をもって書くようにしています。
新保:それはすごいこだわりですね。その他にhokanさんの開発に関するカルチャーで特徴的なものはありますか?
岡本:Dev側が開発に関する主導権をしっかり握っている点です。Biz側の要望を細部までヒアリング、その後Devが仕様を詰めるといった形が基本です。保険業界だともっとビジネスサイドドリブンかなと思いますが、しっかり意思を共有しあってから意思決定します。そのため、意思決定するメンバーは仕様検討のMtgが多いことも特徴ですね。これはいいのか悪いのかわかりませんが、徹底して議論をします。
新保:確かに、エンジニアドリブンで仕様決定するのは保険業界でも珍しいと思います。
宮:エンジニア全員でプロダクトを育てていく感覚を大切にしています。一方で、余分な脂肪は溜めないという意識も持っています。
新保:なにか具体的なエピソードはありますか?
宮:例えば、汎用性のない複雑な通知条件を設定してほしいというオーダーがあった場合、プロダクトには組み込まずにデータ側の処理だけで完結するような仕様にしました。
岡本:あとは、常に「全保険代理店にメリットはありますか?」という問いを意識していますね。
新保:営業やCSサイドは、目の前のお客さんから言われたら「機能が必要」という思考をしがちなので、その問いをぶつけていくことは重要かなと思います。
フルリモート/フルフレックス!Macも最高スペックを支給!
新保:働く環境はどのような感じですか?
横塚:フルリモート・フルフレックスです。もちろん、定期Mtgも行いますし成果物の進捗は確認しつつですが、時間管理ではなく成果物ベースで進めています。
新保:フルリモート・フルフレックスで、どのようにコミュニケーションを取っているのでしょうか?
岡本:コミュニケーションが軽薄にならないように、始業から終業まで基本的にDiscordはつないだままにしてます。たまに、生活音とか入っちゃっていると思います(笑)
一人で悩んで考え込む時間を必要以上に作らないようにしています。
横塚:コミュニケーションは結構意識しています。ペアプロ制度の導入や、コードレビューは基本的にテックリードの岡本が行うなどしていて、その結果若いメンバーでしっかりとしたプロダクトができていると思います。
新保:若い方からしたらかなり成長できる環境ですね。開発の環境はいかがでしょうか?
岡本:現在販売しているMacの中では最高スペックのものを支給しています!常に最高のアウトプットを出してほしいので、そこへの投資は惜しまないですね。
新保:給与や福利厚生はぶっちゃけいかがでしょうか?(笑)
横塚:正直なところ、スタートアップとしてスタンダードな感じだと思います。報酬面ではSO(ストックオプション)の設計も完了していて、長期的に報酬を最大化する取り組みを行っています。
横塚:僕たちは、ライフイベントに関わる企業ですので、結婚や出産などのライフイベントに関する制度は早い段階で整えていきたいと思っています。
宮:総じてBtoBのシステム開発を学ぶには最高の環境だと思いますね!
よそから見たhokan
保険とは馴染みがありそうで、よくわからないものの一つだと思います。複雑な商品ルールや保険購入時の手続きも難しいものがあります。“よくわからなくて、難しいもの”をテクノロジーを使って、わかりやすくする。
はっきりと口に出してお話していなかったのですが、「わかりづらいものを簡単にし、人を助ける」というエンジニアとしての姿勢をひしひしと感じました。
保険は巨大市場であり、効率化の余地もまだまだ多くあります。なにか大きな課題を解決してみたいという方は、日本を代表するInsurTech企業hokanへ。