このページの本文へ

えふしん「現場に必要なのは『フルスタック』より『デュアルスタック』エンジニア」

2016年10月11日 23時00分更新

文●野本纏花

  • この記事をはてなブックマークに追加
本文印刷
「フルスタックエンジニアよりもデュアルスタックエンジニアのほうが必要」と呼びかけるのが、「えふしん」こと藤川真一さん。Twitterクライアント『モバツイ』の開発者であり、現在はBASE株式会社CTOとして長年Web業界をリードしてきた同氏が考える、いま現場に求められる「デュアルスタック」の考え方とは?

フルスタックは「専門職に失礼」

——藤川さんが提唱されているデュアルスタックエンジニアの話に入る前に、藤川さんが考えるフルスタックエンジニアの定義について教えていただけますか?

一時期、流行りましたよね、フルスタックエンジニア。要は、「自分が思いつく範囲のことを全部やりましょう」という話だったと思います。とはいえ、フルスタックと言っておきながら、実は全然フルスタックじゃないんですよね。デザインをやるわけでもないし、そもそもフルスタックエンジニアの役割にマネジメントは含まれていませんから。

結局のところ、複数の特定領域に手を出すという感じになるので、「そんなの全部できるはずはない、専門職に失礼だ」という反発を生み出していたのではないかと。

——それに対し、デュアルスタックエンジニアとはどういった人を指すのですか?

デュアルスタックは「デザインとの架け橋」というニュアンスですね。例えばネイティブアプリを作るときに、フルスタックのエンジニアがユーザーインターフェイスやビジュアルデザインまでやるかと言ったら、答えはNOです。ここにフルスタックエンジニアの限界がある。

一方、デザイナーもスマホアプリの動きや心地よい使い勝手を追求したければ、エンジニアの手を借りなければいけないので、互いの役割がグラデーションになってきています。そんなときに生まれるのが「業務の『のりしろ』」。両者の仕事の接続部分を補うために、「あえて専門領域に足を踏み込んで、相手の足を引っ張らないようにしよう」ということなのです。

——エンジニアもデザイナーも自分の領域だけでは完結しなくなっているからこそ、デュアルスタックが求められると。

アプリを作るとき、例えば建物が2つあって、横につなげたらぴったりくっつくように設計できればいいのですが、残念ながらそううまくいかないケースがほとんどです。現実には「こっちは言われたように作っている」とか「そっちがうまくつながないからいけないんだ」といったことがたびたび起こります。それぞれが完璧なものを作っても、つなごうとすると実は溝があって抜け落ちてしまうんです。

このときに「いかにしてぴったりくっつけるか」といった方法を考えてしまいがちですが、そうではなく「どちらかが相手の陣地へ飛び込んで直してしまえばいいじゃん」と発想を転換したらどうでしょうか。

ぼくたちが作るものは、橋などの建築物のように設計基準や設計方法が確立しているわけではなく、むしろどんどん技術や開発手法は変わっていくから、つなぎこみの部分は毎回アナログにやっていかないといけない。そのときに必要になってくるのが、互いの領域にまたがった「のりしろ」にあるスキルだろうと思いますね。

_dsc5679_1

藤川真一 BASE取締役 CTO FA装置メーカー、Web制作のベンチャーを経て、2006年にGMOペパボへ。ショッピングモールサービスにプロデューサーとして携わるかたわら、2007年から携帯向けTwitterクライアント『モバツイ』の開発・運営を個人で開始。モバツイ譲渡後、2012年11月6日に想創社設立。モイ株式会社にてツイキャスのチーフアーキテクトを勤めた後にBASE株式会社のCTOとしてジョイン。慶應義塾大学大学院メディアデザイン研究科 後期博士課程の学生でもある。

アプリ時代に変わったエンジニアとデザイナーの関係性

——ネイティブアプリになって完全分業が難しくなってきたのは、テクニカルクリエイターの発想にも通じるものがありますね。

かつてのように静的なWebサイトの時代だったら、デザイナーがPhotoshopで1枚絵をデザインして、コーディングして、せいぜいサーバーサイドでテキストを出力してやればよかったんです。アプリの時代は、デザインとプログラミングが渾然一体となっていて、アニメーションを作り込むためにはObjective-CやSwiftを使わなければいけません。誰がその部分を担ったらうまくいくのかと考えたときに、1人1人の専門領域の幅が広がることが望ましい。そこで生まれてきたのがデュアルスタックの考え方なんです。

——デザイナーもデュアルスタック的な意識を持ってもらいたいですか?

そうだといいですね。例えばインタラクションについて、理想の動きをデザインしてもエンジニアが実装できなかったら、自分でSwiftでコードを書けたほうがいいわけです。それができないと諦めたら終わりだし、愚痴を言っていても仕方がない。アウトプットが不幸になるだけです。すべてはいいものを作るためですから。

——では究極を言えば、エンジニアとデザイナーが歩み寄って、ディレクターが不要になる世界が望ましいと?

そうではありません。そもそも全員が完璧ではありませんし、きれいに設計できていたとしても、実際にうまく接合できるとは限りません。

ディレクターの仕事はいつの時代も曖昧で、今でこそUXデザイナーという形で専門職として切り出されてきた設計の部分も、かつてはディレクターがやっていました。そうした明確なタスクとして定義できずに溢れる部分は絶対に残ります。専門職の人たちは互いに相容れない文化を持っているので、それを理解した上で、両者の領域に乗り込んでいってつなげていく役割が、ディレクターには求められていると思います。

_dsc5789_1

「気付く」って、大事

——専門性の領域は後から作られたものだから、そこに縛られている現状のほうが、ある意味おかしいのですしょうか?

昔からこの業界にいる人たちは、そう言うでしょうね。たとえばFlashのクリエイターはデザインもしてActionScriptも自分で書いて、インタラクションデザインを担っていましたし、少なくとも2000年以前は、システムからデザイン、コーディングまで1人でやるのが普通でした。本来であれば、その頃の経験者の人たちが順調に育っていてもいいはずなんですけど…。

自分の専門性の枠を超えるは、難しいことです。だってWebサービスにおけるデザイナーの専門性はPhotoshopを使えることではなくて、ユーザーインターフェイスを考えることですよね? 今ある技術で枠を作ってしまうのではなく、好きだからこだわらずになんでもやるという人が一番強いんだと思います。

——では改めて、デュアルスタックになるためには、どうすれば良いでしょう?

ぼくもデザインはできないですけど、強いて言うなら、デザインに興味・関心を持つ、デザイナーと会話する力を身につけて、専門領域を「越境」することかなと思います。

ネットの記事ひとつ読むにしても、実装技術の話にしか興味を示さない人たちも当然いますが、半歩ずれたところにある、ユーザーエクスペリエンスのようなエンジニアリングとデザインの境界線に興味・関心を持つことは、大事です。

「自分たちが作っているアプリがどう使いやすくあるべきか」「自分が実装したサービスがユーザーの目にはどう映って、どう思われているのか」ということですね。

——興味・関心を持つ……シンプルですね。

そのために一番いいのは、自分でサービスを作ってみることです。とはいえ、作っただけで誰にも使ってもらえなかったら、何も問題が起きないので、成長しようがありません。一番いいのは、自分が甘えのきかない人たちに使ってもらって、何か問題があれば怒られる環境を作ることかな。

自分で作ったら自分がやらないと絶対に解決しないし、心から解決したいと思えるから。そうしたら、自分の専門性に閉じている場合じゃないということに気付けるんじゃないでしょうか。「気付く」って、大事ですよ。

_dsc5835

Web Professionalトップへ

WebProfessional 新着記事