連載「Technology Company Internals」では、テックカンパニーの内側で働くエンジニアに、技術に精通したエキスパートが対面で話を聞き、テックカンパニーとは何か?を探るだけでなく、テックカンパニーを目指す企業の指針となることを目指します。
様々なデバイス上で動くブラウザを開発するのが仕事です
白石: 本日はよろしくお願いします。自己紹介からお願いできますでしょうか?
梅田: 梅田と申します。株式会社ACCESSで、webブラウザ開発事業のマネージャーを担当しています。
白石: ブラウザ開発を生業にしている、ってすごいですよね。珍しいというか。
梅田: はい、日本だと唯一…かどうかはわかりませんが、相当珍しいと思います(笑)
白石: それで上場までされているというのもすごいですよね。今日はブラウザ開発の実際について色々伺えればと思います。プログラミング言語は、やはりC++とかですか?
梅田: そうです。弊社は、Chromiumをベースに組み込み向けのブラウザを開発しているので(ChromiumはC++で書かれている)。
白石: ぼく自身、C言語での開発に昔少し携わったことがあるくらいで、C++はほとんど知らないんです。
梅田: 最近はC++書ける人が少なくなっちゃって…若い人は特に。新卒の人が「ブラウザ開発興味あります」って言うから話を聞いたら、普通にwebアプリの開発だったりとか(笑)
白石: レイヤーが違う(笑)逆に、今の時代C/C++をやっている若い人がいるとしたら、相当ツワモノな気がします。
梅田: そうですね、よっぽどコンピューターとかプログラミングが好きな人ですね。メモリを直接いじる感覚は、他の言語ではなかなか味わえません。
ガベージコレクタをいじるのも仕事です
白石: とは言え最近だと、低レベルの言語もバリエーションが増えてきましたよね。RustとかGoとか。そういう言語を使っていく方針はないんですか?
梅田: 先ほども申し上げたように、Chromium次第ですね。Chromiumのメイン言語がC++ 17に上がりましたので、それに追随したりはしています。Firefoxみたいに、メインのブラウザエンジンがRustで書き直されたりしたなら、うちもRust使うことになると思います。
白石: C++、新しいバージョンに上がったりしてるんですね…ごめんなさい、全然知らなくて。例えばメモリを扱う周りが安全になったり、ですか?事故りにくくなっていたり。
梅田: いや、そこはあんまり変わってないですね(笑)文法が前よりモダンになったりしているという感じです。
白石: そうなんですね。メモリ周りのデバッグが一番しんどいのに…
梅田: ただやはり、メモリを自在にいじれる言語というのは、どうしても必要なんですよね。うちなんかは組み込み環境で動くブラウザを作ってますので、メモリは希少な資源として扱う必要があります。V8のガベージコレクタの仕組みをちゃんと理解して、時にはGCをカスタマイズしたりもしています。
白石: ガベージコレクタを作る仕事…すごい(笑)
ブラウザ開発の現場について聞いてみた
白石: 最近のC++開発ツールは、何を使うんですか?
梅田: 最近だと、VS Codeを使ってますね。昔はEclipseとかも使っていましたけどね。
白石: なるほど。ビルド環境とかはいかがでしょう?ぼく昔、Linuxカーネル関連の仕事をしていたことがありますが、ビルドに時間がかかって本当に大変でした。1行直してビルドするだけでも、1時間以上も待たされたり。
梅田: そこは分散ビルドの仕組みを整えているので、基本的にはそこまでかからないですね。もちろん修正箇所にもよるんですが、数分で終わることがほとんどです。仕事の効率に直接関わってきますからね。そこはかなりちゃんとやっています。
白石: Chromiumを修正したら、そのパッチをChromium本体に送ったりもするんでしょうか?
梅田: 以前WebKitをベースに開発していた時代よりは減っていますね。OpenSSLにコミットしたり、オープンソースへの貢献はそれなりにしているつもりですが、もっともっと増やしたいとも思っています。
白石: オープンソースへの貢献が仕事になる会社…いいですね。
「独自のJavaScriptメソッド作って」とお客様に依頼される
白石: 組み込みブラウザ開発の話を聞かせてください。そもそもどういう製品に組み込まれているんでしょうか?
梅田: テレビとか車載とかですね。B2Bがメインです。あと、Nintendo Switch™には弊社が開発したブラウザが搭載されています。
白石: B2Bということは、お客様と仕様の打ち合わせをしたりするわけですよね。お客様と、「どんなブラウザにする?」なんて会話が行われてるんですか?(笑)
梅田: はい、ブラウザの仕様について打ち合わせたりしますよ。お客様から「(通常のブラウザでは利用できない)独自のJavaScriptメソッド作ってほしい」なんてご依頼を頂いたりするのは、なかなか他の会社では味わえない体験じゃないかなと思います(笑)
白石: webプラットフォームを独自に拡張してくれってことですね。面白いなあ。
梅田: webアプリからデバイスネイティブの機能を叩いたりするのは難しいですからね。製品内にwebサーバーを立てられるなら、WebSocketサーバーを立てて、サーバーからネイティブの機能を叩いたりもできますけども。
白石: **組み込みデバイスの中でwebサーバー立てるって発想がすごいですよね(笑)話は変わりますけども、開発体制とかはいかがでしょう?チームとか、タスク管理とか。
梅田: 弊社はヨーロッパや台湾、韓国などにも拠点があって、海外のメンバーとやり取りするときは英語です。独自カスタマイズしたRedmineや、jiraなどを使ってタスク管理していますね。
白石: Chromium本体のバグチケットなんかも重要になりそうですよね、御社の場合。
梅田: そうですね、Chromiumで行われた修正を取り込むのは日常的に行っています。本来Chromiumのポリシーとしては「常に最新版を使ってほしい」なので、個別のパッチを適用するのは推奨されていないんです。ただ、うちは組み込み開発ということもあって、常に最新版に追従するというわけにもいかないんですよね。
白石: なるほど。じゃあ、いざChromium本体のバージョンアップをする場合には逆に大変そうですね。
梅田: おっしゃるとおりです。コンフリクトが起きると大変…というか、コンフリクトは絶対に起きるので、いつも絶対に大変です(笑)ただ、2年前くらいまでは本当に大変だったのですが、最近は色々こなれてきて、昔ほど大変ではなくなりました。
キーワードは「技術愛」
白石: この連載、「テック企業って、何がすごいんだ?」みたいなのがテーマでして。そういう観点から言うと、御社の強みってなんでしょう?
梅田: うちの一番の強みはやはり、技術大好きなメンバーが集まっているってところですね。ブラウザ開発もそうですし、IoTや電子書籍の事業を手掛けているチームもそうですが、新しい技術が好きで、いろんなことを深く掘り下げるのが好きなエンジニアが多いです。
白石: そういう社風が御社の文化なんですね。
梅田: そうですね。うちのビジョンは今「『技術』『知恵』『創造性』と『勇気』で世界を革新し続ける独立系、企画・研究型企業」となってます。時代とともにそのステートメントは変わっているのですが、後半の「独立系、企画・研究型企業」っていう部分はずっと変わっていません。そういうところが、技術に深くコミットするって文化の表れなのかもしれませんね。
白石: じゃあ逆に、課題とかはありますか?
梅田: 高度な技術を持ちながら、お客様とも話せる…っていうような、エンジニアリングとマネジメントを両立させられるような人は常に不足してますね。
白石: そこの両立は本当に難しそうですね…ちなみに梅田さんは、そういうスキルをどうやって身につけましたか?
梅田: そうですね…若い頃って、技術的にすごい先輩と話すと、やっぱりちんぷんかんぷんじゃないですか。それを理解するのって、やっぱり一生懸命食らいついて、自分なりの言葉にしていく必要がある。それを繰り返していくうちに、技術スキルが上がるだけじゃなくて、技術の話をわかりやすく伝えるスキルは上がった気がしますね。私もまだまだだと思っていますが。
白石: 技術力の高い職場で、がむしゃらにやってるうちに身についた、と。
梅田: そうですね、技術力についてはなかなかのものだと思います。うちは以前から独自のブラウザエンジンを作っていたという経緯もあり、web標準の仕様からブラウザのアーキテクチャまで知り尽くしているような、コアなメンバーが多いんです。webを支えている基盤技術について、これほど勉強になる仕事場もないと思います。
白石: 技術を追求したいエンジニアにはたまらない職場ですね。今日は、ブラウザ開発の一端を知れて楽しかったです。ありがとうございました!
Expert’s Voice
筆者的には非常に濃いインタビューで、大変満足…と思ったら、インタビュー直後に梅田さんが「あんまり深い話できなくてすいません」と謝られたのがちょっと衝撃だった(笑)ブ ラウザ開発はまだまだ奥が深く、いくらでも語ることがあるのだろう。
それにしても、技術の話をするときの梅田さんの楽しそうなこと。技術への興味と、ビジネスへの関心を高度なレベルで両立している。テックカンパニーにはこういう人材が必ずいる。
そしてごめんなさい、今度はもっと深い話を引き出せるエキスパートと一緒に伺わせていただきます(笑)
Thank you! In essence, heardle appeal lies in its ability to provide an entertaining, educational, and socially engaging experience for music lovers of all stripes.