Interview

テックカンパニーまで何マイル? ベテランエンジニアから見た、弁護士ドットコムの現在地

Other

  • #エンジニア
  • #テックリード
  • #開発組織

テックカンパニーまで何マイル? ベテランエンジニアから見た、弁護士ドットコムの現在地

Other

  • #エンジニア
  • #テックリード
  • #開発組織

2015年の提供開始以来、企業や自治体などで幅広く導入されている、電子契約市場No.1※の電子契約サービス「クラウドサイン」。社内でも最多の開発者を抱えるクラウドサイン事業部で働くエンジニアたちは、どんな環境のなか、どんな姿勢で仕事に取り組んでいるのでしょうか。クラウドサインの開発者でもあるテックリードの和田浩一と、エンジニアの須山友太朗に聞きました。
※ 株式会社富士キメラ総研「ソフトウェアビジネス新市場2024年版」(電子契約ツール、2023年度実績)

【Profile】
和田浩一(クラウドサイン事業本部 Product Engineering部)
大学院修了後、20年にわたる複数社でのエンジニア経験を経て、2015年、弁護士ドットコムに入社。クラウドサインの開発プロジェクトのエンジニアとして携わる。現在もテックリードとしてクラウドサインの開発チームを率いる。

須山友太朗 (クラウドサイン事業本部 Product Engineering部 エンジニアオレンジチーム)
大学院修了後、Web制作会社でWebサイトやアプリの開発に携わる。その後、DMMに転職し、自社サービスにおける基盤システムの保守運用や開発などを担当。8年間勤務したのち退職し、2020年、弁護士ドットコムに入社。クラウドサインのエンジニアとして技術的負債の解消に従事する。

ベテランの2人が弁護士ドットコムを選んだ理由

──おふたりともエンジニアとして10年以上の長いキャリアを積んでから弁護士ドットコムに入社しています。転職の決め手はなんだったのでしょうか?

和田:私は人からの紹介で入社をしました。当時、前職の会社で同僚だった人が弁護士ドットコムに転職して、経営に近いポジションで業務をしていました。その人に声をかけていただきまして。ちょうどその頃、私がいた会社はメディアの立ち上げラッシュが一段落して、エンジニアの仕事が落ち着きつつあったタイミングでした。「このあとどうしようかな」と考えていたので、お誘いに応じることにしました。

須山:僕は前職が長くて、8年くらい在籍していたんです。最後のほうは「ここでできることはやりきった」という感覚があったので、ほかの会社を探し始めました。それまで経験してきた仕事のなかでは、課金周りの基盤系のシステムなど、いわゆる「下回り」のシステムに携わることのほうが自分に合っていると感じていたので、そうした社会インフラ系のシステムを開発している良い会社はないかな、と。

そのなかでクラウドサインが目に留まって面接を受けたところ、仕事は楽しそうだし、職場の雰囲気も良さそうで。ほかにもいくつか気になる会社はありましたが、面接時に感じた当時の事業部長の熱量が決め手になって弁護士ドットコムを選びました。

──和田さんはクラウドサイン開発の第一人者とうかがっています。クラウドサインは和田さんが開発されたと考えていいのでしょうか?

和田:うーん……。

須山:そうです。

和田:どうなんでしょう……。現在は私1人で開発をしているわけでもないですし。私たちの開発組織は、どちらかというとテックリードに従って開発するというよりも、メンバーひとりひとりが自発的に開発を進めるようなスタイルをとっています。なので、自分だけでクラウドサインを開発したという感覚はあまりないですね。

──須山さんは今、どのような業務を担当しておられるのでしょうか。

須山:入社してからずっと技術的負債の解消を担当しています。技術的負債とは「ソフトウェア開発の過程で、その時点で最適なソリューションを選んだ結果、将来的に追加コストが発生すること」のようなもので、負債を溜めたままにしておくと、開発効率が落ちるなどの問題が生じます。

クラウドサインも特にリリース直後は頻繁に機能追加を繰り返してきたサービスなので、時間が経つにつれて負債が溜まっていたんですね。そこで、プログラムをきれいに整理整頓して負債を解消するためのチームが和田さんを中心につくられ、僕はそのタイミングで入社したので、そちらへ配属されることになりました。

あと、クラウドサインの開発サイドには機能追加を専門にするスクラム開発チームが5つほどあり、短いもので1〜3ヶ月、長いものでは半年以上かけて機能のリリースをしています。私達はそれに合わせて新基盤を構築してそちらに載せ替えたり、仕様検討時に技術検証の協力をすることで機能開発チームと連携した業務をすることもあります。

クラウドサインもリリースされて約10年が経ちますが、フレームワークやORMなどのライブラリの見直しや、将来性を見据えたシステムの疎結合化が急務となっており、私はリリース当初から現在まで保守運用し続けてきたシステムの負債解消に取り組んでいます。

テックリードが語るクラウドサイン開発秘話

和田浩一(クラウドサイン事業本部 Product Engineering部)

──和田さんは立ち上げからクラウドサインに携わっていらっしゃるとのことなので、開発にまつわるお話もうかがいたいです。最初にクラウドサインの開発を打診されたときの率直な感想は?

和田:会社から「新しいサービスをつくる」と言われたときは「わかりました」と答えたものの、詳しく話を聞くと電子契約のサービスだという。クラウドサインはそれまでに開発したことがないタイプのアプリケーションだったうえ、私にとっては「契約」という領域を取り扱うのも初めて。そもそも電子署名の仕組みもわからなかったので、そういったことを調べることから始めました。

最初に打診されたのが2015年の1月で、それから1カ月くらいは、ずっと調べては資料をつくるという作業をしていましたね。Googleドライブに保管していた当時の資料はいまもそのまま残っていると思います。

その後、3月頃になってようやくプロトタイプをつくり始めたところ、会社から「5月中にはリリースできますか?」とカジュアルに聞かれて目が点になったこともありました。そもそもそんなスケジュールでの開発は難しいし、「私のゴールデンウィークはどうなるの?」という(笑)。

開発スピードが速かったのか遅かったのかは分かりませんが、開発プロジェクトメンバーのうち実装を行うのは基本的に私一人で、そのぶん責任感は大きかったですね。ただ、一人で作ったり壊したりの試行錯誤できる自由な開発環境ではありました。

──初期設計で重視したポイントはどんなことですか?

和田:「堅い」システムにすることですね。たとえばクラウドサイン内の書類にお客様が何らかのアクションをしたときに、その書類の「状態」はどう変化するのか。そうしたところを「状態機械」と捉えて、状態遷移を数学的に記述することで、バグが入りにくい設計にするようなことをやったりしました。また、開発言語に「Go」を採用したこともシステムの安定性に寄与したと考えています。GoはGoogleが開発した比較的新しいプログラミング言語で、当時の日本では製品開発に用いられた事例はあまりなかったと思います。私も製品の開発に使った経験はなかったものの、DockerやVagrantといった開発環境用のツールがGoで書かれていると聞き、これは使えるかもしれないな、と思っていたんです。

GoでなければPHPが選択肢の一つだったと思いますが、その場合はWebブラウザからアクセスしたときに初めてバグが見つかるという状況が防ぎにくい。Goの場合はソースコードをコンパイルする際に文法チェックがされることになるので、実行時に文法違反によるバグが出ることはありません。

──その後、クラウドサインは2015年の10月に無事リリースされます。開発者としては感慨深い瞬間だったのでは?

和田:クラウドサイン提供開始のプレスリリースが出たとき、SNSでもけっこう話題になったんです。反響を見ていると、クラウドサインの仕組みを正しく理解したうえで「こんなサービスを待ってた!」と評価してくれる人もいて。その人にかぎらず好意的な声が多かったのはうれしかったですね。

必要なのは『BTTF』のドクのような発明者

須山友太朗 (クラウドサイン事業本部 Product Engineering部 エンジニアオレンジチーム)

──クラウドサインの開発時にはエンジニアは和田さん一人だったものの、いま事業部には多くのエンジニアが在籍います。何人くらいの体制になっているのでしょう?

和田:クラウドサインだけで、業務委託も含め大体50人くらいですね(2024年8月時点)。クラウドサインをリリースしたあと、営業などのビジネスサイドは人が増えていきましたが、エンジニアは受け入れ体制が整うまであまり増やさないよう会社にお願いしていたんです。そこの体制が整って、5年前くらいからどんどん採用するようになって、今は数え切れないくらい人がいますね。

──エンジニアにとって弁護士ドットコムはどのような環境だと思いますか? ポジティブな面はもちろん、ネガティブな面もあれば率直にお聞かせください。

須山:クラウドサインの開発チームには、Googleが導入していたことで知られる20%ルールに似た「Day0(デイゼロ)」という制度があります。エンジニアの業務時間の20%を使い、定められたプロダクトロードマップ以外の開発を自発的におこなう制度で、その成果は「Day0発表会」で発表されます。すばらしい文化だと思っていますが、これは和田さんたちが始めた制度なんですよね?

和田:そう、2017年くらいから始めました。エンジニアが自発的にコードを書き、技術者として力をつけるために始めた制度です。当時は事業部内で勉強会も頻繁におこなわれていましたが、クラウドサインが急速に成長した近年は、良くも悪くも組織が大きくなった結果、技術の追求に専念するのが難しくなってきているように感じます。会社はテックカンパニーを標榜しているようですが、今のままではまだまだ遠いぞ、と発破をかけたいですね。

──エンジニア視点で見たとき、テックカンパニーをめざす会社として弁護士ドットコムはどのようなフェーズにいるとお考えですか?

和田:弊社はまだ始まってもいない、と思いますね。たとえば最先端技術を活用した事業を展開したり、全社員がフルリモート勤務してます、みたいな話は表面的なことであって、本質ではありませんし。私としては、たとえば『バック・トゥー・ザ・フューチャー』のドクのように、もっと開発に打ち込む発明者が自然に次々と出てこれることを期待しています。

──和田さんのクラウドサインは発明では?

和田:クラウドサインを開発する前から海外にはDocusignのようなサービスが存在したので、電子契約サービスは私の発明というわけではありません。技術的な特許は取っていて、私の名前も登録されているらしいけど。

須山:テックカンパニーへの道は遠いという意見には僕も同意します。和田さんのおっしゃるとおり、まだ始まってもいない。重要なのはエンジニアの数ではなく、エンジニアリング思考をもった人が増えることですよね。さらに、エンジニアだけでなく社内の誰もがテクノロジーやデータを活用できる仕組みを整える必要もある。その意味では、ほかの事業部とも連携して、会社としてのシナジーを最大化させるべきだと感じています。

──それでは最後に、仕事をしていてやりがいを感じるのはどんなときか、教えてください。

須山:僕は主にシステムの基盤整備を担当しているため、他のメンバーがどのような機能を開発しているかをすべて把握しているわけではありません。それでも、自分の仕事がサービスの使いやすさに貢献しているというフィードバックをいただくことがあります。例えば以前、検索基盤をリプレイスした際、それまで数十秒かかっていた検索時間が数秒単位に短縮されたと聞きました。

エンドユーザーから直接聞いたわけではありませんが、そういう声があると自分のやっていることにも意味があるんだと実感できてうれしかったですね。

和田:私はやっぱりいいコードが書けたなと思った時に気分がいいです。それは今も昔も変わりません。