HEXA BLOG

いいモノづくり道

HEXA BLOGいいモノづくり道2008.6.26

分かる、ということ

こんにちは、ナカムラです。
プログラム開発を仕事にしていると、新しい作業を担当することがよくあります。
その度に勉強し、知識を広げていくわけです。
本を読んだり、ソースを解析したり、他の人に質問するうちに理解が広がり、ある瞬間

「分かった!ひらめき

と自覚することになります。
今回は、普段意識することはないですけど、

「仕事を理解する時には、こういう段階を踏んでいる」

という説明をしてみたいと思います。
プログラム作業に沿った形で説明しますが、おそらく他の仕事でも似たような段階を経て、ステップアップしていくものだろうと思います。
1言葉、意味を覚える
専門用語とその意味の理解が不十分だった場合、作業はなかなか進みません。
仕事に就いたばかりの頃や、新しい作業を行う時は、初めて聞く言葉ばかりで、作業の説明を受けても何が何だかわからない、と言うことが多々あると思います。
質問をしようにも、何を質問していいのかわからない。
質問したとしても要領を得ない質問をしてしまう…という段階では、まず言葉・専門用語を覚える必要があります。
また、問いかけられた側も、
「~~という意味で言ってるの?」
「要約すると、こういう質問をしたいの?」
という確認のフォローをしてあげる必要があると思います。
2使い方、やり方を覚える
プログラムで言うなら、あるクラス・関数の中身がどう実装されているのかわからないものの、それを使って別のプログラムを問題無く作れる状態、と言うことになります。
とりあえずの作業を行うためには、少なくともこの段階に至ってなければなりません。
3仕組みを理解する
どのような原理でそれが成り立っているのか、理解しているし説明も出来、質問にも答えられる、と言う状態です。
物事が理解できたわーい(嬉しい顔)と言えるのはこの段階から、だと思います。
4意図を理解する
プログラムで言うなら、何故そのような設計になっているのか、他の手段は検討できないのか?を考えられる状態です。
この段階に達しないと、さらなる工夫を凝らすことはできません。
プログラムの設計者がそばにいる場合は、その意図を直接本人に確認できますが、そうでない場合、想像して意図を推し量るしかありません。
どうしても意図が分からない場合は、実際に自分でプログラムを作成・改造し、意図の不明な部分を取り除いたときに、どういった不具合が出るのかを検証したりもします。
たまに、

「ん~特にそういう風に作った事に意図はなくて、たまたまそうなってるだけ。」

というケースもなくはないです。
このように、意図無く作られた箇所には、改善の余地が残されているケースが多いです。
昨今のゲーム業界では、
「中身を知らなくても、簡単にプログラム実装ができるよ!」
と言うことを売りにしたライブラリ、エンジン、ミドルウェアが多々ありますから、2の段階に至るだけでも十分作業ができたりします。
34段階に至る労力を省くことで、作業効率をアップしているわけですね。
しかし少なくとも、自分が得意だと思える分野に関しては、使い方を知るだけで止まらず、次の段階に至って欲しいと思います。
みなさんは、どの段階で「分かった!ひらめき」と言ってますか?

RECRUIT

大阪・東京共にスタッフを募集しています。
特にキャリア採用のプログラマー・アーティストに興味がある方は下のボタンをクリックしてください

RECRUIT SITE