- 2009-04-25 (土) 3:31
- Programs
引用元: 新人プログラマーがプロのプログラマーとして独り立ちするための7つの条件 – ハックルベリーに会いに行く
とっても共感できたので、TrackBack支援。
全く同じ様なことを日々思っている。
俺なりの感覚を少し書いてみる
その1「プログラマーであることに誇りを持たない」
プログラマーははっきりとした形がある世界の職人ではなく、むしろ形のないところに形をこさえるようなものだから、誇りを持つのはかえって邪魔になるし危険だということを語られた。プログラマーは、プログラマーであることに誇りを抱いた瞬間に停滞が始まるのだという。
「過去に誇りを持たない」っていうのに近いかもしれない。
日々、自分自身「あれが出来たらすごいなぁ・・・」とか、思っているけど実際自分でそれが出来る様になった時その瞬間は「俺スゲー!格好いい!!やべぇ!!」と思うが、すぐに「出来て当然だろjk」となる。
自分よりもすごい人は腐るほど居て、過去の自分の憧れに自分自身がなったことに永遠と満足してたら、もうその人は先に進めなくなる。
日々いろいろな事に「新しい憧れ」を抱くことで、少しずつ自分の目標を立てているという感じだろうか。
あとは、過去の自分の書いたコードに満足しない。もっと良い方法があるのではないかと日々模索するという意味も。
数ヶ月前に書いたコードなんてのはもう見るのも恥ずかしいことが多々あります・・・
その2「常に手抜きを考える」
優秀なプログラマーは、「物事を面倒くさくなくするためだったら、どんな面倒くさいことでもする」のだそうだ。
そう。基本的にパソコンの操作全てをめんどくさがる。
だから無駄に大量のショートカットキーを覚えるし(マウスで操作するより早い)、なるべくマウス操作を嫌う(主な操作はキーボード。そこから手が離れるから)。
その面倒なことを「仕方ない」で解決出来ない。日々すごいストレスを貯める。
今10秒かかることを、1000秒かけても1秒にしたいこの気持ちが理解出来ない人たちにすらストレスを感じる・・・
「こっちのが早いよ!」「こっちのが簡単だよ!」と日々教えてあげたい衝動に駆られるも、それを理解出来ない人たちは煙たがる。そろそろそれにも慣れないと・・・。
その3「リソースが足りないと言わない」
実際、Tさん自身は条件の悪い時の方がむしろ思わぬアイデアや方策が閃くのだそうだ。これまで何度かそういう経験をしてきて、そのうちにいつしかリソースのない状況を嘆くことはなくなり、むしろそういう状況を喜ぶと言うか、楽しむようになったとのことであった。
リソースは常に基本的に「俺だけ」の会社で働いてるから、こういう状況は常に起こっている。だからかリソース云々に関しては考えてなかったけど、困難な状況、難しい問題を解決する為のアイディアを考えるのはとても楽しい。
そういった状況の時に出てきたアイディアは特に次の「めんどくさい事」の解決に役立つから、余計に嬉しい!
要するに基本的に全てココに繋がるのかもw
その4「身辺を整理しておく」
そうすることで、何か不具合があったり問題が起きた時にも、その問題の箇所を一刻も早く見つけることができるのだそうだ。そうして、そんなふうにプログラムの中を整理しておくためには、まず机や身の回りから整理しなければならないのだそうである。
無駄なソースコードは基本的に嫌う。修正や、変更があった時になるべく少ない修正で済む様にする。後々めんどくさいから。
あと、得体の知れない何かが存在するのが嫌。机の上の書類もなるべく早く消し去る。
必要な物は決まった場処に適度に整理して保管する。
でも、基本的にリアルに物があるのは探すのが面倒なので出来る限りデジタル化して、原本が必要無いものは捨てる。
その5「勘を鍛える」
意外なことに、プログラムというのは「勘」がとてもだいじなのだということだった。もちろん、普段の勉強や経験の積み重ねはだいじなのだけれど、前述したような手を抜く際の思わぬアイデアというものは、ふとした閃きや勘、あるいは直感から生まれることがほとんどなのだそうだ。
低レベルなスクリプトしか書けないFileMakerを始めた時は、基本的に本は見なかった。
基本的なソフトの「出来ること」のみを覚え、どんな「関数」があるかだけを覚えた(ヘルプで)。
本を見れば、目的のスクリプトを早く書くことが出来たかもしれないが、目標が決まっていて、それが実現できそうなら出来るだけ自分の脳みそだけで解決した。
それは、多分ここにある「勘」を養う為。本を見て書いても、「なるほど!」と思うことはあるかもしれないけれども、そこに行き着くためのプロセス。答えを見いだす能力が身につかないため。
だから、今でもなるべく自分で考える。でも、perlとかまず「出来ること」が多すぎて、「書き方」も多すぎるのでコレは勉強せざる終えない。さらに、天才的なプログラムってのはなかなか思いつかない物で、勘を養う為にそういったプログラムを見ることは多い。
でも、なるべく理解して自分の書き方で書き直す様にしている。
その6「美的センスを身につける」
プログラムも、やっぱり良いものはある種の美しさを醸すようになって、これは逆に言えば、美しいプログラムさえ書いていれば、それは自ずから良いプログラムになるとのことであった。
『その4「身辺を整理しておく」』に近い。
「無駄の無いデザイン」は美しい。
「無駄の無いコード」も美しい。
無駄の無いコードは見た目も美しく、理解しやすい物が多い。だから、美しさを自然と求めるんだと思う。
面倒が嫌いだから、ぱっと見て美しいコードを見分ける目も持つということなのかも。
その7「忘却力を備える」
プログラマーは覚えなければならないことがあまりにも多いということ。そのため、余計なことはさっさと忘れるようじゃないと、とてもじゃないが必要な情報をいい感じで脳の中の取り出しやすいところにしまっておくことができないのだそうである。
[中略]
色んなことを覚えたままだと、夜眠れなくなるのだそうである。特に若い頃は、かかりつけのプログラムが眠ってるあいだも気になって、おかげで快適な睡眠が取れず、仕事の能率がかえって落ちてしまったことがあったのだそうだ。
余計なことを記憶しておくと、必要な時に取り出しにくい。だから出来るだけ脳みそは空にする。
「GTD」とかと同じ考え方。机の上を整理するのと同じ考え方。
思い出す必要があるものはスケジュールに書き留めておくことで、常に記憶のどこかに置いておく必要性を無くすことで、気にとめておく必要がなくなる。これで結構気が楽になって、目の前の物に集中できる。
詳しくはGTDでぐぐると分かるかも。
まとめ
全てはやっぱり「面倒!」に繋がる。何よりパソコンそのものの存在が「便利さ」を求めた物であって、「便利」はイコール「面倒が面倒じゃなくなる。楽になる。」と言うことなので、「面倒!」を極力無くすことに全力を投じる。
あと、書いてて結構「なのかも」や、「多分」が入っている部分が多い、これは考えて行き着いた「行動」ではないから。
面倒だから操作の自動化をしていった自分に自然と生まれた感覚だから。感覚は言葉にし難いのだ。リテラシーが低いのもあるけどw
「○○の条件」というのは結構、何年もかけて意識して作り上げられた物よりも自然と身についたルールが多い様な気がする。自分の場合は今回の引用元の記事がそうだった。なんか自分が評価されている様で嬉しかったw
是非、元の記事も目を通してみてください。
記事を書いた方はプログラマーでは無いそうです。そういった方の視点もまた面白かったです。
引用元: 新人プログラマーがプロのプログラマーとして独り立ちするための7つの条件 – ハックルベリーに会いに行く
関連記事:
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://zero-code.com/2009/04/25/%e3%81%a8%e3%81%a3%e3%81%a6%e3%82%82%e5%90%8c%e6%84%9f%e3%80%8c%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9e%e3%83%bc%e3%81%a8%e3%81%97%e3%81%a6%e7%8b%ac%e3%82%8a%e7%ab%8b%e3%81%a1%e3%81%99%e3%82%8b.html/trackback
- Listed below are links to weblogs that reference
- とっても同感「プログラマーとして独り立ちするための7つの条件」 from ZERO-CODE



