このエントリを読んでふと思った。
プログラミング能力がある人って、こういう感覚がいっぱい出てくる人なんだと思う。数学で問題をみたときに、あの解法かあの解法のどっちかで解けるだろうという直感。その感覚の質と精度と量を増やしていくには、やはり経験が一番なのかもしれない。
ブクマコメントにも書いたけど、プログラミング能力ってこういうことなんじゃないかなと思う。
「いける」と思った数×「やべぇ」と焦った数=プログラミング能力(「できるようになった」数)
プログラマーに向いている人は諦めの悪い人です。なんかもうちょっとでできそうなんだよなぁ〜という産みの苦しみを夜な夜なGoogle先生と共に楽しめる人が良い。プログラミングってはじめから答えが無いことが多いしね。何事もそうだと思うけど、「できること」を何度も何度も繰り返してもそれは上達にはつながらない。「やったことないけどいけそう」「技術的には出来ると思うんだけどやり方がよーわからん」「これをこうすると多分いける」という課題をこなしていくことが一番大切なんじゃないだろうか。その中で「やべぇ」と「お、いけるじゃん」というのを行ったり来たりする。それが大事MANブラザーズバンド。
私はプログラミング言語なんてとてもじゃないけど作れないし、24時間コードばかりを考えて生きていくことは正直出来ない。プログラミングの過程そのものは楽しいと感じるけれど、それは物が出来る事が楽しいのであってその過程は出来る限り簡単なほうが正直嬉しい。可能な限り楽がしたい。下記にあるように「DBにクエリーをかけてHTMLにぶちまけるだけの簡単なお仕事」で構わない。つまんないなぁとは思ったことが無い。
プログラミングしたい人々は、物が出来るまでの過程を楽しみたい人である。だから、「DBにクエリーをかけてHTMLにぶちまけるだけの簡単なお仕事」が退屈で仕方がない。しかし、アプリ開発したい人々にとって、物ができるのは出発点にすぎない。彼らが楽しむ過程というのは、それを公開し、それを人々が使ってみるところにある。それがただのハッシュなのか人工知能なのかというのは、はっきり言っておもちゃの材質程度の意味しかない。
私は典型的な後者のタイプだけど、時代遅れの男にはなりたくないしコードを書くってことを辞めたら色んなことを失いそうで怖いと感じている。システムって基本的にすごい力を秘めていて、ひとつのサービスが行動習慣を変えるだけの力を持っている。そういう力を感じ取れるセンスがプログラミングでもアプリ開発でも重要だと思っていて、恐らくそれは梅田さん(id:umedamochio)が提唱している「Webリテラシー」という言葉に集約されている。それを教養として身に付けるためのプログラミングはやっとくべきだなと思います。