ベテランエンジニア・久保が語る、プロダクトの進化とこれからのfreeeで働くことの楽しさ
2017年、freeeに入社した久保。さまざまなチームに所属し、その都度必要とされるアプローチを行いながら『freee会計』の成長を支えてきました。ここでは『freee会計』の進化、働く環境、統合型経営プラットフォームを目指す上でこれから待っているチャレンジについて語ります。
入社 当時の状況と『freee会計』の大まかな進化
(イベントに登壇中の久保)
2017年7月にfreeeに入社して以降、一貫して『freee会計』の開発に携わってきた久保。様々なチームに所属しながらプロダクトの進化を担ってきました。
入社当時を振り返ります。
「前職はバックエンドエンジニアでしたが、Railsも触ったことがない状態で入社しました。
freeeは今でこそ開発文化を言語化していて、その中の一つに『何でもやれる、何でもやる』がありますが、入社当時からその片鱗はあり、フロントエンドもバックエンドも本当に必要なことはなんでもやる必要がありました。要はフルスタックエンジニアを目指すというものです。
振り返ると、技術的にはずいぶん鍛えられました」
入社当時、Railsの書き方が複雑で久保の心配の種でした。しかしそこにはスタートアップならではの理由がありました。
「プログラムは基本的には上から順に実行されていくものですが、当時はコールバック(ある関数の完了をトリガーに別の処理をさせる手法)が多用されていたせいで、かなり動きが複雑でした。どこで何が起きているのかをパッと見て理解するのが難しく、障害が発生したとき大変そうだなと思いました。
ただ、これはサボっていたわけではありません。当時のfreeeはとにかく新しい機 能をリリースすることを優先し、スピード感を持ってプロダクトを進化させることだけに注力していたのです。会社のフェーズ的にはしょうがないし、今考えても正しいやり方だったと思います。
エラーや障害が起きたらデータパッチを当てる方式で、即対応していました。応急処置みたいなものですね」
スピード感を優先して開発された『freee会計』。“機能の充実”と“ターゲットの拡大”がプロダクトの進化を支える両輪でした。
「2012年のリリース時はスモールビジネスのみをターゲットにしていて、経理部門が使うような機能しかありませんでした。それから経費精算など、機能をどんどん増やすことで、少しづつ従業員が使えるシステムに進化し、徐々に従業員数の多い法人にも使っていただけるようになりました。
私が入社した2017年は、ちょうどエンタープライズプランができた頃で、これから上場企業向けの機能も充実させていくぞというタイミングでした。それからさらに細かい機能を充実させ、他のプロダクトや銀行・クレジットカード・ECサイトなどとの連携を多く実現しました。
現在ではスモールビジネスをメインのターゲットにしながらも、ありとあらゆる規模のお客様に使っていただけるプロダクトになっています」
エンタープライズプランの販売拡大と、2019年の上場はプロダクトにも大きな影響を与えました。結果として『品質開発』チームが誕生し、久保はジャーマネ(※)となりました。
「お客様の裾野が拡大すると『データに不整合が起こるのは何たることだ!』のような意見をたくさんいただくよ うになりました。これまでバグには応急処置で対応してきたけれど、それだけでは限界が来たのです。※マネージャーのこと。freeeでは単にメンバーの上に立つ者のことではなく、“タレント”であるfreeeのメンバーを叱咤激励し、成長・活躍をサポートする役割だと考え、ジャーマネと呼んでいる。
そこで本腰を入れて品質向上の取り組みを行うために、品質開発チームが誕生しました。freeeが成長してきたからこそ必要になりました」
品質開発チームの役割とリファクタリングの重要性
品質開発チームの取り組みについて語ります。
「債券・債務・消し込みなど、『freee会計』の機能におけるデータの正誤が起こらないようにする取り組みや機能拡張のアプローチを行っています。また、さらに根本的な権限周りの仕様の変更など、品質の根幹に関わる部分の開発・改善を行っています。
開発の流れとしては、ヒアリングなどを参考にして、PdMと一緒に改善・開発が必要な部分を見出し、優先度を考え、どのように実現するか判断し、要件が決まったら実際に手を動かして開発しています」
主な改善方法に、リファクタリングがあります。
「リファクタリングとは、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理することを指します。主な目的は、パフォーマンスの向上とソースコードの理解や修正を簡単にすることですね。
小さな事業所はデータ量が少ないのでバックエンドのフォーマットをそこまで気にする必要はなかったのですが、大量のデータを持ってるお客様が増えてきたので、パフォーマンスの課題にチャレンジする必要が生まれたのです。
これは品質開発チームだけでなく、インフラチームを含めた全社での取り組みになりました」
固定資産機能のリファクタリングは特に大きな成果を上げたものの一つです。
「例えばパソコンなど、金額のある程度大きなものを購入した場合は減価償却をする必要があり、『freee会計』に登録すると自動的に月毎の仕訳を作成し、償却が終わるまで管理できます。昔からこの機能はありましたが、品質が良くなく、問い合わせが多かった。実は『セールスチームが固定資産機能を売りたがっていない』という話も聞いたことがあり……それはまずいぞと、本気で動き始めました。
基本的に固定資産を持ってないお客様はほぼいないので、その部分だけ他社のプロダクトを使ってfreeeにデータを取り込むこともできるのですが、freeeは統合型経営プラットフォームを目指しており『freeeのプロダクトを使えばやりたいことが全部実現する状態』を目指しているので、看過できる問題ではなかったんです。
それから1年ぐらいかけてリファクタリングを行いました。膨大なデータが蓄積されていたのですが、裏側のデータの持ち方から全てを変えていったんです。
2023年現在、固定資産は『freee会計』で当たり前に使える機能となっています。改善がきっかけで契約してくれたお客様もいて、その話を聞いた時は感慨深かったです」
リファクタリングは、技術的にもビジネス的にも大切だといいます。
「ソースコードの理解や修正を簡単にすることは、新規機能開発のス ケジュールを早めることにつながります。PdMが新しい要件を持ってきたときに、リリースまでの目処も立ちやすいです。
またリリース後のバグの件数も減り、不具合が発生したときの原因究明も楽になります。
新機能の要望や品質改善のリクエストはたくさんいただくので、お客様の喜びにも繋がっていると信じています。
反対に新規機能開発のペースが鈍化すると、他のサービスとfreeeのプロダクトを併用する場合が多くなってしまいます。お客様に価値を届け、freeeを使い続けていただくためにも、効果的なリファクタリングを行うことはビジネス的にも重要なのです」
freeeの開発環境の変化と、雰囲気
入社当時と2023年現在の開発環境の変化について語ります。
「入社当時は、基本的には当時のプロダクト開発本部長とPdMが何を作るかについて全て考えて、そこから降りてくる要件に沿って、エンジニア内で担当を分割しながら開発していました。
しかしプロダクトの成長にともなって、その方式では仕事が回らなくなったので、チーム内で意思決定して開発するようになりました。
2023年現在では、ボトムアップで何を作るか、どう作るかを議論して要件を決め、リリースまで終わらせています。freeeには『マジ価値(ユーザーにとって本質的な価値があると自信を持って言えること)』なことであれば、チームに裁量があり、業務を進めていける良い文化が根付い ています」
新規メンバーに対するフォローアップ体制も整っていると言います。
「サービス自体が大きいので、入ってすぐに必要なこと全てをキャッチアップできるとは考えていません。新しく入社してきた方にはメンターがつき、わからないことはなんでも質問してもらっています。またメンターでもわからない場合は、Slackに投げれば誰かしらがそれに対して返答してくれます。
これはfreeeの開発文化で『世話を焼いていくスタイル』と言語化されており、チーム内外を問わず周囲を自分の知見で助けること。レビューすること。システムor人間のアラートに疾風迅雷のごとく反応することと定めています」
Slackでの雰囲気、コミュニケーションの取りやすさについて語ります。
「過去に誰かがつまづいたところは、Slack内を検索すると出てきます。膨大な知見の蓄積をもとに、みんなで調べて助け合っている環境ですね。
誰かの疑問に対して『そんなのもわからないの?』なんて意見は聞いたことがありません。わからないのは当たり前という前提で働いています。
また現在は社内の人数も増えてきたので、Slack内で誰がどこの部屋にいるのか知らなくても相談できるように、絵文字を付けるようにしています。例えばPsirtの担当者の名前がわからなくても、Psirtの絵文字をつければ相談内容がPsirt部屋に流れるように仕組み化されています。会社の規模が大きくなっても働きやすい環境づくりにはこだわりを持っていて、達成できていると思います」
これからfreeeに入社する人は、技術的なことの他にも関心を持って欲しいと言います。
「プロダクトがかなり増えてきたので、技術的なチャレンジの幅は広がったと思います。ただ技術的な関心だけではなく、お客様がfreeeのサービスを使うことでどういうふうに業務が良くなるのか——それに関心を持って、お客様体験をさらに良くしたいと考えている方に来ていただきたいですね。やっぱり自分が関わった機能をたくさん使ってくれてたら嬉しいじゃないですか。
また何でも興味を持って、閉じこもらずにチャレンジして欲しいです。Slackではいろいろな情報が流れてくるので、アンテナを立てて、新しい機能や『freee会計』以外のプロダクトの状況などもキャッチアップして、仕事やコミュニケーションに生かして欲しいです。
freeeではエンジニア同士が自分のチームにこだわらず、横で繋がっているので、そこを楽しんでもらえる人だと良いですね」
統合型経営プラットフォームの実現に向けて
上場を達成し、数多くのプロダクトをリリースしているfreee。これからfreeeに入社するエンジニアが業務として期待できる面白さについて語ります。
「統合型経営プラットフォームを実現するには、これからサービス同士を切り分け、シームレスに連携させる必要があります。
今は『freee会計』にいろんな機能がくっついていて、何かを実行するたびに『freee会計』を呼び出している状況なんですね。まずは『freee会計』から一つ一つの機能を引き剥がして分割していかないといけません。
これはけっこう難易度が高くて、データの不整合な ど、パフォーマンス関連の問題がいろいろ出てくると予想されます。そこで重大なインシデントになるような不整合を起こさないのはもちろん、パフォーマンスも落とさずに、お客様がストレスなくプロダクトを使える状況を担保していきたいです。
なので、この難しさを楽しめる人に入ってきていただきたいですね」
切り離した後、シームレスに連携させる部分にも業務の楽しさがあると言います。
「実は統合型のサービスを作るというのはfreeeだけがやってることではなく、世の中にはそういうプロダクトはたくさんあります。
その上でお客様に『freeeのこれが良いんだよね』『ここが便利なんだよね』って言ってもらえるような統合の仕方を目指しています。
お客様から見た使い勝手、エンジニアから見たシステムの連携方法、どの切り口で見ても使いやすく開発しやすい状態に持っていくことが求められています。多面的にものごとを考え、freeeのプロダクトを次のフェーズに持っていくチャレンジがこれから待っているので、ワクワクしています」
2023年12月現在、久保は債権債務開発チームで責任者を担当しています。これからの目標を語ります。
「個人的な目標は、ずっと手を動かしていたいということですね。マネジメントだけではなく、いちエンジニアとしてコードを書いていたいです。また統合型経営プラットフォームの構築に大きく貢献できるエンジニアでありたいなと思います。
俯瞰すると、freeeって、すでに何か一つ良くするだけで日本の生産性がめちゃくちゃ上がるレベルのプロダクトになっているんですよ。レスポンスを1秒速くするだけで、プロセスを1つ省略できるだけで、freeeのプロダクトを使っている全てのお客様が、その分の時間を別のことに割けるというポジティブな影響があるんです。
お客様全員の1秒を総量で考えると、日本全体で数年分を節約しているような改善になるんです。
そんなプロダクトの開発に関わっているので、これからも日本の生産性を上げるチャレンジをし続けたいと考えています」
***お知らせ***
freeeは「スモールビジネスを、世界の主役に。」をミッションに掲げ、統合型経営プラットフォームを開発・提供し、だれもが自由に自然体で経営できる環境をつくっていきます。 そのために日本中にサービスを届けきれるよう、仲間を積極的に募集していますので、ご興味をお持ちくださる方はぜひ下記よりご連絡ください!
▽募集中の求人を確認したい方はこちら
https://jobs.freee.co.jp/entry/career/
▽「まずカジュアル面談」も歓迎! ポジションサーチ含め面談をご希望の方はこちら
https://jobs.freee.co.jp/entry/casual-interview/
皆様からのご連絡を心よりお待ちしております!