Q. プログラミングはいつ頃から始められたんですか?
中学生の頃からコンピュータに興味があって、何とか頑張って親にPC-9801というパソコンを買ってもらったんです。私はゲームで遊ぶことよりもプログラムを書くことに興味があったので、そこからプログラミングを始めました。最初はBASICから始めて、しばらくしてC言語を始めて、中学・高校の時はひたすらプログラミングばかりしていました。当時はインターネットが普及する前で、パソコン通信が流行っていた時代だったので、電子掲示板で色々と知り合いを作ったりしていました。
Q. ゲームよりもプログラミングに興味を持たれたんですね。
ゲームをやったり作ったりすること自体には何だかあまり興味が沸かなくて、それよりプログラミング一般に興味があったんです。コンピュータの原理そのものというか、これはどうして動いているんだろうみたいなところにすごい興味があって。子供の頃、特に男の子だといろいろ物を分解してみたりして、仕組みに興味を持ったりしますよね。自分としてはその延長線上だったんじゃないかなって思うんですけど。例えば”A”っていうキーを押すと画面に”A”っていう文字が出てくるってなんかすごい不思議だなって思っていて。どうしてそうなるのか仕組みが知りたいという気持ちが強かったんです。だから低レイヤーなデバイスドライバーとかオペレーティングシステムとか、今でいうとそういう領域を中心に興味を持って独学で勉強していました。だからゲームとかアプリケーションよりも、仕組みを探るための実験プログラムみたいなものばかり作っていました。その流れで、大学も情報工学系に進みましたし、プログラミングのアルバイトをして、就職先もプログラミングが続けられるところがいいな、と思っていました。
Q. 今に至るまでのご経歴を教えて頂けますか。
一社目に入ったのはIIJ(株式会社インターネットイニシアティブ)というインターネットサービスプロバイダーの会社でした。当時IPv6 といった先進的な技術に取り組む技術に強い会社として知られていました。実際に入ってみても、イメージ通りの技術的に尖った会社で、技術的な経験を積むというという点ではかなり貴重な経験をさせていただきました。最先端の技術を研究をして IETFで発表されるような方もいれば、それをいち早く実装する部隊もあったりして、とにかく刺激的でした。単にベンダから機器を買ってきて運用するというのではなく、自分たちでシステムを実装してユニークなサービスを提供しようとする文化がありました。OS自体カーネルのレベルから自分たちで手を加えてサービスを作ったりしていて、技術的なレベルも高く、今振り返ってみるとそういう会社で働けたことで大きく影響を受けたところがあると思います。
Q. 2009年にGREEさんに移られて、大きく違った点はありますか。
IIJでは技術を掘り下げていくという面では、かなり良い環境だったのですが、8年ほどやっているとさすがに自分の中でやりつくした感というか・・・。もうちょっと幅を広げたいというか、これまでとは違うことにチャレンジしたいなと思っていたところ、たまたまIIJで一緒に働いていた同僚でGREEに入った人が誘ってくれて、GREEに行くことになりました。
GREEに入って最初は、「そもそも発想が違うな」という衝撃を受けたのを覚えていますね。IIJの時代は、エンジニアなので技術的な合理性というのをまず最初に考えていました。営業サイドから要望があがっても技術的な理由で再検討をお願いしたりすることもありました。でも、GREEはコンシューマ向けのWebサービスなので、ユーザーに使ってもらってナンボというのが一番に来るんですよね。それはもちろん当然のことなのですが、それをエンジニアも意識しながらサービスが開発されていました。ユーザーにサービスをよりよく使ってもらうためにデータの分析が徹底していて、それを必死に分析している現場のエンジニアの姿など、それまでと全く違う世界が広がっていて、カルチャーショックがありましたね。
ショックではありましたが、当時サービスは急成長を続けており、実際それでサービスがどんどん成長していくという、ある意味証拠を突きつけられて、考えが変わってきたところがあります。やはりエンジニアとして、自分の作ったものを世に問いたいというような気持ちもあるのですが、結局すごいものを作っても世の中で使われなければ意味ないんじゃないかなという思いが自分の中で強くなってきたところがあって。そういう意味では、今のココナラも、Webサービスとして世の中に広がっていくところに関われて、自分のやりたい方向性と合っているかなとは思っています。
Q. 今の技術の流れを見て思うことや考えることは何かありますか。
どんどん新しい技術やツールが生まれ、それらが瞬時に世界中に広まる時代になっていて、それらによってウェブサービスの開発や運用がどんどん合理化されていっているので、そういった世の中の流れに置いていかれないようにキャッチアップしていく必要はあるのですが、そればかりに一生懸命になってしまうと、既存の技術を使って何ができるかという発想に流されてしまうおそれがあると思っています。
結局、エンジニアの役割は事業を行っていく上での技術的な課題を解決していくことだと思っているので、課題を解決するためには何が必要で、今使える技術にはどういうものがあって、何が足りないのか、という視点を忘れないようにしないといけないと思っています。
Q. ココナラさんが今抱えている課題というと何ですか?
ココナラの場合は、ある程度プロダクトができあがってきたところで、ちょうど今は、今後もスピード感のあるプロダクトの開発を続けていけるようにするための基盤を確立することが課題だと考えています。初期の頃は試行錯誤することも多いですし、勢いで突破しなければならないような場合もままありますが、ずっとそのままではいずれ立ち行かなくなると考えています。開発メンバーも増えていますので、チームとしてスムーズに開発を進めていくための体制作りなども問題になります。
Q. 今の段階で、開発していくうえで気をつけているのはどんなところですか?
今後を見据えて、いわゆる技術的負債になりそうなところを最初から極力作りこまないように、設計のレビュー等をしっかりやるようにしています。とはいえ、ある程度長い目で見れば、今作っているところが将来の実情に合わなくなっていくのは避けられない部分もあると思うので、むしろそれを前提としたやり方を考えています。新陳代謝のように、古くなった部分から順に置き換えていくことで計画的にシステムを全面的にリプレースできるような仕組みを予め考えて作っておけないかということです。システムの設計上、全体が密結合な大きなかたまりになっていると、どこから手を付ければ良いか分からなくなりがちですが、全体を小規模なモジュールの集合と設計し直すことで、それぞれのモジュール単位では思い切った改修にも着手しやすくなるということになります。こういった対応によって今後の事業環境の変化やサービス規模の増大にも対応できるようにしていきたいと考えています。
Q. たとえば、ドキュメンテーションはどのような形で管理されているんですか?
今はAtlassian さんの Confluence というツールを使わせていただいていて、全社的にほどんどの情報をここに集約するような形になっています。もともとエンジニアは Wiki 等のツールを使い慣れている場合が多いこともあり、別の Wiki システムを利用していたのですが、全社的に利用するためにエンジニア以外の人達にも馴染みやすいものをということで、Confluence に移行しました。検索やコラボレーションの機能が充実していることもあり、大変活発に使われています。
もともとはドキュメントファイルが整理されないまま散在していたり、そもそも積極的にドキュメントを残す文化がなかったりという状況だったのですが、僕が1人コツコツと作業記録等を残すところからはじまり、徐々に利用が拡大してゆき、今では全社的に利用されるに至っています。作業手順書や設計ドキュメント等の技術文書だけでなく、ミーティング議事録や、プロジェクト進捗管理、各種施策についてのディスカッション等、あらゆる業務が Confluence 上のドキュメントをベースに進むようになりました。
Q. 今、個人的に注目している技術はありますか?
WebRTC というブザウザで P2P なリアルタイムコミュニケーションを実現する技術に注目しています。まだ利用できるブラウザが限られていますが、広く普及すれば、例えば音声、動画等のリッチなコミュニケーションを実現できるようになります。ココナラも一面ではコミュニケーションの機能を提供するサービスなので注目しています。あと、僕はバックグラウンドがネットワーク屋なので、個人的にこういう仕組みが大好きです。
また、 Bitcoin も決済の世界を大きく変えるポテンシャルがあると見て注目しています。
Q. 今後はどのようにサービスを拡大していかれるんですか?
ココナラには非常に多岐にわたるジャンルのサービスが揃っているので、あらゆる相談事や依頼に対応できる場になりつつあるので、積極的に利用事例等を発信してきたいと考えています。例えば、ココナラを通じてオリジナルの楽曲制作を依頼して友人にプレゼントするというような活用事例があります。そういった使い方を発信していくことによって、より多くの方に楽しんでいただければと思っています。
Q. 趣味が転じてプロになられた方もいらっしゃるとか。
はい、ココナラで実績を積まれて、その後実際にプロとして活動されるようになった、占い師の方や、イラストレーターの方などの例があります。
Q. 今頑張っている若いエンジニアの方々に何かアドバイスはありますか?
最近は、世の中に情報がたくさん溢れているので、それらに流されてしまい、広く浅く色々なものを身につけはするものの、何か得意な分野を見つけて掘り下げていくということが軽視されがちになってしまうのではないかと感じています。今後も技術の進歩はあらゆることをより簡単にし、あるいは自動化してゆくはずです。エンジニアとしてのキャリアを考えると、簡単には代替されないレベルの技術を身につけるため、何か得意分野を見つけてそこを極めていくということも必要なのではないかと思います。