プログラミングって何だっけ?

どうも根本的な事が分からなくなってきた気がする。

コードを書くとか、素早く書くとか、動くものを作るとか、オブジェクトがどうとか、アジャイルがどうとか。自分が身につけなきゃ(思い出さなきゃ)いけないのは「考えて実現する力」っていう根本的なところなんじゃないかと今更ながらに、不安感と一緒に思うようになってきた。これは働き始めてからずっとではあるんだけど、なんとか2.0とか新しいものに流されてうだうだやってきてしまったせいで頭の隅に追いやられてたように思う。

会社の上の人に「ツールギーク(フリーク)」と言われた段階で気づくべきだったんだけど、なるほど「プログラマ」じゃなくて「コレクター」っぽいそぶりを随所に見せていた訳だ。ちゃんと(無意識かもだけど)忠告してくれていたのに、気づけなかった。それが悪いとは思わないし、アンテナは張り続けるべきだと思う。けど、開発リソースが云々で困っている時にそんなことしてちゃ駄目でしょう、と。「勉強」してたらいいんじゃなくて、「何を」身につけようとしてるのか、「何が」出来るようになろうとしているのかをちゃんと考えなきゃいけなかった。

で、じゃあ何やったらいいんだってのが分からない。学生時代にクイックソートがどうとかハッシュがどうとかっていうアルゴリズムの授業は受けた。ただ、クイックソートもハッシュも今は言語レベルで用意されてる。そこで、それを理解して何にいかせるのって事が大事なんだと思うけど、よくわからない。発想の仕方?それを実現していく手法の中からプログラミング技術を学んで、それらを取り込んでいけって事なのかな。

結局、誰かのソースコード読んで興味深いコードを拾い集めていくって方法しかないのかな?「Aっていうサービス」の「x機能」ってどうやって実装されてるんだろう、こういう実装をするまでにどんなモデリング(設計、考え方)があったんだろう、とか。んー、これは実践できてない。見た目に惹かれるタイプなので、出てくるサービスを「使う」ところで止まってしまう。「似た感じのを作って勉強だ」って考えても、ソースコードが公開されているにもかかわらず自分で書くところから始めてしまう。勉強して身につけるのに簡単な方法は「誰かに説明できる」って事と「誰かに教えてもらう」が結構大事な気がする。そう考えると、プログラミングで「誰かに教えてもらう」事の「誰か」がソースコードに該当するのかな。後でコードを見る場合は答え合わせ?

なんだか自虐ネタっぽい愚痴になってしまった。これから始まるプロジェクトから本格的にアジャイル開発をやっていくみたいで、どうもアジャイルってのはプログラマ(開発者)の技量にかかっている気がしてしょうがない。今までは割と修正がメインだったから、既存財産を元に(迷惑かけながらも)なんとかやって来れた(と思う)。けど、これからはかなり厳しくなるんじゃないかなとかなり不安。なので、「緊急度高め」で根っこの部分で自己改善が必須。

『お勉強BTS』たてようかな…。ToDo とかメモよりもなんだか強迫観念が後押ししてくれそう。あー、中間試験とかあったらどうしよう。予習できる範囲ならあった方がいいかも?プログラマのドリルって売ってないの?業務レベルで役に足つ問題集くれぃ。

改めて技術者ってのは凄いなと思ったり。やっぱ自分で考えて調べて身につけてってのは重要だ。「教えてー」とか「英語読めねー」とか「誰か作れー」とか、駄目駄目だ。同じコードを2度書かないってのは実装中の話で、「同じ事をするコード」が存在したら「書かなくていい」って事じゃない。本当に書けるならいいけど、何の根拠もない自分には当てはまらない。「書かない」なら「読め」ってのが最低限の作法かな?

あまりにもネタが見当たらなかったので、愚痴エントリーでした。…、本当に問題集ってないですか?あ、どこぞのコーディングコンテストみたいなやつの問題を探したらいいのか?

プロフィール

このブログ記事について

このページは、koshigoeが2006年2月22日 00:02に書いたブログ記事です。

ひとつ前のブログ記事は「ドリコム RSS を使ってみた」です。

次のブログ記事は「del.icio.us post on 2006-02-21」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。