プログラマをやっていると、突き当たる壁がある。そんな話しを上司とした。
『僕はバカなんじゃないか』の壁
正直、ライトウエイトな言語で、ググれば出てくる事をやっているうちは、プログラマは楽しい。
じゃぁ、プログラマの地獄って何?って話しがある。
そのうちの1つが、『僕はバカなんじゃないか』の壁
開発をやっていると、試作品の基盤・試作品のCPU・試作品のデバイス、試作の企画、試作の仕様で試作品を作るというプロジェクトに当たることがある。
当然、マニュアルは未整備、ググってもサンプルの1つも出てこない。誰にも聞けない、聞いても答えが返ってこない。やりたいことはわかっているけど、どうやったらいいかわからない。プログラムのバグなのか?シーケンスの問題なのか?はたまた、CPUがおかしいのか、基盤がおかしいのか、周辺のデバイスがおかしいのか、仕様書自体に無理があるのか、電圧とか熱暴走とか外部的要因があるのか?全くわからない。正直、本当に、ワケわかんない。
正直、地獄だ。
そんな話し。
それでも、進まなきゃいけないから、コツコツと試行錯誤して進んでいく。
そういうのが1ヶ月2ヶ月と続いていくと・・・
こんな事も出来ないなんて、自分はバカで無能なんじゃないの?正直、自分の無能さに呆れるよ・・・(試行錯誤って、穴を掘って、掘った穴を自分で埋めて、また、穴を掘るような作業だからとても辛い。)と 鬱になっていく。孤独な作業で寂しいし。
そんな自分を乗り越えて、コツコツと地道に試行錯誤を繰り返し、ようやく、試作品ができあがる。
誰でも、時間さえかければ、この壁は越えられる。経験があればそれが1-2ヶ月、無ければ年単位でかかるというダケの差である。バカは強い。それは、年単位でそういう無謀な努力を続けられるから。
でも、人は、そんなに強くない。正直、数ヶ月そういう状況に晒されれば、心が折れる。
それを、心が折れないように、支えながら、前に進まなければいけない。これが、プログラマが誰しもいつかは突き当たる。地獄の1つ。『僕はバカなんじゃないか?』の壁
でも、心を折らずに、進めば、いつかは、道が見える(事もある)
問題は、どうやって、心を折らないか・・・
僕が言えることは、できれば、お酒やタバコ、コーヒー、コーラ、甘い物、ギャンブル、風俗に頼らない方がよい。でも、無理。どれか1つぐらいには、頼ることになる。ほどほどに。
そして、重要なのは、コンを積めすぎないこと。朝早く起きて、夜は22時には作業をやめて家に帰ること。体調のコントロール。先が見えないマラソンかもしれないから、ローペースで走り続けること。鬱にならないこと、苦しいときは医者に行くこと、そういう時は3ヶ月に1度程度に健康診断を受けること。
今日は、上司と話して、あぁ、みんなそうなんだ、みんな、辛いんだというのが、少しわかった。
あとは、この辛さを乗り越える自分なりの路を見つけるしかないんだなぁと。みんな同じ、みんな頑張ってるって思えば、少しは、辛くなくなるかなって
どこかの、アニメの錬金術師じゃないけれど、そりゃぁ、そんだけの地獄をくぐり抜けて何かを成し遂げたプログラマってのは、そりゃぁ、錬成陣なしで、手を目の前で叩いて、錬金術を成し遂げるさって話し。