Quantcast
Channel: プログラマタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 127

失敗してもめげないプログラマになるには

$
0
0

プログラマに限らず、失敗したり、怒られたり、いやがらせをされたり、果てはいじめられたりしても、めげないようにするにはどうしてきたかを書いてみます。

自分しかできないことをする

ぼくの先生 プログラマになるまで
https://qiita.com/kaizen_nagoya/items/53e4bded9fe5f724b3c4

中学校の技術の先生に、人がやらないことをやれと言われました。
学校の教室内だけだったら、見回して、人がやらないことをやるのは簡単かもしれません。

世間に出て、人がやらないことをやろうと思うと、
誰が、何をやっているかを知らないと、人がやっていないことをやるのは難しい。

自分の直感を信じればいいという人もいるかもしれません。
演劇の寺山修司とか、音楽の松本隆とか細野晴臣(はっぴいえんど)とか、
自分では到底到達できなさそうなところを進んでいる人を遠目にみると、
自分の直感で人がやらないことができる自信はありませんでした。

何年ももがいてい、懸賞論文とか6年とか、7年とか出し続けて、毎年落ちるとめげていました。
あるところで、二位になったことがあり、ああ、上がいるんだという思いが増してきました。

とにかく、やたらめったら勉強したり、やたらめったら書き散らすしかないと思っていました。
あるソフトウェアで、ソースコードがあり、知人がマクロを作ったとき、
自分もなにかやらねばと思い、ソースコードを持ち歩き、すべての行をコメントにして振る舞いを確認していったら、思いがけない成果がありました。

失敗の記録は後の人に役立つ

人が育つのに、成功が必要だという説には同意する。
成功した事例をどれだけ書いてあっても、そこには成功の本当の要因が記載されているとは限らない。

時代、環境、人の能力、性格、周りの人々など、書ききれてないことが山のようにある。

失敗の記録でも、失敗の要因も書ききれない程度は同じかもしれない。
ただ、経験則として、本人が失敗の要因だと思って書いた事項の50%くらいは妥当だと思う。

成功の要因は5%くらいしか妥当だと感じたことはない。
成功の要因は本人の見えないところにいっぱいあって、成功している限りみえない場合がある。

失敗の要因は、成功している限り見えないものが見えてしまうかもしれない。

その割合は約10倍。
失敗したことを、公開できることなら公開の場に記録しよう。

先日、ある実験の報告を拝見した。
大事なのは成功したデータではなく、成功したデータが出るまでに、実験に失敗したデータの記録だと。

学生の電気実験で、前年の報告をもらって、実験をしても、同程度のデータが最初から取れることは半分もなかった。
報告には、失敗した実験の記録がなく、工業高校の頃から実験が得意だった同級生の経験に頼るしかなかった。

できれば、自分たちの報告は、失敗も記録しておけば、翌年からの実験の際に役立つかもしれないと思った。

失敗がいっぱい記録してあれば、経験の蓄積に厚みができ、もっと違う失敗をしてみる勇気がわくかもしれない。

仮説検証

失敗する前に、今からやることの制約条件を知っているかどうか。
経験があるかどうか。経験がなければ、経験のある人の記録をみておくかどうか。

学生実験の場合では、前年の実験の報告をみておくこと。
数年前だと、実験装置、実験環境、材料、道具の違いがあるかもしれない。
細かい制約条件が報告に書いてないと、古い報告は、制約条件が違う可能性を想定しておくとよい。

制約条件は無限にあり、書ききれない。
いつ、だれにとって、どういう状況かで、大事な制約条件は違う。

立てた仮説を検証してみる過程で、制約条件の抜け漏れなどで失敗することは、
時間の変化の中でありうることだろう。

一つでも仮説についての新たな知見があれば、プログラミング実験そのものが失敗でも、
報告としては有用な情報が一つつけ加わることになる。

仮説の失敗

「失敗してもめげないプログラマになるには」という仮説そのものが間違い。
失敗は、失敗を記録するためのものであり、着実に成長するための記録でしかない。

問題は、過去に類似の失敗の記録があるのに、その記録を読まずに、同じ失敗を繰り返すこと。
これは、失敗ではなく、怠惰。

怠惰と、失敗を一緒にしてはいけない。

参考資料

初めての CEDD(Compile Error Driven Design) 8回直してコンパイル。
https://qiita.com/kaizen_nagoya/items/9494236aa1753f3fd1e1

C++/C コンパイルエラーを記録するとよい理由7つ
https://qiita.com/kaizen_nagoya/items/85c0e92b206883140e89

今日は何をやってもうまくいかない。明日のために3項目エラー等記録。
https://qiita.com/kaizen_nagoya/items/8ad6e7a2fa19e01ba9bb

「プログラマを目指す」ことの間違い?
https://qiita.com/kaizen_nagoya/items/513f39bcf01a3db36d09

pip install cupyでエラーが出た
https://qiita.com/kaizen_nagoya/items/19a66d86cd7eaf733a3e

docker不調 -> Athrill動作 -> 日報に
https://qiita.com/kaizen_nagoya/items/167c0efd482dbf2cec1f

機械学習・深層学習でできること、できないこと。仮説10個。
https://qiita.com/kaizen_nagoya/items/41a567f149f78145fd4c

文書履歴(document history)

ver. 0.01 初稿 20190501
ver. 0.02 表現修正 20190503


Viewing all articles
Browse latest Browse all 127

Trending Articles