なぜ僕はソースコードを読み飛ばすのか

 

ソースコード読んでないね、あはは(笑)

ちょっと注意されました、悪い癖。僕にはソースコードを読み飛ばす癖があるみたいです。そういえば、僕がエンジニアとして一番最初に入った会社でも同じことを言われました。今はiOS開発の現場にいるんですけど、その時はインフラ系のサーバー技術者で「ねえ、一番上からなんで読まないの?」って言われたのすっごいよく覚えています。人間同じ過ちを繰り返す生き物でして、人間なかなか劇的に変わらない生き物でして、人間っていうか、私だけか。なんでもっと成長しないかなあ自分。トホホ…orz

わかった気になっている

気を取り直して、何故僕はソースコードを読み飛ばすのかちょっと(深く)考えてみたいです。まず思い至ったのが「わかった気になっている」っていうことです。わかった気になっているっていうのは、もうすでに何度も読んだから読まなくていいやっていう非常に生意気な考え方で、直すべきです。

どんなコードにしたって、どんな解説書にしたって、ほとんど全てにおいて読みこぼしてたり頭から抜け落ちてたりしてる場所があって、そういうところに限ってほとんど全てにおいてそれは重要な部位なのです。そうじゃなきゃ詰まってないし、解決できてますから。それに人間が忘れる生き物であるならば「何回も読んだからもうここの情報は頭に入ってる」って記憶だけが残っていて中身は抜けているっていうのはまさに悪夢!どげんかせんといかんってことです。

理解できない実装はシカトしてる(しかも無意識に)

そしてその次、これは僕にとって→何故僕はソースコードを読み飛ばすのか問題を紐解くもっと大きな原因であり、同時に解決策でもあり、更に加えていうのならば、自分がこれから技術者としてやっていく上で絶対に乗り越えなきゃいけない壁だと思っています。それは「知らず知らずに理解できない実装の部分を見て見ぬ振りしてる」です。えーっと、自分のことなのによく理解できないんですけど、多分「あ〜よくわかんねえなココ、多分ここは関係ない部分だろう」って勝手に思い込んで(無意識)読み飛ばして忘れるんです。これは僕だけなのでしょうか。多分僕だけですね。てか僕だけだとしたら本当に僕の技術者としての素質は皆無です。もっとも皆無です。

例えば、僕レベルになると他人が書いたソースコードっていうのは概ね訳のわからないものでして、訳のわからないだけならまだ良いんですけど、時にそれらは僕を謎に満ちたノルウェイの森に彷徨いこませるものなのです。ノルウェイの森から抜け出すためにはお腹いっぱいに茂っている草木達一本一本と根気よく対話をして(どうやって草木と会話するんすか)心をかよわせないといけないのですが、僕みたいに根性がなくて頭が固くて無能だと、バカみたいに力技で空高く飛び上がろうとするんすね。空高く飛び上がるっていうのは、まさしくソースコードを読み飛ばすってこと。空高くジャンプして空から出口を見つけようとするんです。まあ、そんなことをしたって出口は見えないし、かえって蟻地獄みたいに深い深い樹海にハマっていくんですけど、バカなんですかねえ。モットキアイヲイレルンダワタシ!!!

プログラマとして成長したい

僕は成長しなければいけません、もっともっと。絶対にソースコードを読み飛ばさずに、わからない実装に出くわしたら根気よく一個一個理解して下に進んでいく。全てを理解しろとは言わないけど、全体像(定義されてる変数や関数)は理解すべきだし、ソラで思い出せるくらい暗記すべきだし、全てを理解しろとは言わないまでも、例えば自分が今から実装しなきゃいけない箇所に関するソースコードは全て理解しないとダメだ。エラーコードから逃げるな!他人が書いたソースコードから逃げるな!ってことです。「ソースコード読んでないね、あはは(笑)」って言われてショック隠しきれないんですけど、成長するんで!!!!絶対!!!!