今日は、IT業界でよく耳にする「システムエンジニアとプログラマー」という仕事についてお話ししましょう。
厳密な区別はない
「システムエンジニアとプログラマーとの違いが分からないのですが…」という質問をよく聞きます。
厳密な区別というものはありません。
「システムエンジニアとプログラマーは、建築家と大工のような関係」という例え話があります。
システムエンジニアがソフトウェアの設計をして、プログラマーがそれを作る、ということですね。
これは、上手い例え話ではあるのですが、実際はそれほど単純ではありません。
建築家と大工を両方やっています、という人はいない(いても小数)と思いますが、プログラマーとシステムエンジニアの仕事は、両方をやっている人は多いです。
ある人が先週はずっと設計していたけど、今週はプログラミングをする、というのはよくあることです。
逆に、設計だけする人も、プログラミングだけする人も、あまりいません。
非常に大きなシステムを構築する場合は、設計作業だけでも膨大になるので、全体のことを考える人、ある程度まとまった部分のことを考える人、というような形で役割分担をして、設計だけを担当する人は出てきます。また、ひたすらにプログラミングだけする人というのも出てきます。
しかし、そういった大きなシステムを開発する場合でも、チームの中の半分以上の人は、設計もプログラミングもするのが普通なのです。
システムエンジニアとプログラマに必要な資格
医師や弁護士は、資格試験によって選別されますね。
しかし、システムエンジニアやプログラマは、そのような資格試験がありません。
国家試験の1つに「情報処理技術者試験」というのがあります。
しかし、これに合格していなくてもシステム開発やプログラミングの仕事をすることは可能なのです。
そのせいもあってか、こういった資格検定の合格証に意味があるのは、新卒入社の時と、その後1~2年くらいです。
こういった試験の勉強で身につく知識のうち、実際の仕事で役に立つ知識は、1~2年の実務経験の中で自然と身についてしまうため、重視されなくなるからです。(逆に、経験のある30歳くらいの人がこういった試験を受験したりすると、同僚に「なんで今更?」と怪訝な顔をされるでしょう)
プログラマの世界は実力重視なのです。
このことについては、次回に詳しく書きたいと思います。