Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

古代文明の謎を追うようにコードや仕様を読む / 「理解」のシノニムを具体的に決めてみる

ツイッターにも書いたが、エンジニアをやってる根源的な動機として、「難しいけどイケてる仕組みを理解わかりてェ・・・」というものがあり、それに衝き動かされてソフトウェアエンジニアという職をやっているようなところがある。

その一方で、難しい仕組みを理解わかるための方法論が自分の中に確立できてなくて、蝶のように舞い蜂のように刺す、というわけにはいかず、泥のようにコードや仕様を探すし、泥のように読んだり書いたりして、なんとかやっている、という具合。

こういう体系的に理解していくというやつが昔から苦手で、いつも無理矢理グワッと理解して押し倒す、というパワープレイをやってしまう。

悪いことに、パワープレイでなんとかする体験を積んでしまうと、その部分を理解したような気になってしまう。実際は辛勝しただけだが、完全勝利した気になってしまう。そうなると遅効性の毒で、プライドは高くなるし、もう理解わかった気でいるのであえて調べようという気分になかなかならない。そうして成長できなくなっていく。

どうしたものか、と思っていたところ、古代文明を探検するインディージョーンズは絶対楽しいはず、なぜならワクワクするから、という気がしてきて、古代文明の謎を解く気持ちで仕様やコードを読むことで、どんどん巨大なコードベースを読んでいけるかもしれない。

そもそも雑に理解わかったと言ってるけど、なにをもってそう言っているのか未定義なので、自分が納得するまで理解わかったことにならない、という問題があることにも気付いた。

という話を書いていたら id:tanishiking24 に良いアイデアをもらった。

いったんこれができたら理解したって言うことにしよう、という具体的な定性的?なメルクマールを考えるという視点がまったく欠落していたので、今後意識してみようと思う。「どうなったら理解したことになるんだ!」というのではなく、それは実は自分で決めることができた、という話。

ふだんわれわれはざっくりと「理解した」と言っているけれど、それって実はかなり曖昧なコトバだよね、という事に気付けたのが良かった。

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?