職人に成らなければいけない

プログラマの間に、ともすると職人を軽視するような風潮があることに、大きな危惧を覚えている。
SEは素人でも始められる簡単なお仕事です、なんて文句が言いはやされるようになってしまったせいだろうか。

果たして、素人が仕事だけでプログラマをすることが素晴らしいことなのだろうか?
プログラムすることが、仕事上の人生の目的を達成する単なる手段であっていいのだろうか?
僕はそうは思わない。
誤読される危険を承知で敢えて言うが、職人に成らなければいけない。

そもそも、「プログラマ」という言葉の意味が、語る人によって違うようだ。
まず、広辞苑によれば、プログラマとは「コンピューターのプログラミングに従事する者」だそうだ。素人はプログラムなんか組めないから、素人はプログラマではありえない。
へりくつに聞こえるかもしれないけれど、なんも解ってないでプログラマになろうだなんて言わないで欲しい。

百歩譲って、ここではソースコードを与えられたエディタに記述できることがプログラマの技能としての一種であり、素人++がプログラマであり得るとしよう。
すると、素人定義におけるプログラマとは、ソースコードを書くだけでお金が貰える人のことだ。
あるいは、プログラムを書いてご飯を食べる人のことだ。それ以上でも、それ以下でもない。

人によっては、プログラマという言葉がこれこそを意味し、「プログラムなんて動けばいんだよ」と言う。
また、ある人は、それでは足りず、バグを埋め込んで知らんぷりをすることさえある。
人によってプログラマという言葉の意味がこれほど違うのに、その違いに目を向けず等しくプログラマに成りたい、プログラマで有りたいと言い合っているのが問題。

言葉の揚げ足取りをしているのではない。
なぜここまで、言葉の意味を気にしているのかと言えば、それが「プログラマという職業の衰退」につながるからだ。

どんなに人が増えて魅力的な言葉を並べ立てても、カスが集まれば、プログラマという言葉の意味が変性してしまう。
カスどもは壁にぶつかれば、易きに流れてしまう。
だから、プログラマという言葉の、自分にとっての意味をよく掘り下げ、理解することが重要だ。
可能ならば、プログラマという言葉を使わずに、自分のやりたいことを表現してみて欲しい。

プログラムを書くことができるだけのプログラマプログラマではない。
では、何がプログラマであるかと言えば至極個人的な言葉の定義でいけば、それは「職人」である。
そして、職人である為には「何かの」職人で無ければならない。
何も卓越した知識や技術を身につけ、未来永劫役に立つような誰も見たことのない未知のプログラムを組め、そうでなければ職人ではない、と言っているのではない。

プログラムは元々、何かを楽にするために生まれた。
目の前の仕事を片付ける為だけにプログラムを組むのではなく、プログラムをもっと違う事に使えるように目を向けたり考えたりしなさい、ということだ。
別段、変わった技能が無くても良い。
普通くらいのプログラマで良い。愛があれば腕の差なんて。
僕らは産業を発展させるために職人に成るわけではない。
技術を支えるという大儀を胸に抱く必要すらない。
常に「あるべきと思う」のは個人であって、それは個人の思いを越えられない。
だから、僕がどうこう言おうとも世界は変わらないし、人は変わらない。
ただ、少なくとも身近な存在にとっては誇れるプログラマでありたい。
であるならば、僕は職人にならなければならない、と考えている。
何の職人か、はまだ見えないのだけれど。


元ネタはこちら。
(職人に成ってはいけない)


勿論、自分はカス以下の存在ですが何か?