プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

プログラマでなくとも、プログラミングを知っておくべきなの?

先日友人にこんなことを聞かれた。

チームリーダーに「メンバーは全員コーディングスキルを取得しておくべき」と言われた。
プログラミングを学習した方がよいのか!?

友人の所属するチームは確かにソフトウェア開発部門ではあるが、ソフトウェアそのものを作るのではなく、顧客に導入を進めたり、サポートを行うといった業務がメインであり(営業ではない)、プログラミング技術は必須ではない。チームリーダーは元々プログラマであり、今でもコーディングをしたいが、仕事上それは難しい、といった感じだった。

こうした背景から、友人はプログラミングを学ぶべきかどうか悩んでいる感じだった。

これについて私は

「ソフトウェア開発部門であるから、プログラミングは知識として知っておいて損はないけど、業務上要求されていないのであれば、ムリに学習する必要はない」と答えた。

もちろん開発に限らず、ソフトウェアに関する仕事でプログラミングについて知っているに越したことはない。プログラマの魔術のような呪文(笑)に惑わされにくくなるし、顧客にソフトウェアの良さを伝えたり、システム構築やトラブルシューティングなど、様々なシーンで役立つことは間違いない。

ただ、それはあくまで補助的なものでいいと思う。よく言われることだが、優秀なプログラマと普通のプログラマとの能力差は何十倍もある。餅は餅屋。プログラミングに関することはプログラマに聞くのが、結果的に早いことが多い。

最初の話の問題点は

「チームリーダーの要求が不明確」であることだと思う。プログラミングには様々なレベルがある。hello worldを書ける、基本的なアルゴリズムをプログラムに出来る、モジュールを設計できる、などなど。Excelのマクロだって、プログラミングといえる。

まずはどこまでスキルを取得することを期待するかを明確にすべきだ。リーダーはプログラマ出身のようだが、それは誰でも簡単に到達できるものではないだろう。「知っていた方が便利」と「開発部門ならプログラムを作れるぐらいになるべき」では全然違う。

個人的には、プログラミングを覚えることは補助的にあればよくて、それよりも個人の持つスキルを最大限に活かすことの方が重要だと思う。