📕
#11 Blocchainだけじゃない、LayerX インボイス開発秘話【ゲスト:ソフトウェアエンジニア中川さん】
文字起こしTranscript
松本:LayerX now!、第11回ですね。
今回は中川さんに来ていただいています。よろしくお願いします。
中川:はい、よろしくお願いします。
0:56 中川さんの経歴と入社の経緯
松本:第11回は、中川さんがなんでLayerXに来たのかななんていう話を深掘りさせていただければと思うんですけども、始める前に、簡単に中川さんの方から自己紹介をお願いしてもよろしいでしょうか?
中川:中川よしきと申します。LayerXに入社したのは去年(2020年)の9月頃ですかね。それまでは結構フリーランスエンジニアをやってたりしてました。
大学の頃からいくと、理系の大学に行って、インターンでリクルートだったりフリークアウトだったりっていうWeb企業だとかでエンジニアをしてました。エウレカって会社でもPairsをやっている会社でもインターンをしていて、そのまま新卒で入って退社後はフリーランスをやってました。前職の知り合いとして前のPodcastに出ていたサルバさんがフリーランスしている時にLayerXどう?って形で誘ってもらって、面接入った感じですね。
松本:なるほど。ちなみにサルバさんからはどんなお誘いで来たんですか?
中川:最初は、サルバさんの前職のグノシーの時代から何度か声かけてもらったりはしていたんですけど、そのときはフリーランスでどれくらいできるかなとか、一人でガツガツプロジェクトできていたので結構あれだったんですけど、ある程度アッパーが見えてくるというか、もうちょい違うことしたいなというのは、フリーランス2、3年やって思い出して、それでいいタイミングで誘ってもらったという感じですね。
松本:そもそもフリーランスになった話はこれからちょこちょこ聞いていこうとおもうんですけど、一応聞いていただいている方のために、今中川さんのやっているところとかも簡単にお話いただいてもいいですか?
中川:LayerXに入社したの自体は去年の9月頃なんですけど、その頃って入社の試験としては、ブロックチェーンの課題とか、ソリディティを使ったのイーサリアムのネットワークの課題とかやって入社したんですけど、入ってきて最初にDX事業部、の形になるものが、社内のプロジェクトとしてDXこういう風にやってみようとプロジェクトが立ち上がってて。最初からそこにアサインされてほとんどブロックチェーン触ることなくLayerXでの仕事がスタートしたって感じですね。
松本:話が違うじゃないか!とかはなかったですか(笑)
中川:いやいや。結構入社する前からこういうことやっていこうと考えてるってことは面接のときから聞いていて、確かにちょうどコロナが3、4ヶ月とか、自粛とか、電車とかほとんど電車とかも少ない感じだったので、DXとか結構熱量高く始められたっていうのはよかったですね。立ち上がりから入れたっていうのはいいタイミングだったなと自分としては思ったりします。
松本:確かに、ちょうど模索が始まっていた時期ですもんね。
中川:そこで今はDX事業部って名前になって、LayerXインボイスの方をメインで開発しているっていうのが現職の感じですかね。
4:54 中川さんの普段の動き方
松本:僕から見た中川さんは完全にもくもくとGoを書いて、オープンソース的にもコミットしてくださっているGoのパワフルな神様みたいな感じに見えるんですけど、中川さんって普段あんまり雑談的なことを見かけるのが少なくて。結構開発のときとかしてるときはそんな感じなんですか?
中川:あーどうですかね、オフィスにいるときは周りにカジュアルに話しやすい感じがあったりするんで全然ありますけど、Slackの方は確かにメインで入ったりしていないかもですね。
松本:そうですよね、僕とか、最近入った人たちは、Slack越しで見る中川さんの方が多いですからね。ちょっと寂しさも感じているところでした。LayerX now!が僕的に嬉しいのは、みんなの話をここで聞けることなんですよね。
中川:わりと事業部違うとがっつり話すとかがなかったりしますからね、人によっては。
松本:僕も中川さんと最初に1on1して以来ですからねこういう風に話すの。
中川さんってプライベートっていうか休日とかって何してるんですか?全然関係ないですけど。
中川:休日は仕事関係のことやっているのが多かったりするのと、結構ラジオとか聞くの好きで、ラジオとかPodcastとかだったりは土日に限らず聞いてたりしますね。最近出社じゃなくなったので聞く時間が作れなくなったというか、通勤がなくなると聞く時間が少なくなったりして、ちょっとランニングがてら聞くとか、風呂入りながら聞くとかで捻出しようとはしていますね。
松本:この収録の前にも、音声まわりのツールの話とかしてましたよね、すごく詳しそうだった。
中川:そうですね、結構配信のアプリっていうのは3、4年前フリーランスのときにやっていて、今もある程度流れとかは多少は見ていたりしていて。ちょうど今年のはじめに流行ったClubhouseがバックエンドで使ってるアゴラっていうwebRTCだったり、SDKだったりも何回か使ったことあったりしていますね。その頃はとにかく安い配信系で使えるSaaSがまだまだメジャーではなかったって形だったんですけど、そのころは多少触ったりしていましたね。
松本:最初のうちは安く使えるんですね。僕触ったことなかったんで簡単にしか。Clubhouseで試算してみたらClubhouseド赤字じゃないかみたいな(笑)
中川:あはは(笑)あればユーザーの爆発具合が半端ないから、あれで試算しちゃうと大変な金額になりそうですよね。まだ収益もない状態で。
松本:あと叩いたでみんな通信しあってますもんね。
中川:それやってたの2016年とか2017年だったんで、こういう配信系のアプリで使えるやつって何があるんだろうって調べるところからやっていましたね。結構オープンソース系で、RTCサーバとTRUNサーバとかあったりするんですけど。それ自前で運用していける?っていうのは結構商業的に考えると大丈夫かなっていうのがあったりしたんで。結構オープンソース系も調べたりSaaSも結構色んなところ見たりしていましたね。
松本:あそこまで低遅延系作るの大変ですよね。
中川:いやーちょっと自分で運用しろって言われたらいやあって気持ちになっちゃいますね。バックエンドサーバーとかを開発する、インフラとかを見る身としては。
松本:遅延数秒許してほしいな、みたいな気持ちになりますよね(笑)いやあグノシーでも以前作っていたので、配信系というかクイズ番組を。サービスとして。あのへんのアーキテクチャ見ても数秒遅延だからサクっと作れたけど、あれをリアルタイムにしていくの大変ですよね。
中川:ですね。その頃は配信が活気出るという、まあ確かに予兆はあるといえばあるという感じだったけれど、今のコロナで爆発した感じがありますよ。技術的にもなんだろう、みんながしうるところになっているというか。
9:53 フリーランスになった経緯からLayerXまでの話
松本:このコロナっていうのが、中川さんがLayerXに来るきっかけにもある意味なったんですね。フリーランスになったのってそもそもどんな目的だったんですか?色んな会社を見たいみたいなことだったんですか?
中川:それもあったんですけど、前職の会社がインターン含めて10何人ってところから入って4、5年やっていて。結構人数も多くなってきて、もうちょっと自分でできる領域広げたいなとか考えだして、1回フリーランスでやってみよと思った形でした。前職はインフラのチームというかSREのチームにいたので、インフラ周りだけ触っているというのはあんまり気が乗らないというか、もうちょい広くやりたいというのが自分の中で思っていたので。だんだんミドルウェアのコードとかは書いたりしていたんですけど、もうちょっとアプリケーションのコードも自分でがっつり書こうと思ったっていうのもありますね。
松本:なるほど。それでフリーランスになったタイミングでサルバから声かけられたみたいな。そのときってLayerXってどういう印象だったんですか?
中川:完全にブロックチェーンの会社ってイメージで。今みたいな事業部体系とは違う組織体系でしたし、結構コンサルだったりが表に出ていた内容だったので、そういう形で事業やってる会社なのかなって。外から見た全体像を掴めてはいなかったですね、本当にブロックチェーンって形だったので。
松本:なるほど。今だに謎の会社って思われている方も多いかもしれないですね。
中川:ですね。あと何かの実証実験を見たりしても中身がなかなか自分はそのとき想像できなかったというか、具体的な。
松本:確かに、ブロックチェーンで信託の周りをやっていこうとか、よくわからないですよね。そういわれても。それでもLayerXってどういう理由だったんですか?
中川:その頃はDX的なことをやろうとも話していましたし、ブロックチェーンでこういうプロジェクトやってますと聞いたときに、物流のこともやってます、証券のこともやってますとか色んな話が出てきていて、エンジニアもBizサイドも、みんな新しいドメインというか、のことも勉強しながらやっていくというのを聞いて、自分もそういう環境に身を置いて、結局自分もToCの関係が多かったりしたんで、ToBでビジネスのドメインが必要っていうのあんまりやったことがなかったので、そこが自分としてやってみたいなっていうモチベーションというか、開発に加えてそういうことも勉強していけるのはいいなというのは感じてましたね。
13:05 経理という未知領域に飛び出した経緯
松本:完全にド新規というか、たくさんのユーザーに喜んでもらえるものを作って、今ってすごくToBの、経理プロダクトって、まったくわからないドメインじゃないですか。最初の頃は。今ね、もしかしたらLayerXに入ろうと思っても躊躇している人の多くが「いやあ、私経理の知識ないしな」ってケースがある気がしていて。そういう人に向けてどうやってまったく未知な領域に踏み出してきたのかみたいな、中川さん的な経緯というか流れみたいなものを聞いてもいいですか?
中川:自分もLayerXインボイスを始めるまで、バックオフィスの事業ってどんなものかまったくわかっていなくて。で経理の人が何やっているかも正直恥ずかしながら全然わかっていなかったのが今になって感じることで。結構そういうエンジニアの人って多いのかなって感じていたりするんですけど。でも社内でも使って、使ってもらったりしているんで、そういう使っているユーザーの声聞きながら、わたじさんだったりあっきーさんだったりが使っているので、そういう声を聞きながらやっていくのが楽しかったというのは1個ありますね。すげー便利って思われたいというのはあったので。あとチームメンバーに元経理の人とかもいたので、そこから聞けたというのも大きくて。あとは自分で簿記の勉強もやりつつですけど、実際の経理業務と学問的な簿記は違っていたりもするので。でも結局なんか開発しながら学んでいったっていうのが一番大きいかもしれないですね今考えると。どういうデータがあってどういう処理をこのサービス上で行っていて、最終的にどういうデータ形式で保存するんだっけっていうのを考えながら学んでいったって感じがありますね。
松本:エンジニアって実際にソースコードに実際に落としながら業務をより深く理解するみたいな節がありますよね。オブジェクトになった瞬間に仕分けについて理解した!みたいな。
中川:そうですね(笑)自分でデータモデル考えて、あ、こういうことなんだって理解できることはあります。結構他の、MDMとかも、やっぱり知らない状態からスタートして、あれだけみんな専門家みたいな知識があるっていうのは、エンジニアとして作りながら学べるというのは1個アドバンテージにはなるのかなって思いますよね。考えならが作るっていうのは。
松本:学ぶ余力がある会社っていうのも面白いですよね。0からみんなやっているから、学ばなきゃいけないから、ある程度そういうのを受け入れる土壌があるというか。あとToBのいいところは使う人の顔がすぐ見れるというのがいいですね。
中川:そうですね。もうすぐフィードバックがもらえるというか。向こうも仕事で使っているものなので、妥協したフィードバックではなく、完全にこういうことがしたいんですっていうのが明確に、わかるっていうのはありますね。
松本:失敗すればめちゃくちゃ迷惑しますからね。喜びも伝わってきますもんね。これ便利ですね!みたいな。
中川:そうですね。やっぱり形になってフィードバックもらえてる、今契約している会社さんとかもすごく丁寧にフィードバックもらえているので、それもよかったなって思いますね。始めた当初からちゃんとユーザーがいてフィードバックもらえていたっていうのはすごく恵まれてましたね。
松本:ビジネスサイドの噛み合わせがすごくいいですよね。福島さん、さこさん始め。お客さんを最初から連れてきてくれるというか。テスト機能をすぐに検証するお客さんがいるというか。
中川:ですね。
17:21 LayerXの開発で面白いところ
松本:それ以外に今LayerXで開発していて、これ面白いなってものってありますか?技術的な部分とか。
中川:技術的な部分だと、今やっているチームのメンバー的にいくと、みんなフルスタックというかサーバもやるしフロントもやるしみたいな体制ででできるのって結構スピード感あって楽しいなって思ったりしますね。待ちの作業がほとんどない状態で毎日ずっと回っているって感じがあるので。
松本:すごく短距離走みたいなことをずっとやっていますよね。全速力で走ってる。
中川:ですね(笑)
松本:それって、みんな自分で完結して作れるからっていうのが一番デカいんですかね?
中川:そうですね、あとは仕様の段階で、ある程度この業務をこの程度やるよねみたいなことをある程度決めて、そこから機能の開発に入れるとかっていうのは大きいのかなと思いますね。ToCとかだと一旦こういう機能やりますってなると一回デザインを挟んで、デザインでこういうのやるよねと揃えて、そのあと開発に入っていくみたいなプロセスがあったりするんですけど、いまいまそういうことあんまりやっていなくて。どうやったら使いやすいUIでこの機能できるよねっていうのを最初っから入ってるっていうのはありますね。
松本:ある意味デザインシステムっていうんですかね、引かれているデザインのレールがよくできているっていうのもあるんですかね。
中川:そうですね、あとはちゃんと機能単位でどういう業務を達成させるのにはどういう機能が必要なのかっていうのがある程度明確になってきているっていうのがあるのかなと思います。
松本:そこらへんはみんなで学んできた成果みたいな感じでいいですね。知らないとそういうことできないですからね。
中川:できないですね(笑)いきなり入って、こういう業務やりたいって言われても。
19:45 中川さんのミッションと、一緒に働きたい人
松本:ちなみに中川さんは今DX事業部の中も色々ミッションがあるじゃないですか。次回の第12回にもつなげたくて。どんなミッション持っているのかなというのを軽くお話して、一旦前半を締めたいなと思うんですけども。
中川:チーム内では、最初から入っていたのが大きいと思うんですけど、ある程度どういうコードがどこらへんにどういう感じであるとかっていうのがある程度頭に入っているので、そこ含めてどうやって開発進めていこうかっていうのを考えていたり、あとは自分で作った機能とかが多かったりするので、最初に仮でエラーのアラート出たら自分で見に行ってとか。結構明確な役割というか、全体見て動いているのが今ですね。
松本:結構な領域、基本的な設計とか、どういうライブラリー使おうかとか、中川さんのエッセンスがめっちゃ入っている感がありますもんね、どのプロダクトも。
中川:そうですね、最初のベース作ったところが大きいので。こういう形で開発開始しようって最初決めたっていうのはありますね。
松本:MDMでもその恩恵をすごい感じているところです。中川プロダクトが入ってる!みたいな感じですね(笑)その話は次回に技術的な深掘りでさせていただきたいんですけど、一旦第11回このへんにしたくてですね。
で今中川さんの周りで採用とかって結構走っていると思うんですよ。特にこのへん、こういう人に来てほしいとかあれば宣伝的に伺ってもよろしいですか?
中川:もうがっつり今動いている以外のプロダクトの事業もゆくゆく必要にはなってくると思うので、さっき話した業務の知識とかなくても、キャッチアップしながらかつコードを書けるというのを実践していける環境があるので、そういうのをやりたい人には向いているのかなと思います。自分がアプリケーションのロジックになる部分考えながら作っていくというのが楽しかったりするので。業務知識最初はキャッチアップが大変な面もあったりはするんですけど、キャッチアップしながら作っていける人が入ってもらえるとすごく嬉しいなというのはありますね。
松本:明らかに市場でもバリューアップしますしね。エンジニアリング×これ、みたいな人。なるほどです。
では一旦ね、前半は中川さんのどうしてLayerXに来たのかみたいな話を中心に伺ってきました。って感じでまた次回今度はですね、開発周りの話を聞いていきたいと思います。中川さんありがとうございました。
中川:ありがとうございました。