このところ開発するべき内容が多岐にわたり、私のチームに新たな開発メンバーが参画してきました。既存のメンバーも優秀だったのですが、あとから参画したメンバーはさらに優秀なメンバーでした。
「優秀」と一言で片付けてしまうと、何が優れているのかわからなくなりますが、かみ砕いてみるとだいたい次のようなスキルが高い人ということになります。
- 技術的レベルが高い
- 仕様について明確になっていないところを想像することができる
- 前後の仕様のつながりをイメージできる
かみ砕いて書いてみたのですが、一言で言い換えることもできます。
「仕様を実装する上での最短経路をたどることができる能力が高い」
私が開発している基幹系のシステムについては、高度な技術を組み合わせたりすることはほとんどありません。リアルタイムな取引を行うわけではなし、ビッグデータと言われるようなデータを扱うわけでもありません。基本的に整然とデータを作成しデータベースへ保存する事が一番重要な事になります。したがって、技術力が高いと言っても天才的な技術力や数学的な能力が必要とされているわけではないです。
そんな中で、何が優秀と感じられる人に共通することかというと、仕様やシステムの構成についての「勘がいい」ということになります。言い換えると直感的に前後のつながりを把握したり、ブラックボックスになっている部分を想像する事ができる能力に長けていると言うことになります。
業務システムを構築する場合、仕様を現場から吸い上げてさらにシステムのフローへ落とし込むという作業が必要になってくるのですが、この仕様を現場から吸い上げるときに不整合を見つけて隠れた要素を明確にすることが重要になってくると思います。
ところで、今回のように優秀である事が直感力の高いことと同義であると言うことにはある一定の合理性があるように思えるのですが、この事を科学できないものかと最近悩んでいます。
要は技術レベルはそこそこでメンバー全員が特定のビジネスドメインについて方法はそれぞれあれども暗黙知となっている仕様を起こすことができるようになれば非常にすばらしいシステムができるのではないかと思っています。
そんなことを考えながら本屋に足を運んだわけですが、そのものずばりのタイトルの書籍がありました。
将棋の世界では非常に有名な羽生善治さんが書かれた書籍です。確かに将棋は戦略の世界であるけれどもその選択においては直感がとても重要な世界だろうと思い手に取ってみました。
内容は短いエッセーのようになっており「直感」という言葉をもとに様々な文章が展開されています。
将棋は、一つの場面で約八〇通りの可能性があると言われている。私の場合、その中から最初に直感にって、二つないし三つの可能性に絞り込んでいく。 …中略… たくさんの選択肢があるにもかかわらず、九割以上、大部分の選択肢はもう考えていない。見た瞬間に捨てているということになる。 では、その八〇通りの中から直感によって二つないしは三つ選び出す作業とはどのようなものかと言えば、それは、写真を撮るときのようなものだと捉えている。 …中略… 直感は、目をつぶって当てずっぽうにくじを引くような性格のものではない。またその瞬間に突如として湧いて出でるようなものとも違う。 今まで習得してきたこと、学んできたこと、知識、類似したケースなどを総合したプロセスなのではないか。
全体を通して直感というものについては、上記のような経験を通して得られるものと言うことが述べられています。ある一定量の経験が昇華された結果のものということでしょうか。
確かに一万時間の法則と言うことを考えてもそうですし、私自身もある瞬間からプログラムを書く事について見える世界が変わった事を経験しました。
うーん、もし経験に裏付けされていることという話になるならば科学はできても時すでに遅しな状況と言うこともあり得るのかもしれません。「適性」という言葉が重くのしかかってくるように思います。