【スキル】プログラマーには想像力が必要(その利用場面について説明)

プログラミング

プログラマーには想像力が必要なのでしょうか。

プログラミングは物作りの職業ということで、他の職業に比べて想像をする能力が必要というイメージがあります。

結論としては、プログラマーには、想像力は必要になります。

では、プログラマーにはなぜ想像力が必要なのか。

また、具体的にどのような場面で、この想像力が必要となってくるかについて説明をしていきましょう。

プログラマーに想像力が必要な理由

まずは、プログラマーにとって想像力が必要となる理由についてお話をします。

プログラマーとは、まだ形のないものから、プログラムを作っていくお仕事になります。

そして、まだ動いたことがないサービスやシステムを、最終的には動いているサービスやシステムにしていくお仕事です。

したがって、将来動くであろうプログラム、将来動作するであろうサービスやシステムを頭の中で考えて作業を行わなければなりません。

現場によっては、これから作るべきプログラムの仕様書や設計書がしっかりと整ったところもあります。

そうした場合、プログラマーとしては何をどのように作るかが、ある程度文章化されている為、それに沿ってプログラミングを行えばいいです。

ただ、全ての現場がそういうわけではありません。

仕様書や設計書がない現場も沢山あります。

また、仕様書や設計書が存在していても、サービスやシステムが動き出したあとのことが細かく記載されているわけではありません。

したがって、これから自分が作るプログラムがどのような形でできるか。

そして、それがどのようなサービスやシステムとして動いているか。

それを想像しながら作っていく必要があります。

では、具体的にどのような時に、どのような想像をする必要が出てくるのでしょうか。

2つの場面にて解説していきます。

想像力はプログラミングを行う際に利用される

プログラマーとしての主なお仕事は、プログラミングをすることです。

このプログラミングをする、プログラムを作るには想像力が必要となります。

設計書があるにしても、無いにしても、そのプログラムが動くようになった時の事をイメージする必要があります。

データがどの様に受け渡しされて、最終的にどこへ保存・表示されるのか。

その際に、どの関数をどこで利用して、それを満たすことができるのか。

プログラムコードを書く前に想像しておかねばなりません。

もし、想像ができない場合、書くべきプログラムのイメージがわかない為、ロジックを考える事ができません。

無いものを作り出すこと、プログラムコードをどのようなロジックにて作り出すかについて想像力を働かせる必要があります。

想像力は試験を行う際に利用される

次にプログラミングが終わった後の試験についてです。

試験は試験項目書の内容にしたがって、システムが問題なく動いているかを確認するという作業を行います。

その試験項目書に記載される確認項目は、基本的には設計書をベースとして作られます。

ただ、それだけではシステムの品質について問題があることがあります。

その為、その他にも様々な試験を行うことがあります。

その試験とは、実際にシステムが動き出したあとのことを想像できなければ、どのような試験を行っていいかわからないはずです。

例えば、どのようなユーザーがどのくらいの数、どのようにシステムを利用しようとするのか。

また、それが行われた時に、システムのどの部分にどのように影響が出てくるのか。

これらを想像をして、システム上に問題が出そうな箇所について細かく確認をおこなっていくことをします。

まだ存在しない、そして動作していないサービスやシステムの使われ方を考えて、試験を行うこと。その想像力が必要になってきます。

まとめ

プログラマーには想像力が必要ということについてお話をしてきました。

内容としては以下でした。

  • プログラマーに想像力が必要な理由
  • 想像力はプログラミングを行う際に利用される
  • 想像力は試験を行う際に利用される

もしかしたら、想像力は生まれ持った才能かもしれません。

ただ、プログラムを行う上で、想像力がない人でも十分にプログラマーとして活躍することは可能なことをお話しておきます。

想像力としてお話をしてきました。

想像力とは少し異なるかもしれませんが、プログラマーにおいて、同様の力を発揮することは経験と知識からでも可能です。

プログラミングの知識や経験から、組み立てるべきロジックのパターンや、作るべきシステムのあり方みたいなことは、充分に予測できる力を身に着けていけます。

(これを含めて想像力と呼ぶかもしれませんが)

したがって、天性の想像力でも、経験と知識からでも、今から作られるシステムの完成形をイメージすることがプログラマーにとって必要な事となります。

プログラマーを目指している方はこの事を意識して勉強に取り組んでいただければと思います。

以上です。