プログラミングは手段に過ぎないのか?-仕事としてのプログラミングの本質と専門家の在り方を考える

菅野 黎樹のプロフィール画像
エンジニア 菅野 黎樹

453 view

プログラミングは手段に過ぎないのか?

エンジニア界隈でちょくちょく話題になることの一つに「プログラミングは手段にすぎないか否か」というのがあるのではないだろうか。前提として、ここで指すプログラミングというのは仕事としてのプログラミングを指しており、設計なども含む。

これに対する私の個人的な意見はやはり「仕事におけるプログラミングは手段に過ぎない」だ。プログラミングで作るものは何かしらのシステムやサイトなわけだが、そもそもそうした成果物は、何かの目的を達成するためのツールにすぎない。

そしてプログラミングはそうしたツールを手に入れるための手段であり、道具に過ぎない。究極の理想をいえば、開発を発注しなくても、「こんなシステム、サイトが欲しいな」と思った瞬間にそれが手に入り、開発期間0秒ですぐさまビジネスにツールを導入できるというのが理想形なわけだ。

極端な話、AI技術やノーコードツール、既存サービスの進化によって、現在のエンジニアがやっているような開発業務がこの世から不要になれば、それは多くのビジネスや活動がより迅速に進むことになり、社会全体にとって良いことだと言えるのではないだろうか。(とはいえ実際になくなったら私は職業的に困りますが…)

なのでやはり私としては、仕事としてのプログラミングは手段であり、そこに高尚な工芸的側面を求めることは適切ではないのではないかという意見になる。個人的に小規模な案件を受けていても、クリエイティブ的思考重視の方たちが言う「良くないコード」の方がベターな選択になる案件というのは少なくない。

しかし忘れてはならない、一専門家としての在り方

しかし一方で、エンジニア個人の在り方として、上述の考えに相反するような職人的気質というのは併せて持っておかなければならない。別に持っていなくてもいいのだが、ほとんどの人はそれがないと仕事に必要なスキルレベルに達するのは厳しいのではないだろうか。

つまり、職人的なこだわりや情熱を持ち、スキルを突き詰めていく面もないことには、「手段としてプログラミングを利用する」ということができるレベルには中々なれない。

業務の中で手段としてのプログラミングを冷静に行い、効率的にさまざまな要素を取捨選択していくためには、多くの無駄を身につけておく必要がある。手段と割り切って仕事でプログラミングをするというのは、スキルが最低限でいいということではない。取捨選択をしようというだけであって、「選択ができる」状態になるためには色々なものを持っている必要がある。

この相反する二面性を持って使い分けるということは非常に基本的で当たり前の話のようで、こうした話題のやり取りの中ではどうもその認識が見逃されがちになることがあるような気がする。

おわりに

色々書いたが実際のところ、プロダクトが大規模になるほど、クリエイティブの文脈で語られる「良い」が必要になってくるケースが多い。クリエイティブ文脈の「良い」も、実際の仕事の中で発生した様々な問題とそれに対する解決策が根底にあることがほとんどだからだ。大事なのは、その必要性がどこに起因しているのかを忘れず、状況に応じて適切な使い分けを選択できることだろう。

関連する日報

    話し方の「良い例」「悪い例」

    2,427 view

    新屋敷 章寛のプロフィール画像
    新屋敷 章寛 デザイナー
    WHO,WHAT,HOWビジネス理解が楽しくなる魔法の言葉

    220 view

    塚元 舞賀のプロフィール画像
    塚元 舞賀 デザイナー
    わたしのタスク管理術

    9,167 view

    板垣 琴音のプロフィール画像
    板垣 琴音 デザイナー
    質問力は「軽率に質問すること」で磨かれる

    800 view

    高島 藍子のプロフィール画像
    高島 藍子 デザイナー
    プロジェクトを円滑に進めるために他職種領域まで越境していく

    217 view

    山崎 勝椰のプロフィール画像
    山崎 勝椰 デザイナー
上に戻る