プログラマーと聞くと、パソコンに向かってなにやら英語の文字を打つかっこよさそうなイメージを持っている方や、逆になんだかオタクっぽいイメージを持っている方など、色々だと思います。しかしながら、おそらく共通したイメージとして持っているのは、とても難しそうなことをやっている、ではないでしょうか。
実は一言にプログラマーと言ってもその役割は多種多様にあり、簡単なものから難しいものもある非常にギャップの大きい業界となっています。
たとえば、プログラマーの中には、実際にプログラムを組む前の段階で実は詳細な設計書がきちんと作成されており、あとはその設計書通りにプログラムを作ってしまえば頭をほとんど使わずに作ってしまうこともできることがあります。この場合、1つのプログラムを完成させるには実は多くの細かい工程が連なっており、その工程に応じてそれぞれの役割をもった人々が仕組みを考え、設計書を作るなどしていきます。プログラマーはこの最後の工程にあたる役割ですので、設計書の指示に従ってプログラムを作ればいいわけです。
しかしそれとは逆に、研究分野などに携わるプログラマーは世の中の最新技術を常に学びながら今までにない仕組みを自ら考え、よりよいプログラムを構築していくという場合もあります。この場合、自ら仕組みを考えるためより深く、広くコンピュータやプログラムに関する知識を必要とするため、それだけ難しいものになります。
このように、プログラマーにもそれぞれの分野に応じた難易度があるため、必ずしもイメージと一致するばかりではないということがわかります。