ボム君.com

読者です 読者をやめる 読者になる 読者になる

ボム君.com

レビュー、IT系のネタ、ブログ術等を書いています。

プログラミングが僕に教えてくれた大事な事

SPONSORED LINK


僕がプログラミングをやり始めてから約10年になる。

最初はC言語の入門書にあるようなHello Worldの文字をコンソールの画面に表示するというところから始まり、プログラムを通して様々な事を勉強した。
当時の僕はプログラマーとして幼かった。



当時の僕


上司「ボム君。ちょっとこんな仕様のプログラム作ってみてよ。できそう?」


僕 「これ位楽勝っすよ!2、3時間あればできます!任せて下さい!」


1時間後


僕 「よっしゃコード書き終わったぜ!後動かすだけだから終わったも同然だな。さーてビルド!(ポチッ)」

コンピュータ「エラーの最大数が上限を超えました。」


僕 「はぁ?俺のコードに間違いがあるわけない。コンパイラーとかWindowsの不具合じゃないの?まぁしゃーねーし調べてやるか。(イライラ)」


1時間後


僕 「全部俺のミスだったか。まぁ、たまたまケアレスミスしただけでたまにはそういう事もたまにはあるか。取り敢えず修正したし動かしてみるか。実行!(ポチッ)」


数秒後

コンピュータ 「アプリケーションが異常終了しました。」


僕 「なんなんだよ!言われたエラー直したしもう間違いないだろ、Windowsのバグか?
しゃーねーし、今回だけはしょうがないけどデバッグしてやるか。(イライラ)」


2時間後


僕 「よっしゃ!よう分からんがいろいろいじったら異常終了しなくなった。解決したぜ!すいませーん、完成しました!」


上司「おお、ありがとう。少し予定より時間かかったみたいだけど完成させてくれて良かった。早速使わせてもらうよ。」


5分後


上司「ボム君のプログラム動かしてるんけど、なんか変なんだよ。仕様書では入力にAとBを入れたら出力にCが出ると書いてるんだけど、ボム君のはDが出るんだよ。他にも仕様書に書かれてるけど機能が動いていないのが沢山あるんだけど、なんか知ってる?練習用ソフト?」


僕 「少し私の方で見てみますね。(あの人仕様書読み間違ってんじゃねーのか?それかWindowsのバグじゃねーのか?まぁいいや、しょうがねぇから調べてやるか。)」


2時間後


僕 「全然プログラムの内容が仕様書と合ってない(;゜0゜)。(何なんだよ!俺に分かりにくい仕様書作りやがって!)」


上司「ボム君プログラム直せそうかな?早めに修正してもらいたいなー。」


僕 「1時間あれば直せます!任せてください!」


上司「うん、じゃあよろしく頼むよ。」


2時間後


僕 「直しましたー!これで完璧です!」


上司「対応ありがとう。早速確認するよ。」

5分後


上司「さっき言った箇所は修正されてるみたいだけど、元々動いてた箇所が全然動かなくなってるんだけど?対応ありがとう。早速確認するよ。」
(ちょっとイラつき気味)


僕 「ま、マジスカ!?ち、ちょっと見てみます。(ヤベーな、なんか修正ミスったかな)」


1時間後


僕 「ヤバい。プログラムがグチャグチャでどう動くのか全く分からん(;゜0゜)えーい、最初から作り直しだー!」


2日後


僕 「プログラム出来ましたー!」


上司「ん?あ、ありがとう。でももう自分で作っちゃったからもう大丈夫だよ。また今度機会があったらお願いするよ。」


僕 「そうなんですか…。分かりました。(-。-;」



昔のこの会話から僕が学んだ事、それは

プログラミングで自信過剰は悪

当時の僕は実力が無いのに自信満々だった。
見積もりも出来ないくせにさも見積もったかのように答えるし、プログラミングでもやたらと仕様書やコンピュータのせいにする。自分は間違ってない、間違ってるのは自分以外だという幼い考えだったんだと思う。

www.huffingtonpost.jp

コンピュータはまず間違わない。
A+B=Cのような計算を100万回やらせても、正しく設計されたプログラムなら1度も間違わない。
人間が同じような事をやるなら絶対一度は疲れてたりケアレスミスで間違うだろう。
コンピュータを疑うのではなく、まずは自分が間違ってないかを疑おう。

自分のプログラムを疑い、仕様通りに設計できてるかを疑い、検査もちゃんとやれてるかを疑い、そういうところからいいプログラムが出来るのだと思う。