Elm・Rust・Scala。技術や領域を横断して活躍できるHandii開発チームの"尖り方"|エンジニア路川さんインタビュー
こんにちは!
株式会社Handii開発チームです!
2020年8月にpaild(ペイルド)というプロダクトを正式ローンチし、現在、9人のエンジニアがいるこのチーム。
今回は、ローンチ直後の2020年に入社したエンジニア路川さんにインタビューした内容をご紹介します!
インタビュイーのプロフィール
路川一弥さん
専門学校ではビッグデータを専攻し、SIerとして4年ほど経験を積んだ後、2020年5月よりHandiiにジョイン。現在ではpaildのフロントエンドとバックエンドを担当。
Elm、Rust、Scala・・・技術的に尖ったHandiiに、おもしろさを感じた
――入社して1年以上経ちましたが、路川さんはどのような経緯でHandiiを知ったんでしょうか?
路川)はじめは業務委託としてHandiiの仕事を受けたのが、きっかけです。前々職のCTOが独立した会社に入社していたんですが、その会社でHandiiの仕事を受託したんです。その時は、業務側のシステムの、フロントエンドを担当しました。
ーー業務側のシステムといいますと?
路川)paildは法人カードのプロダクトで、使っていただく企業には利用開始時に「法人の本人確認」というプロセスを経てもらう必要があるんです。この「法人の本人確認」をKYCと呼んでいるのですが、KYCの審査するためのオペレーションシステムが必要になります。
ーーそのシステムのフロントエンドを担当していたのですね。
路川)はい。そこから3ヶ月で、Handiiに入社することになりました。
――Handiiに関わってみてどうでしたか?
路川)Handiiは、技術的に尖っていて、面白そうだという印象がありました。ぼくが担当したKYCのフロントエンドはElmでできていて、個人的にもElmに触ってみたいなという気持ちがあって。それで実際にやってみて、楽しかったんです。そのほかにはRustやScalaでの開発もやっていますし。
――入社には思いきりや勇気は必要でしたか?ギャップなどはありませんでしたか?
路川)特にそういうのはなく、スルーっと入った気がします。入ってみて思ったのは、タフな議論が、わりと盛んに行われているなというところでしょうか。
ーータフな議論ですか?
路川)はい。サービスに真剣に向き合っているということだと思いますが、同時に、チームが本音で話せているということでもあると思います。いいことなんじゃないかなと思っています。複数の色々な意見があるのは当たり前だし、結果的にそうなるんだろうな、と。
金融サービスとしてのpaildの信頼性を支える“テストの多さ”
――Handiiに入って何か驚いたことはありますか?
路川)テストがひたすら多いことですかね。ユニットテスト(単体テスト)というのがあるのですが、関数一つ一つに対してテストをしていて、その後もシナリオテストをして....という感じで延々とテストしていることが多いです。
――どうしてそのようにテストが多いのでしょう?
路川)安全のためです。テストしないと想定外のバグが起きてしまう可能性があるので。
――テストを重ねることで、サービスの質を保つ・サービスの安全に提供し続けるという意味があるがあるんでしょうか。
路川)そうですね。テストが多いのは金融サービスであるpaildの特性ではあるかもしれないですね。お金を扱いますから。
でも、エンジニア自身が安心するためというのもあるかもしれないです(笑)たくさんテストすると「これだけやったし、大丈夫だろ」と思えて少しは安心できます。逆にたくさんテスト書いて一発で通るとそれはそれで嫌だなという気持ちにもなります。
――嫌なんですか?
路川)バグ踏まないと怖いなって。潜んでる何かを見つけられていないんじゃないかって思うんです。人間は絶対にミスを犯すので。むしろテストで見つかった方が安心です。
フロントやサーバーサイド、インフラなどの垣根を越えてコミット。複数の言語を巧みに使い分ける路川さん
――それでは、現在の路川さんの業務について教えてください。今はどういうお仕事をされているんですか?
路川)paildのサーバー側とフロント側です。
――それは・・・サービスで見えている範囲では、paildほぼ全てでは?!
路川)いえいえ。見た目はそうかもしれませんが、実際にはそんなことはありません。paildは深いですからね。
――深い、といいますと?
路川)プロセッシングだったり、KYCだったりというような部分があるので。
――paildはアプリ(対ユーザー向けの画面やAPI)、KYC、プロセッシング(決済)の3つに分けられるとよく社内で言われますよね。この中だと路川さんの守備範囲としてはザ・paildの部分(ユーザー向けのところ)をやっているということですか?
---- 引用(paildのシステム全体について語る部分) ----
森)Handiiは「対ユーザー向けの画面やAPI」、「決済(プロセッサー)」、「社内システム(KYC)」という大きな三つのドメインがあって、システム上はかなり独立していて、そのことは良いことなんです。が、エンジニアのメンバーには、これらをもっと統一的に見られるようになってほしいと思っていて。
「あの場所になにかある!」となった時、「全員でいけ!」とか「俺行ってくるわ!」というふうに、機動的に、自律的に、柔軟な動きができるようになることで、フェーズ2に行けるんじゃないか、非連続的な変化を起こせるんじゃないかという気がしています。
ーーなるほど。
森)髙橋の言うように、技術的には枠組みを超えながら、横断的にやっていくことができるようになってきました。次に目指すのは、ドメインを横断したメンバーの動きです。
髙橋)ドメインごとに歴史もあるし、難しいは難しいんです。でもそこが橋渡しできるようになると、全然違うと僕も思います。”この領域はある人しか見られない”という状態では、リスクもありますし、タスクの進みも結果として遅くなります。ここが改善できれば、というのが今の僕らの現在地であり、課題ですかね。
路川)そうですね。paildアプリのフロント側とサーバー側、KYCのフロント側の一部をやっています。
――フロントとサーバーの割合はどのような感じですか?
路川)現在はあまり垣根がないですね。以前はフロント側、サーバー側とで分かれていたんですけど、今はみんなどこでも触るしという感じになってきています。
――みちかわさんが入社してからの一年の中で変化していったのですか?
路川)昨年の8月に入社して、ちょうど一年くらい経つのでその中での変化ですかね。この一年くらいで、領域を分けるのではなく、みんなで関わっていくという風に変わっていきました。
――路川さんとしてはその変化はいかがですか?
路川)楽しいです。垣根があるのは良くないと思うので、みんなで押し並べて話せてとても良いと思います。最初はKYCのフロントをやっていましたが、だんだんとチームが変化していって、徐々に領域が広がっていっています。
――フロントとサーバーサイドは結構違いますか?
路川)そうですね。フロントは見栄えとか、どう見せるかなどの見た目を考えなくてはならないので、デザインとかその辺を考える必要が出てきます。サーバーサイドだとまず言語が違いますし、データベースが関わったりとか、ユーザーごとのリソースへのアクセス制御を考慮しなければならないです。セキュリティの担保はサーバーサイドが大事ですね。
――フロントとサーバーサイドの言語はすべて違うのですか?
路川)違います。KYCのサーバーサイドはScala、フロントエンドはElmです。paildのサーバーサイドはRust、フロントエンドはTypeScriptでフレームワークはReactを使っています。
――その複数の言語を路川さんは行き来しているということですよね?
路川)行き来はしてますが、根本的な考え方はあまり変わらないので、言語によってどう表現するかというイメージです。
――言語によって系統が近いとかありますか?
路川)結構ありますね。
――それで言うと、ElmとTypeScript近いのですか?
路川)近くはないですね、むしろ結構遠い・・・
――ええ!よくやりますね!自分でもよくやるな!と思いません?
路川)いやー、でもみんな普通なんじゃないかなと思ってます。
――やっていて楽しいですか?
路川)楽しいです。ぼくはデータをいじっている方が楽しいので、見た目の部分を考えたりしているとイライラしちゃったりします。よくいうSafariでみるとこうなるけど、Firefoxでみるとこうなったりするよとかいうのはあぁ面倒くさい!という気持ちになりますね。サーバーサイドをいじるのは結構楽しいです。
高い当事者意識と情報アンテナ
――路川さんにびっくりしたことがあって。育休明けでわからないことや疑問が多かった時に困ってつぶやいたりすると、路川さんがすごいスピードで拾ってくれて、教えてくれてすごく感動した記憶があります。そういうのって何か心がけていたりするんですか?
路川)リモートなので常に情報は拾っておきたいなというのがあって、そのためにアンテナは高くしています。Slackの通知があったらすぐに見るように心がけています。
――お客様からの問い合わせにもすぐ対応してますよね!
路川)自社で作っているものなので、バグだったら直したいし、質問があったら答えたいという思いと、オペレーションや顧客対応の人が困ってないかな、迷惑かかってないかなという2つの思いがあります。
――この一年で、プロダクトをローンチしてお客様の声がよく聞こえるようになりましたが、そういった声を聞いて、いかがですか?
路川)ネガティブな声があると、やっぱり少しはダメージを受けます。 仕様に関わる部分は仕方がないと思えますけど、返金処理に関わる部分やバグとかは本当すみませんって申し訳なくなります。それに日々対応しているオペレーションやセールスのメンバーをみるのもつらいです。本当全方位にすみませんという思いです。
――すごく当事者意識が高いですよね。逆に、感謝の意見や新しい機能がついて嬉しいなどのポジティブな意見はどうですか?
路川)嬉しいです!でも、意見としては見るけど、あんまり真に受けたりはしないですね。エンジニアチームだけの話でもないし、paildとして褒められているならそれでいいかなって思います。
強い責任感と高い技術力をもつエンジニアチーム / 整ってきたエンジニアのチーム体制
――Handiiに入社して一年経ちますが、どうですか?
路川)最初よりは、プロダクト的な意味でも安定してきたと思います。入社してすぐは、バグよりも新しい機能だ!という感じでしたし、プロダクトチームという体制もありませんでした。混沌した時期を経て体制がまとまってきた気がします。
――今はやりやすくなりましたか?
路川)それは変わらずやりやすいと思います。自分があまり気にしないっていうのもありますけど、みんなが気持ちよく働けていたらそれでいいかなと思います。
――これからHandiiでやりたいことはありますか?
路川)基本的に技術が好きなので、新しい技術をやっていきたいです。最近あまり、新しい言語などを追えていないんですが、とにかく触ったことないものを触ってみたいという気持ちがあるタイプです。
――そういう意味で言うと入社当初に比べると、領域が広がっているのは嬉しいものですか?
路川)そうですね。Rustは業務で使うのが初めてだったので楽しかったです。Reactは前職でも使っていたのですが、いろんな書き方があるなぁと学ぶところがありました。デザインパターンや、データの持ち方などの部分が前職と違ったので、勉強になりましたね。知見も多かったです。
――路川さんから見てHandiiのエンジニアチームはどういう人が多いですか?
路川)なんて言ったらいいんだろう...とにかく責任感が強いですね。やると言ったらちゃんとやるし、技術力が高い。
――前職はチームというより個人での業務が多かったと聞いていますが、Handiiに来て、チームで開発をするというのを経験して、どうですか?
路川)楽しいです。いろんな意見が出てきて、ああなるほどなってなりますね。面白いな、学びがあるな、と。
Handiiに来てほしいエンジニアとは
――これからもエンジニアチームにはどんどん新しい人が入ってくると思いますが、どういう人に入ってきて欲しいですか?
路川)技術好きな人ですかね。あと、色々なことに興味がある人。主体的に動いてくれると嬉しいです。自分で情報を取りに行ける人。個人的には自分が技術好きなので、色々な経験や知識がある人と話してみたいです。学びがありそう。社内はそういうメンバーがわりと多いと思います。
ーーありがとうございました!
Handiiエンジニアチームでは、新しい仲間を募集しています!ご興味をお持ちいただいた方は、ぜひWantedlyの「話を聞きたい」でお声がけください!
この記事が気に入ったらサポートをしてみませんか?