エンジニアの皆さんの日常に潜むいろいろな「あるある」。さて、今回はどんな「あるある」なのでしょうか...

☆☆☆☆☆☆

エンジニアが最も理解できていないこと。それはプログラムがなぜ正しく動くかです。いや、もちろん、プログラムは文法通り書けばちゃんと動くことは理解をしているんです。でも、頭の中が整理できていない段階で、適当に下書きのつもりで書いてみたら、それが素晴らしくうまく動くことがあったりして、文法ってどこまで厳格なのかがわからなくなってしまうのです。それで、下書きの適当なコーディングでは後々問題が出るだろうと思って、しっかり検討して、きちんと書き直すと、これがなぜか動かない。なんなんだよと思いますね。

頭の中で完璧にしてからコーディングしても、うまく動かない。どこをチェックしても問題があるようには思えない。仕方がないので、変数名を変えてみたり、本質的とは思えない修正を入れてみると、なぜか急にうまく動き出す。もう、わかりません。

エンジニア以外の人は、プログラムは正しく書けばちゃんと動くと思っていると思います。でも、本当はそうじゃないんです。プログラムなのに、あるときはちゃんと動き、あるときは動かなくなったりする。何か神秘的な力が働いているとしか思えない。そんなコーディングの奥深い世界に毎日触れている。それがエンジニアです。

もし、エンジニアが開発画面の前で考え込んでいたら、絶対に声をかけてはいけません。今、コードの向こう側のディープゾーンを旅している最中ですから。下手に声をかけると二度とこちらの世界に帰ってこれなくなるかもしれないからです。しばらくすると、誰も声をかけていないのに「ふんふん」とうなづく動作をするので、それまで待ってから声をかけるようにしてあげてください。

(イラスト:ConChan)

「エンジニアあるある」第4回自分で書いたコードがなぜ動かないのか理解できないが、うまくいくと、今度はなぜ動くのかが理解できない。