面倒くさいのが嫌ならプログラマを目指すな!

もうすぐ4月になり、新学期がはじまります。私は、来年度も引き続き非常勤講師の仕事も行う予定なので、毎度のことながら同じようなやりとりを生徒と行うことになるんだろうなと想像しています。具体的には、コーディングを面倒くさがって音を上げる生徒とのつぎのようなやりとりです。

生徒 「面倒くさい。先生、何か裏技のような方法はないんですか?」
私  「あるよ、お金を払って外注に出せばいい」

もちろん、私のこの回答は適切とはいえません。ですので、その直後に必ず説明をするようにしています。仕事でプログラムを開発するのであれば、プログラムを完成させることが目的であって、自分でプログラミングするか外注するかは手段でしかありません。だから誰がやるかは交換可能なのです。もちろん、それができる立場でなければなりませんし、場合によってはそれで自分が仕事を失うこともあり得ますが...。

一方、勉強でプログラミングしているのであれば、能力を身に付けることが目的であって、プログラムを完成させることは手段でしかありません。だから自分でやるしかないのです。自分の状態を変化させなければならない以上、自分でやるしかありません。それを人任せにするのは、トイレに行くのが面倒だから代わりに行ってくれというようなものです。

プログラマは面倒くさがりの方がよいという話もよく耳にします。しかし、これもプログラムを完成させることが目的の場合に当てはまることであって、勉強によって能力を身に付けることが目的の場合はあてはまりません。実践的なプログラミングで、冗長な部分をなくして効率を上げることで、面倒なことを回避するための能力を身に付けるのは、それはそれで面倒なことなのです。

面倒くさいから手を抜きたいという欲求が、結果としてよりよい成果物を生み出す方向であればよいのですが、そもそも未熟な生徒にそれを期待しても無理です。それよりは、少々面倒でも体で覚えることを目指す方がよいでしょう。そうでなければ、安易に他人の成果物をコピーするだけとか、そういう方向に走ってしまいますから。

勉強の過程では面倒なことは多いもので、実務では使うことが少ない、またはまったく使わないようなことでも、基礎として学ぶ必要があります。そうでなければ、いくら便利な道具があっても、本当にそれらを使いこなすにはいたらず、道具に使われるだけになってしまいます。身近にいませんか? 何とかウィザードの奴隷のようなプログラマが。

そういえば、娘が冬休みに書き初めの宿題をやるときに、墨汁が切れてしまったらしく、困っていました。私は「墨を磨れ!」と指示しました。娘は面倒くさいといっていましたが、墨を摩りながら精神を整えるのは書道の基本であり、上達すれば墨汁でもある程度それができるようになるのでしょうが、初心者にそんなことは無理です。だから面倒でも墨を磨るわけですが、最近はそんなことも教わらないようです。結局、面倒くさがって薄墨になってしまい、書き初めがお悔やみのようになってしまったようです。

この記事のトラックバックURL:

http://www.kijineko.co.jp/trackback/728
このエントリーを含むはてなブックマーク