金子:僕は便利でした(笑)。原価計算が多かったのですが、原価計算は部署毎にやっていることが全然違ったりするので、汎用性はあまりないかもしれません。卜部:原価計算に関して語っていいですよ。原価計算は独特で色々な計算方法があって、なかなか痺れる世界でした。卜部:最初に入った会社がRailsの会社で、転職して今に至る...と。転職を検討していた際、技術顧問の松田さんにご紹介いただいたのがご縁です。ここだったら自分の経験とかスキルセットでやれることがあるなと思って、入社しました。卜部:確かに、経理のご経験があって、現在は会計ソフトの開発だと、一周して近い所に戻ってきた感はありますね。マネーフォワードに入社して、「思っていたのと違う」「思っていた通りだ」とかあります?金子:思っていた通りだなと思ったのは、経理業務ってWebとあまり相性は良くないなぁと感じていたことです。その前提でやるのは、想像していた通り痺れる部分がありますね。後は、想定以上にユーザーの方が、いろんなサービスを総合的に利用してくださっていることです。卜部:バックオフィスご経験者の意見として、当社プロダクトはこの辺がまだまだだなぁと言うのってありますか?金子:『MFクラウド会計』だと、一度どこかで入力したデータは、その後手入力しなくていいのは、すごく画期的だって思いますし、もっと色んな所で広まればいいなって。感じるのは、規模が大きくなると経理ってバッチとかの世界になっていくんですよね。そこをWebでどうしていくかは、自分の中でもまだ答えが出せていないですし、そこでお客様にご不便をかける可能性もあるなぁと感じています。それを一瞬で終わるようにできるかって言うと、それは未知ですよね。金子:Webの良さって、レスポンスが早いことだと思うんですよ。そこをさらに解消するフェーズじゃないかなって感じています。卜部:あらかじめ作っておく...とかですかね?金子:Lambdaアーキテクチャみたいに、集計する計算と直近のデータを分けて合算して、即座に返してあげるような割とリアルタイムに近い考え方があると思います。いうのを取り入れるか、実践するなどを検討していきたいと考えています。卜部:当社サービスだと、〆処理の時期などはわかる部分もあると思うので、あらかじめ計算しておいてあげる、とかね。序盤は会計の話になりつつありますが、マネーフォワードでやってきたのは、『MFクラウド会計・確定申告』の開発が主である、ということですよね。新機能開発や、会社の中では割と歴史があるサービスなのでコードの改修などをやったり、共通部門タスクとして、『MFクラウドシリーズ』で利用しているライブラリのメンテナンスにも時間を使っています。卜部:それって何か別種の難しさがある感じですか?金子:これは別種の難しさがあります。変更頻度が高く、今となっては共通化すべきではなかったと思われるライブラリがあったり、そのためにそのライブラリを変更する度に各サービスへの影響を考慮しないといけない部分もあるので、そういう点は難易度高いなぁと思います。卜部:ライブラリに関しては、どこかのプロダクトで使っていたものを皆で使ってねという風に広めていく感じなのですか?金子:経緯として、『MFクラウド会計』が最初にリリースされ、そこをもとにいろいろなサービスが開発されています。それを切り出した時に、共通で使うライブラリにサービス依存のコードが含まれていることもあります。いう事象が発生することもあって割と複雑なんですよね。卜部:うまく切って持って行ったんだけど、あまりうまく持って行けず...という状況にもなるってことですかね。そこを整理していると。整理する道具とかも検討しています。テストを書けば良いというシンプルな話ではない卜部:では、今やっていることで大変なこと、やりがいについて教えてください。金子:ひとつのRailsアプリをいじっていれば良いわけではないので、そういう難しさもありますね。さっきお話したように影響範囲の見極めが難しいとただ言っているだけではすすまないので、最近Rubyに実装されたCoverage.peek_resultなどが実践で使えないかなぁと試したり、足場を築いていかなくちゃいけないなって言う難しさはあります。やりがいだと、今コストをかけて整理することで今後の機能追加がやりやすくなる部分もあるので、それがうまくいくよう整理するのは非常に価値があると思っています。卜部:少しイジワルな質問なんですけど、カバレッジみてるって話があったんですけど、テストをしていれば影響範囲ってわかるはずなんですよね。その辺りってどうなんでしょ?金子:どうしてもアプリケーションのカバレッジが低くて、フィーチャーテストで賄おうとしていた時期があったんです。そんな背景があり、テストが通っているから安心だとは言い切れない部分はあるんですよね。そこの状況も改善していきたいと。一方で、もう少し手を動かす意味では、実アプリで動かしてログを取るとか、割と地道な活動をしなければいけないなって思っています。ランタイムの方でなんとかしなくちゃっていう印象もあります。テストを書けばそれで良いんだみたいなシンプルな話ではないんですね。ソフトウェアが複雑で辛い話とかありますか?金子:複数のライブラリで構成されていて、一部がバグっていてその修正方法によって他のライブラリも修正が必要とか、修正方針を決めることが困難な状況があったりして(笑)。卜部:僕が思っていたのは、ロジックの複雑さもなんだけど、アプリケーションそのもので、例えば会計処理が複雑だっていう話もあるじゃないですか。いう所でカバレッジがないのかなって思っていました。そこはきちんとテストされている?金子:業務固有の所は、それなりにテストがあるんですよね。難しいのは、複数のサービスで共有しているデータで、あるサービスにとっては想定外のデータパターンが発生すると、そのサービスの画面表示に影響がある...みたいなバグがあって、そういう難しさとは今後も付き合っていく必要があると感じています。関心のある業務領域は、ちゃんとテストが書かれているんですかね。金子:割とそういうイメージです。リアルタイム性を損なわず、経理業務ができる世界を実現したい卜部:今後やりたいことはどんなことでしょう?金子:大企業の経理システムってバッチを基準にしたような月次の計算ロジックが色々あるんですが、年間の決算の数字をすぐ出せるとか、リアルタイム性を損なわずに今までの経理業務ができる世界にしていきたいですね。できることがあるとすれば、そのソフトによってユーザーの業務が優位性に立てる場合があると思っています。いう所をやる機会があればやりたいですね。卜部:『MFクラウド生産管理』みたいな...金子:大変そうですね(笑)。卜部:それこそ、今の会計はある程度は決算の次に決算を出すっていう所で、そこから逆算している部分が多少あると思っています。逆にその「決算がいつでも出せます」となると崩壊しちゃう部分もありそうですね。金子:会計には守りと攻めがあると考えています。守りは、法律上出さなくちゃいけないっていうルールがいっぱいあって、そこに従う必要があります。攻めは、その会社でのリアルタイムな数字が色々とることができて、売れている製品、利益率の高い製品・低い製品...みたいなことが真実として出てくるのは攻めの会計だと思っています。そんな側面に移行できると経理業務自体が変わって面白いなって、学生時代から考えていました。経理以外の仕事は考えていなかった卜部:学生時代の話に戻りますが、法学部だったのに商学部に移った話を聞いても良いですか?金子:漠然と、高校生の時は社会を動かしているのは法律だと思っていたんですよ。法律を勉強すれば、社会がわかるんじゃないかと思って法学部にしたんですが、如何せん法律はどうしても現実に対する答えが早くは出ないことに気づき...まぁ簡単に変わったら困りますよね(笑)。一方で商学部では”営利目的の企業という存在が、物事を解決する形でサービスを提供している様”を勉強しているのをみて面白そうだなぁと思い、転学したんです。卜部:では、その流れで会計の勉強を?金子:そうですね。会計システムはすごく面白くて、会計の数字を見ながら企業のことを勉強をするのはすごく面白かったですし、分析対象として興味深かったです。決算書とかって、どの会社も何かしらで作るので、そこからいろんな会社の情報を見ることができるのは楽しいですね。青木:今でも決算書を読むのは好きですか?金子:粉飾決算とか起きたら、大体見ます。あれはバグの一種だと思っていて。バグの情報読むのって興味深いじゃないですか。