アイキャッチ

【脳内プログラミングのススメ】UEIの水野CTOが「キータッチの速さは無意味」と断じるワケ

スキル

プロフィール画像

株式会社ユビキタスエンターテインメント 取締役 CTO
水野拓宏氏

芝浦工業大学システム工学部電子情報システム学科卒。独立系ソフトハウスで受託開発を経験後、2000年ドワンゴに入社。その後、起業を経て2006年より現職。同時期、情報処理推進機構(IPA)主催の「未踏ソフトウェア創造事業」(2005年度上期)でスーパークリエータとしての認定を受ける

「湧き上がるアイデアを形にすべく、キーボードを叩く」

プログラマーの日常としてはごく当たり前に思える風景だ。しかし、それをあえてしないことで、プログラミングのスピードを著しく向上させた男がいる。現在、ユビキタスエンターテインメント(UEI)で取締役・CTOを務める水野拓宏氏だ。

UEI といえばshi3z(清水亮)氏がCEOを務めるソフトウエア開発会社だが、実はこの水野氏も、知る人ぞ知るプログラマー界の猛者。

“突き抜けちゃってる”エンジニアが多いことで有名なドワンゴ出身者であり、IPA(独立行政法人情報処理機構)が主催する「未踏ソフトウェア創造事業」で、2005年度上期にスーパークリエータに認定された経験を持つ。また、伝説のマイコンキット『TK-80』のマニアとして一部では知られた存在でもある。

「脳内プログラミング」のメリットって何?

そんな水野氏が日々実践しているのが「脳内プログラミング」だという。頭の中だけでプログラミングやUIデザイン、デバッグまでしてしまうらしい。水野氏によれば、脳内でプログラミングをするメリットは、大きく三つある。

【メリットその一】 物理的制約がない

当たり前だが、通常プログラミングをするには、最低限コードを打ち込み、確認、記録するためのハードと、エディターソフトがいる。

しかし、脳内であればそれらは不要。必要なのは想像力だけだ。

「例えば、通勤中に面白いプログラムを思いついた時。モバイルを持っていたとしても、いちいちそれを立ち上げ、そこにプログラムを書くなんて、面倒以外の何物でもない。第一、いつもPCを持ち歩いているとは限りません。

もしかしたら「手書きでコードをメモる」なんて強者もいるかもしれませんが、 結局ハードに依存しているという点では同じです。入力ツールがなければお手上げ。

でも、脳内であればそれらの悩みは一気に解消します。好きなときに好きな場所でプログラミングすることができるんです」

【メリットその二】 スピードがとてつもなく速い

物理的制約がないとはつまり、キーボードを打つ必要がないということ。プログラミングと呼ばれる行為の大半が、タイピングに消費されている。

この状況を踏まえれば、「キーボードを打たなくていい」ことでかなりの時間が短縮されるであろうことは想像に難くない。

「脳内であれば、物理的に指がキーを叩けるスピードにとらわれることなく、コードを打つことができます。このメリットは大きいですよ。だいたい開発が2カ月程度の規模感のプログラムだと、脳内では1日で完成しちゃいます。

また、世の中には『短時間に多くのコードを打てるプログラマーほど腕が良い』なんて風潮がありますが、優秀なプログラマーほど、少ない労力で必要なプログラムを実行させることに力を注ぐもの。

脳内プログラミングだと、現実世界を流れる『時間』という概念を超越してコードを書くので、『短時間で多くのコードを打てる』ことがなおさら意味を失います」

【メリットその三】 仕様のヌケなどを事前に発見することができる

実際につくってしまう前に、脳内で”つくって”いるので、モノができてしまってからありがちな、「あ、この仕様、こうしてた方が良かったかな…」なんて事態を事前に回避することができる。

「脳内でつくり上げるのはいわば「テスト版」。実物をつくり出す前に完成品の全貌を見ることができるので、「つくってみないと分からなかった」仕様上の問題点を、前もって知ることができます。

この『一度全体像をつくっているか否か』の差は大きいですよね。手を動かすフェーズには、全体最適を踏まえた構造を最初からつくれるわけですし、『ここからつくりなおし』みたいな事態が発生しにくいので、結果的にプロジェクトの遅れを防ぐことができます。」

「いかにしてわたしは”脳内プログラマー”となったか」

「”スーパープログラマー”みたいな人は、みんなある程度脳内でプログラミングしてると思いますよ」と話す水野氏。では、自身はどういった経緯で”脳内プログラマー”となったのか?

「ドワンゴ在籍中の半ばまで、プログラマーとしてコードは普通にPCを使って書いていました。でも、途中から設計を担当するようになったんです。それが脳内プログラミングの事始めですね。

やっぱり、ドワンゴ時代に一緒に仕事をしていたプログラマーはできるヤツが多かったんです。みんなプログラミング技術はピカイチですし、少しでも矛盾を含んだ設計書を渡そうものなら、そりゃあもう、スゴい勢いでディスられ、ダメ設計者の烙印を押されてしまう。

それでこのままじゃマズいと思って、できるだけツッコまれない、穴のない設計書をつくるべく、一度自分の脳内でプログラミングしてから設計書に落とすっていう作業をやり始めたのがきっかけです。

おかげで、脳内で一度全体をプログラミングするようになってからは、『こんな仕様はあり得ん!』みたいなことはなくなりました」

その後、水野氏はshi3z(清水亮)氏が創業したUEIに参画。前述の通り、CTOとして同社の技術的指針を定める立場にある。

「肩書きはCTOですが、同時に開発部長的役割も兼任しています。なのでドワンゴ時代にも増して、自分が手を動かす機会は減りましたね。
強いていうなら、今の自分はアーキテクトです。こういった人やプロジェクトを俯瞰して見なければならない立場になってみると、『ああ、脳内プログラミングをやって良かった』と思える場面が多いですね。

優れたWebサービスをつくれるかは、どれだけユーザーエクスペリエンス(以下、UX)を向上できるかに掛かっています。

ただ、プロジェクトメンバー全員が、同じ方向を向いていなければ、目的はブレてしまい、素晴らしいUXを生み出すことができなくなってしまう。アーキテクトはそうした事態を防ぐべく、プロジェクトの全体像から、スケジュール感、見積もりからデザイン、
UI(ユーザーインターフェース)に到るまで、一貫性を保ったビジョンを持っていなければなりません。

一人の人間が、プロダクトに関わるすべてを管理することはなかなかできませんが、脳内プログラミングができれば、その負担は相当減るんです」

素人でも簡単★今日から始める脳内プログラミング

良いことだらけの脳内プログラミング。ただ、水野氏の話を聞いていると、「アナタが天才だからできるんでしょ」と言いたくなる人も多いはず。

そこで、素人でも脳内プログラマー★デビューできるよう、以下に基本の3ステップをまとめた。まずは、ステップに従い、イメージの訓練をしてみてほしい。

【ステップその一】
精神統一して、アタマの中にPC(Macも可)を思い浮かべる

【ステップその二】
そのPCに電源を入れ、エディターソフトを立ち上げる

【ステップその三】
架空キーボードで、とりあえず”hoge”とでも打ってみる

で、脳内モニターに”hoge”が表示されればOK。
間違いない。あなたには脳内プログラマーとなる素質がある

「まずアタマの中に思い描いたスクリーン上にエディタを立ち上げます。それでクラスファイルを作ったり、関数を書いたりする。

実際の開発と一緒ですね。要はソロバンの珠を思い浮かべて暗算をするのと一緒。棋士なら思い浮かべた将棋盤の上でコマを動かすとか、ピアニストが脳内鍵盤を弾いて、頭の中で音が鳴るとか、そういったものに近いイメージです。

これだけ聞くと、難しく感じるかもしれないですが、プログラミングを生業としてやっている人ならば、これまでの総プログラミング時間を考えれば、相当な訓練を積んでいるのと同じですよね? もし同じ時間、ずーっとソロバンをやっていたら、絶対脳内ソロバンできますし、膨大な訓練の蓄積があるわけだから、慣れれば誰でもできると思います。実際うちの会社にも何人かやっている人はいますし。

子どもが暗算を覚えるとき、おそらく一桁からはじめると思うんですよ。それと一緒で一つのサンプルプログラムを1ファイル、アタマの中で作ることからはじめてみてはどうでしょうか? わたしも最初はそうでしたから。

あと気を付けてほしいのは、どんなに触りたくてもキーボードには絶対触れないこと!慣れないうちは、膝の上とか机の上で仮想キーボードを叩いてもいいかもしれません。そのうちキーボードを叩くのがもどかしいって思うようになりますよ。

だってアタマの中にアルゴリズムもコードもあるのに、人に見せるためにキーボードを叩かないといけないなんて、ちょっと待ちきれなくないですか?」

ということで、お金も時間も掛からない、脳内プログラミング。

この夏、始めてみませんか?

取材・文/武田敏則(グレタケ)

Twitterをフォローしよう

この記事をシェア

RELATED関連記事

RANKING人気記事ランキング

JOB BOARD編集部オススメ求人特集




サイトマップ