プログラミング作業を将棋に例えてみる

特に非エンジニア向けに書く。

プログラマーの仕事はエディタに向かうことではない。

「お前は何を言っているんだ?」
まぁ、待って欲しい。説明する。

「将棋指しの仕事は駒を動かすことだ」
?おかしいですよね。将棋指しの仕事は駒を「どう」動かすか考えることだ。
実際にレベルの高い将棋指し同士は、盤面が無くても脳内だけで試合ができる。

もちろん、プログラミングを実際に行なわないとコンピューターは動かない。
さらに例える。

プログラミング作業におけるコードをコンピューターに打つという作業は、
将棋指しが駒を動かす。というのに近い。

ただし、場合によっては駒の重さが30kgぐらいある。
どんだけ優れた将棋指しでも、30kgの駒を100回とか動かしたら、
疲れて頭回らなくて素人にも負けてしまうかもしれない。

30kgもある駒を動かすのは大変だ。
だからプログラマーはエディタ工夫したり、
開発環境工夫したり、色々して駒を軽くする。

盤面について考えることも大事だし、
駒を軽くすることも大事。

で、優れたプログラマーは駒をめっさ軽くする。

となると、プログラマーの仕事は、
ほぼ、考えることだ。

ご理解いただけただろうか?