見出し画像

hidekのエンジニアと長話 第9-1回【全文書き起こし】~ゲスト:Autify CEO 近澤良氏~

stand.fmで配信中の「hidekのエンジニアと長話」9人目のゲストは、Autify CEOの近澤良さんです。

「hidekのエンジニアと長話」は、メルペイVPoEのhidek(木村秀夫)さんをメインパーソナリティにお招きし、ゲストエンジニアとともに作っていくスペシャルトーク番組です。

第9-1回の今回は、AutifyのCEOである近澤良さんをお招きして、「Burning needs」やE2Eテスト自動化サービス「Autify」立ち上げの経緯などについて語りました。

※本記事は、2021年9月10日にstand.fmで配信を開始した番組を書き起こしたものです。

ゲスト
近澤良 氏 @chikathreesix
オーティファイ株式会社 CEO

メインパーソナリティ
hidek(木村秀夫)氏 @hidek
株式会社メルペイ VPoE(Vice President of Engineering)

パーソナリティアシスタント
gami(池上)氏 @jumpei_ikegami
株式会社プレイド エンジニア

「Burning needsを解決する」の近澤さんとは?

gamiさん(以下、敬称略):皆さんこんにちは。「hidekのエンジニアと長話」進行役のgamiと申します。今回もhidekさんと一緒にゲストの方のお話を聞いていければと思います。番組への感想は、stand.fmのコメント機能かTwitterハッシュタグ、#hidekのエンジニアと長話、この番組のタイトルと同じハッシュタグまでお願いします。というわけで、メインパーソナリティはこの方、hidekさんでーす。よろしくお願いしまーす。

hidekさん(以下、敬称略):よろしくお願いしまーす。gamiさん、最近どうですか?

gami:最近ですか。仕事がぼちぼち忙しくて、地味に。はい。仕事するか『ポケモンユナイト』やるかしかできてないです。

hidek:(笑)。

gami:hidekさんはどうですか?(笑)

hidek:僕も最近ちょっと忙しくて。先週1週間、僕、お休みいただいたんですよ。

gami:お、そうなんですね。

hidek:メルペイ入ってはじめて1週間お休みいただいて。

gami:うーん。

hidek:帰ってきたら仕事溜まってたんですけど。ちょっと、遊びボケしてて……。

gami:(笑)。たしかに、1週間休むとそうですね。

hidek:はい。

gami:あと、結構前になるんですけど、この番組にレターというかコメントが来ていまして。これ、月イチ収録なので拾うのが大変遅れてとても申し訳ない限りなんですけど(笑)。ちょっと長いので全文は読めないのですが、サーバーサイドのエンジニアの方からですね、「雑談から学ぶ知識って多いんですね」とか「みなさんのお話がまさに『現場の方の雑談』って感じでとても楽しく、学びが多く、うんぬん」みたいなご意見をいただいて。あまり「聞いている人がいる感」が収録自体だとないので、すごくうれしいなと思いましたね。こういうコメントを頂けると。

hidek:(笑)。ありがたいですね。

gami:話している側としては「雑談している」といった感じなんですけど、聞いている人からすると「めっちゃ価値ある」みたいな。

hidek:でも、それこそコロナ前とかで、よくエンジニア同士で飲みに行って、雑談で、そこからいろいろなOSS生まれたりとかもしたので、いいですね。

gami:うんうん。たしかに。そういうきっかけになるといいかな、と思いますけれども。はい。じゃあ、今日もゲストの方をお迎えしております。本日のゲストは近澤良さんです。よろしくお願いしまーす。

近澤さん(以下、敬称略):よろしくお願いします。

hidek:よろしくお願いします。

gami:近澤さんのことを知らない方もいらっしゃるかもしれないので、軽く自己紹介などいただいてもいいでしょうか?

近澤:はい。「Autify」というAIを使ったテスト自動化のサービスのスタートアップのCEOをしています、近澤です。僕もポッドキャストをやっていまして、『Burning cast』というのですけれども。巷では、僕が以前に「Burning needsを解決する」というブログを書いて、それがスタートアップ界隈ですごく読んでいただいて。で、いつの間にか「バーニング近澤」って呼ばれたりするようになって(笑)。

hidek:(笑)。

近澤:いろいろあやかって、「『Burning cast』っていうのでもやってみるか」と思ってポッドキャストをやったりしています。はい。そんな感じで。バックグラウンドとしては、僕もエンジニアとして10年くらいですかね、実際に。特にWebのフロント周りの開発をずっとやっていて。で、そのあとこの会社を立ち上げて今に至る、っていう感じです。よろしくお願いします。

gami:よろしくお願いしまーす。

hidek:よろしくお願いしまーす。そうですね。前回のスマートニュースの紀平さんからのご紹介ということで、紀平さんからメッセージをいただいています。読み上げますね。「Autifyが急成長していることを自分のことのように喜んでいます。チャレンジに貪欲な近澤さんが、ますますの活躍をされることを楽しみにしています」というところで。すごく、紀平さん、生真面目なメッセージですけど。「そういう人だっけ?」って気はしますけど(笑)。

近澤さんとhidekさんの接点

近澤:(笑)。本当に、紀平さんにはずっとお世話になっていて。付き合いもだいぶ長い。10年くらいになるのかもしれないですね。

hidek:ふーん。もともとDeNAで、僕も元DeNAで、紀平さんも元DeNAで。結構、接点が多かったりとかするんですよね、実は。

近澤:そうですね。僕がもともと、DeNAに入る前、Flashデベロッパーとして最初のキャリアを始めて。で、DeNAの、もともと『Yahoo!モバゲー』っていう、PCのゲームのプラットフォームの開発エンジニアで入社して。

hidek:あ、そうなんですね。

近澤:で、Flashをやってたんですよ。

hidek:なるほどなるほど。

近澤:で、そのあと「スマホだ」って言って、スマホのJavaScriptにシフトしていく中で、その辺で紀平さんもDeNAに入ってきて。Flash・JavaScriptみたいなところで、すごくエンジニアリングの方向性が似ていたので、僕は個人的に「紀平さんはエンジニアの師匠」みたいな感じで慕わせてもらって、ずっとお世話になっているって感じです。

hidek:あの人、Webへの愛情が病的というか(笑)。

近澤:ちょっと一線を超えてる感じが(笑)。

hidek:すごいですよね、あの執着が。いや、エンジニアとしては本当に僕も尊敬しているんですけどね。なるほどですね。で、僕もDeNAで、ちょうど同じ時期にいたんですけど、僕はどちらかというとプラットフォームの方で。

近澤:そうですよね。

hidek:で、近澤さんはどちらかというとコンテンツの方で。当時、あまり接点なかったですよね?

近澤:そうですね。hidekさんのお話は、社内でも有名な方なので、当然、一方的に存じ上げてはいましたけど。

hidek:いえいえ。

近澤:プラットフォームの方とあまり接点がなかったですよね。

hidek:当時、プラットフォームって、イキっていたというか(笑)。

近澤:(笑)。

hidek:ちょっと変わった人の集まりだったので。zigorouさんとかね(笑)。

近澤:(笑)。ちょっと怖いイメージはありました。

hidek:そうですよね。怖がらせるつもりはなかったんですけど。

近澤:怖がらせるつもりはなかった(笑)。いや、でも、「迷惑かけちゃいけない」みたいな、なんかそういうのはありました。

hidek:いえいえ。こちらこそ、プラットフォームはコンテンツあってこそのプラットフォームなので。

近澤:(笑)。

E2Eテスト自動化サービスのAutifyとは?

hidek:で、今、Autifyを立ち上げていらっしゃるということで。すごくいろいろなところで使われているので僕も目にしているんですけれど。せっかくなので、Autifyの紹介みたいなのをしていただくとよいのかな、と。このあとの話につながっていくと思うので、Autifyを紹介していただけるとありがたいです。

近澤:ありがとうございます。はい。Autifyは、端的に言うと、AIを使って、特にエンドツーエンドのテスト自動化をするサービスです。「エンドツーエンドのテスト自動化」って言うと、端的に言うとUIを絡めたような「ブラックボックステスティング」って言われますけれども、中のアーキテクチャとか知らなくても、外側からいじって、「ちゃんとユーザーにバリューを届けられているか」っていうテストをする、というものを自動化します、っていうサービスなんですけど。エンドツーエンドのテストを自動化するときに、よく「Selenium」とか、モバイルアプリだと「Appium」とか使うと思うんですけれども。ああいったものを使って、書いて、自動化はできるんだけれども、やっぱり、エンジニアがコードを書いて自動化しなきゃいけないし。で、しかも、ユニットテストとかに比べると極端にコストがかかる。最初に書くのも大変だし、あと、主にメンテナンスがすごく大変なんですよね。

hidek:うん。

近澤:特にUIってどんどん変わっちゃうので、ちょっと変わっただけで、エンドツーエンドの自動テストスクリプトが壊れる、っていうところで。「メンテナンスに非常に大きな課題がある」というところで、僕らはメインにふたつの課題を解決していて。主に「エンジニアじゃないと自動化できない」というところで、「エンジニアのリソースを確保し続けるのが難しい」という問題と、あともう一個「メンテナンスがすごく大変」っていうこの2点を解決しよう、というところで。僕ら、ノーコードで誰でもできる、当然、エンジニアでもできるし、エンジニアじゃなくてもできる、というところで、自動化の取り組み自体を「誰でもできるようにする」っていうことによって、自動化の取り組みをスケールさせる、というのが、まず1つ目の解決策で。もう一個、メンテナンスの部分をAIにやらせよう、というところで。

hidek:うんうん。

近澤:具体的には、UIの変更とかを、人の目で見ればわかるものも、例えば、Seleniumとか使った場合って、クラス名が変わったとかIDが変わった、で、エレメントのロケーターが変わると「要素が見つからないです」っていうエラーになってしまう。ただ、人の目で見れば「いや、同じフッターの中にあるリンクだよね」みたいなのってわかると思うんですよね。だから、そこをAIがうまく文脈を理解して、「こっちが新しい要素だね」っていうのを理解してくれて、自動的にその要素を指し示してメンテナンスを自動化する、というのがAutifyの基本的なコンセプト。で、Webのアプリケーションのテスト自動化から始めて、今、モバイルのネイティブアプリも自動化できるようになってきた、という感じです。

hidek:へー。なるほどですね。結構、モバイルの場合って、UIの変更を探すの……。結構、Webだとね、変な話、正規表現とは言いませんけど、ソースコードの解析でいいと思うんですけど、モバイルってどういう風にその変更点って検知してるんですか?

近澤:モバイルの方は「いろいろ使っていく」っていう感じで、ちょっとまだベータ版なので、これからどんどん改善を重ねていくんですけれども。基本的には、多くのモバイルアプリはUIがXMLで書かれてはいるので。XMLの情報自体がHTMLと比べると少ないので、やっぱり、Webに比べて難易度が高いんですけれども、ある程度情報はあるので、そこから文脈を理解するっていうことは一定できます、と。

hidek:うん。

近澤:あともう一個は、やっぱり画像認識をするしかないですね。で、マシンラーニングを使って、今、何をしているかと言うと、スクリーンショットの画像から要素の構造を抜き出す、っていうことをやっていて。

hidek:あー。

近澤:端的に言うと「スクリーンショットからXMLを作り出す」っていうことをやっているんですね。

hidek:なるほど。へー。

近澤:それによって、その情報を構造化して理解しやすくして、それを機械学習に食わせる、っていうことをやって。おそらくこの要素とこの要素が同じもの。例えば、アイコンとかも、「これとこれが似てる」とか、テキストもOCRで分解していって「近しい」みたいな判定をして、そういう組み合わせで「この要素とこの要素が近しい」みたいなのを判定しようとしています。

Autify立ち上げの経緯

hidek:なるほどですね。もともと、先ほどちょっと話があったんですけど、エンジニアのバックグラウンドとしては、Flashとかゲームみたいなコンテンツというところから始まって。Autifyというものをリリースに至るまでの経緯というか。たぶんすごく長い話にはなると思うんですけど(笑)。

近澤:めちゃめちゃ長いですよ(笑)。

hidek:ごめんなさい(笑)。ちょっと話を飛ばしちゃいましたね。でも、いろいろな経緯があると思うんですよね。その辺の話をちょっと掘り下げていきたいなー、と思うんですけど。

近澤:ぜひ。はい。

hidek:エンジニアのときって、基本的にはFlash・JavaScriptエンジニアっていうところで、コンテンツっていうところなんですよね? きっと。

近澤:そうですね。最初は、本当にFlashのコンテンツをゴリゴリ作るエンジニアで。ActionScript 3.0を書いて、今だとTypeScriptとかだいぶ近くなってきた感じがするんですけど、型付きのECMAScriptですね、あれを書いて。で、ちょっとゲームっぽいものを作ったりとか、物理エンジンとか簡単に実装したりとか、2.5Dみたいなのを実装したりとかして、そんな感じなインタラクティブなコンテンツをずっと作っていて。で、ただ、「Flashの時代おわるぞ」っていうのが2010年……、2009年とかか。iPhoneが出たときに来て。で、ちょっと「JavaScriptを極めよう」って、そこからJavaScriptを選んで。なんで、そこからは、結構、WebのフロントエンドとかWebアプリケーションとかいうところにシフトして行った、って感じですね。

hidek:なるほどですね。うんうん。で、そこからAutify立ち上げ、起業っていうところに行くと思うんですけど。そこの経緯っていうのは何かあったんですか?

近澤:そうですね。もともと「最終的には起業したいな」っていうのはずっと思っていて。

hidek:あ、そうなんですね。

近澤:というのも、背景としては、僕、大学時代に友人と一回起業をして。

hidek:あ、なるほどなるほど。

近澤:はい。と言っても、本当に大学生の小遣い稼ぎぐらいだったんですけど。3人で、当時、mixiの最盛期で、「mixiのオタク版」みたいなのをやったんですよね。「アニメオタク版」みたいな。

hidek:はいはい。なるほどなるほど。

近澤:で、それがそれなりに多くの方に使っていただいて。で、コミケ出店したりとかして、実際のユーザーの方とかとお話しして。「すごくよく使っています」「こういう機能いいですね」「こういう機能ほしいです」みたいなのを、フィードバックを生で受けるっていう体験をして、「これは本当に面白いな」っていう。

hidek:ふーん。

近澤:ゼロから作って、それが人に使われて、フィードバックもらえる、っていう体験がすごく印象的で、「もう一回やりたいな」みたいなのはずっと思っていたんですよね。なんですけど、大学を卒業して、一旦会社に入ってみて「いろいろ修行してみるか」と思って。

hidek:うんうん。

近澤:で、一回入って。ただ、「いつかやりたいな」っていうのはずっと思ってた、っていうのが、まず原点にはありましたね。

hidek:なるほどですね。じゃあ、もともと「プロダクトで起業する」みたいなモチベーションはあったわけですね。

近澤:はい。

hidek:で、そこから海外にいろいろ活躍の場を移していってらっしゃるんですけど。その辺って何かグローバル意識っていうのはもともとあったりとかしたんですか?

近澤:そうですね。それも、遡るといつになるんだろう、っていうのが微妙なところなんですけど。高校時代に一回アメリカに行ったことがあって。で、ちょっと短期の語学留学みたいなので。と言っても2週間くらいだったんですけど。

hidek:うんうん。

近澤:で、行ったときに、なんでしょうね。そのときって、アメリカとか特に西側の文化って、「自分からはすごく遠くて崇高なもの」みたいなイメージが。当時、10代のころあったわけなんですけど。行ってみると、すごいんですけど、「英語が話せりゃなんとかなるんじゃないか」みたいな(笑)。

hidek:(笑)。

近澤:妙な、ある意味勘違いというか、そういうのがあって。どうせやるんだったら、ちゃんと英語力をつけて、どうせだったら世界を相手に勝負したいぞ、みたいなのが10代の後半くらいのときにすごく思って。

hidek:あー、なるほどですね。

近澤:で、なんで、「起業×世界に対して挑戦する」みたいなのは、自分の中のキャリアの軸にはなってきた、って感じでしたね。

hidek:なるほどですね。それを実際行動に移した、っていうところですよね。

近澤:そうですね。めちゃくちゃ時間かかっちゃいましたけどね(笑)。

hidek:(笑)。

近澤:17〜18歳くらいでそう思って。で、そこからようやくAutifyにたどり着いたのが、僕が32〜33歳とかなので(笑)。すごく時間かかっちゃいましたね。15年くらいかかったかな、っていう感じはしますけど。

hidek:なるほどね。で、このAutifyを立ち上げるので、テストの自動化、BtoBのSaaSですよね、というところに行き着く経緯、思い立ったのは、まさにブログとかで書いてらっしゃったと思うんですけど、その辺のお話しってぜひ聞いてみたいな、と思って。

近澤:そうですね。ありがとうございます。はい。どうやって行き着いたか、みたいなところで言うと、僕ももともとエンジニアとして、特にWebのフロントエンドとかを得意としてやってきたので、特にフロントエンドとかE2Eのテストって自分でも書いてたんですよね。

hidek:うん。

近澤:で、そういう中で「メンテナンスコストの高さ」みたいなのは、僕も肌身で感じてたし。極端な話、僕、エンジニアのときって、「エンドツーエンドなんて書かなくてもいい」と思ってたんですよ(笑)。

hidek:わかります(笑)。

近澤:わかりますよね? 「なんか動かねぇなー」って言って、Waitステップを1,000msecのを、なんか1,500にすると動く、みたいな。そういう黒魔術の塊みたいなので、「なんで俺はこんなのに半日も溶かしてるのか」ってずっと思ってたので(笑)。

hidek:(笑)。

近澤:「こんなのに時間使うくらいだったら手でやった方が早いや」って思っていたくらいなので。

hidek:はいはい。

近澤:そのくらい課題感は感じてたんですよ。

hidek:うん。

近澤:ただ、やっぱりテストはしなきゃいけないし、スピードを早めていくとなると、自動化をせざるを得ないような状況になってきている、っていうところで「ニーズはあるだろうな」みたいなのは、前提としてはあったんですよね。はい。

hidek:うん。

近澤:ただ、最初からAutifyじゃなかったんですよ。

hidek:あ、そうなんですね。うんうん。

近澤:はい。で、もともとは、僕、DeNAを辞めたあとにシンガポールに移って、シンガポールで2年くらい働いて。で、そのとき「Viki」っていう会社にいたんですけど、Vikiって楽天が買収したスタートアップで、翻訳の……というか「Netflixのアジア版」みたいな感じで。で、字幕を……。

hidek:ストリーミングサービスですよね?

近澤:そうです。ストリーミングサービスです。はい。Netflixのアジアコンテンツフォーカスなんですけど、「アジアコンテンツの字幕をユーザーが作る」みたいな感じのサービスで。

hidek:なるほどなるほど。うんうん。

近澤:で、僕はそのコミュニティ向けのツールのプロダクトマネージャーとエンジニアをやっていて。はい。で、そこから翻訳みたいなところにすごく情熱があって。

hidek:はいはい。

サンフランシスコでスタートアップの文化に感化される

近澤:で、そのあとサンフランシスコに移ったんですけど。VikiのCo-Founderの人に誘われて。彼がVikiでExitしたあとにサンフランシスコに戻って、「新しいスタートアップをやるからお前も来い」って言われて。もともとサンフランシスコに行きたかったので、「あ、じゃあ行きます」って言ってサンフランシスコに行ったんですよね。

hidek:うんうん。

近澤:なんですけど、そこでサンフランシスコのスタートアップの文化にすごく感化されて、「やるなら今だろ」みたいな感じになって。

hidek:ふーん。

近澤:で、そのときに最初にやろうと思ったのが翻訳だったんですよね。

hidek:なるほど。

近澤:はい。で、もともとVikiの経験で、コミュニティの翻訳っていうところにすごく情熱を感じていたので、「そのコミュニティ翻訳をどこかほかにも活かせないか」みたいなのが最初の起業のアイデアだったんですけれども。

hidek:あ、そうなんですね。

近澤:はい。なんで、そのときから紀平さんにはいろいろアイデアをアドバイスいただいたりとかしてたんですけど。当時、だから、紀平さんは、ちょうど前の紀平さんのスタートアップをやられて……。

hidek:あ、Tomboですかね?

近澤:そうです。Tomboです。で、ちょうど「サンフランシスコに移るか」みたいなタイミングで起業して。

hidek:あー、そうなんですね。

近澤:なので、Tomboのサンフランシスコオフィスとか入り浸ってました(笑)。

hidek:そうなんですね(笑)。

近澤:入り浸っていたというか、よく泊まらせてもらっていました。

hidek:はいはい。そうなんだ。グニャラくんとか千葉さんとか?

近澤:そうです。そうです。

hidek:そうなんですね。へー。

近澤:そうなんですよ。末永さんとかも、めっちゃよく一緒に食事しに行ったりとか。

hidek:ふーん。

近澤:紀平さんと一緒に、いろいろご一緒させてもらっていました。

hidek:なるほど。

近澤:はい。なので、最初は全然違うアイデアでしたね。

hidek:うんうん。

近澤:で、翻訳のアイデアで1年半〜2年くらいやって。で、全然ダメだったんですよね。

hidek:あー。

近澤:その間にピボットを7〜8回くらいして。

hidek:わお!

近澤:翻訳を一回諦めてちょっと違うことをやろうとしたり。それでもやっぱりダメだから翻訳に戻ってきたりとか。翻訳を軸足にしてなんかCMS作ろうとしたりとか。いろいろやって、もう全然ダメで。

hidek:あー。その辺の過去の失敗をほじくりたいわけじゃないんですけど(笑)。

近澤:いやいや、ほじくってください。どんどんほじくってほしいです(笑)。

プロダクトアウト優先で失敗

hidek:結構、失敗から学ぶことってあるなぁ、と思って。どの辺がうまくいかなかったんですかね?

近澤:やっぱり、端的に、すごく簡潔に言うと、最初っから作っちゃったんですよね。

hidek:あー、なるほど。

近澤:で、僕、やっぱりエンジニアなので作れちゃう、っていうのが逆に問題で。

hidek:うんうん。なるほど。

近澤:やっぱり、マーケットとか、それこそBurning needsって書きましたけど、Burning needsとかを理解しないまま、「お、これはいけるぞ」みたいな。「これで世の中変わっちゃうぞ」みたいな、そういう、「飲み会で話しててひらめいちゃったぞ」みたいなノリで、その晩から作ってとりあえず出す、みたいなことを最初はずっとやっちゃってたんですよね(笑)。

hidek:なるほど(笑)。

近澤:なんで、がんばって作って出したけど誰にも使われない、みたいなことを、本当に延々と繰り返していて。それなりに使われたサービスもあったので、中途半端にうまくいったのもあったりはして。はい。そういうのでちょっと判断が鈍った部分もあったんですけど。やっぱり、失敗のメインの原因はそこに尽きるかな、っていう感じがします。

hidek:なるほどねー。いわゆる「プロダクトアウト優先」というか、そこだけにフォーカスしてしまってやってしまった、っていう感じなんですかね?

近澤:そうですね。やっぱり作るのは楽しいから、逆に言うと逃げてたのかな、っていう。営業とかマーケットとか、そういうのって、自分のバックグラウンドにはなかったので。ずっとエンジニアでプロダクト作ってきただけだったので。そういう不得意なところから逃げてて、「とりあえずいいプロダクト作れば売れる」みたいな、売れないバンドマンみたいな思考になってたな、っていう感じはします(笑)。

hidek:(笑)。でも、わかりますよね。思ってたものができると、ちょっと高揚感というか。

近澤:そうそう。

hidek:「あれ、俺、天才?」みたいな(笑)。

近澤:そうそう。「これは素晴らしい! 俺の考えた最強のなんちゃら」みたいな。

hidek:そうですよね。ありますよね。わかります。当時ってどういうチーム構成だったんですか?

近澤:もともと起業は僕ひとりで始めて。

hidek:あ、そうなんですね。

近澤:2016年の9月にサンフランシスコに行ったときに、もう現地で会社を登記して。で、そのまましばらく向こうにいたあとに戻ってきたんですけど。

hidek:うんうん。

近澤:で、2017年の5月にひとり入ってくれて。で、その彼をCo-Founderとして迎えて、それからは、Autifyにたどり着くまでふたりで、二人三脚でやってきた、って感じでしたね。

hidek:なるほどですね。



この記事が気に入ったらサポートをしてみませんか?