プログラマとコミュニケーションの取れるディレクターになるには
ディレクター経験の少ない私が言うのもおこがましいのですが、私はディレクターの中ではプログラマとコミュニケーションが取れる方だと自負しています。技術が好きだからってだけかもしれませんけど。。。
ということで、これから実践したいということも含めて、タイトルの「プログラマとコミュニケーションの取れるディレクターになるには」ということについて言及してみたいと思います。
ディレクターも技術のことを知っていなければならないのは当たり前のことなんですが、どうしてもそこを追求することはできず、結果的にプログラマ任せな状態になります。
静的Webで通用した時代と違い、今はプログラマとコミュニケーションが取れるスキルは必須です。技術について朝までプログラマと語り合えるぐらいの知識を持っていた方が、私は良いと思っています。技術なくして提案はできない。
冒頭でプログラマとコミュニケーションが取れる方だと自負していると書きましたが、それは私のインストラクタ時代から実践し続けているメソッドが役に立っているからだと思っています。
「何を使えば何ができるか」だけを徹底的に押さえる
技術についての知識を持たなければならないとは言うものの、時間的な制約もあったりして、どこまでもそれを追求することはできません。
でも、何を使えば何ができるかだけは徹底的に押さえる。それがインストラクタ時代から実践しているメソッドです。
どんな言語を使えばどんな処理ができるか、どんなライブラリを使えばどんな機能が使えるか、どんな仕組みを使えばどんな効率化ができるか。
こういったことを徹底的に押さえることが必要です。
で、使用方法は捨てる。
使用方法を覚えて、それを使うのはプログラマ。そこは割り切ってしまっていいと思います。事実、実装するのはプログラマです。
使用方法を捨てることで、学習コストを大幅に下げることができます。*1
私がこれを実践するためにしている学び方は、
- 概要をWebサイト等で学ぶ
- 分厚いリファレンス本を買う(できれば逆引きタイプ)
- 最低限目次だけは読み切る(サンプルコードを読むことは後回し)
これで、今までの経験では何を使えば何ができるかということを、概ねつかむことができています。
ディレクターであっても、ある程度の知識を持たないと、プログラマから信用を勝ち取れないと感じます。よく知らないですが、プログラマからマネージャーになるような人も、この部分だけでも追い続けていかないとだめなのかな?という気がします。
インストラクタ時代にはどのように実践していたか
なぜ、インストラクタ時代にこれを実践していたかと言うと、「これで○○はできますか?」「何を使えば○○ができますか?」という問いに対して、絶対に答える!ということをポリシーにしていたからです。
お客さんが聞きたいことの多くは、おそらくこれが大半で、講義を聴いて得た収穫であることが多いと思います。やり方はなんだっていいけど、結局できるのかできないのか、それを知りたいと。
その問いに対して、「おそらく」「たぶん」と濁したりだとか、できるのにできないと言い切ったり、できないのにできると言い切っては、満足を得ることはできません。
できるということを明確に言えれば、「じゃ、どうやってやるの?」に対して情報提供ができるので、新しい仕事が生まれたりもします。どうやってやるかを今聞いても、なかなか覚えきれないので、次のステップにそれを求めてくることがよくあります。
あとはマッピングするだけ
何を使えば何ができるかを押さえたら、後は何がしたいかを明確にします。
それも、ディレクターの仕事です。
「何がしたいか」に対して、「何を使えば何ができるか」をマッピングすることで、成果物が完成します。
ディレクターは「何がしたいか」を定義して、場合によって「何を使えば何ができるか」の情報を交換し合う。(コミュニケーションを取る)
あとはマッピングするためのロジックをプログラマが書く。
これが実践できれば、プログラマとコミュニケーションが取れるディレクターになれるのではないかなと思っています。
もうちょっと言うと
できれば、「何を使えば何ができるか」に加えて、「なぜそれが生まれたか」という背景や「なぜそれでそれができるのか」という仕組みを理解すると最強です。*2