情熱プログラマーを読んだ
先週のことだ。東京Ruby会議03で「情熱プログラマー」が話題になっていた。*1
プログラマというキャリアを実り多いものにするためのあれやこれやが書かれている。「キャリア」ってなんだろう。人生に何か正解があるのだろうか。
自分の人生は自分で決める。こーゆーことを言うと身も蓋もないマッチョな思想だと思われるが、この情熱プログラマーはそのような思想に貫かれている。
誰かのせいにしない。自分の道は自分で選ぶ。そーゆーことをいろいろな人が言うけど、じゃあ、具体的にどうすればいいのか。そのヒントのいくつかをこの情熱プログラマーは与えている。
就職して仕事をする。誰だって給料は少ないより多い方がいい。つまらない仕事よりおもしろい仕事の方がいい。しかし、そうそう自分の思い通りにもならない。だからこそそこにはストレスがあり葛藤があり悩みがある。
本書には、そーゆー悩みを抱えたプログラマが今日にでもできることのヒントが記されている。
言ってみればプログラマのための人生HOW-TO本だ。
昨日、大学時代のサークルの50周年記念の会合に行ってきた。単なる同好会が50年も続いているというのも驚異だけど、現役の学生から60代半ばの人まで50歳近くの年齢差がある人が一同に会するというのも奇跡だ。卒業後20年、30年の先輩の姿がそこにある。そこには平均値の人生はない。一人一人の道がある。その一つ一つの事例から人々は何を学ぶかということだと思う。
プログラマだけが人生ではない。わたしはプログラマという人生を選んだけど、大学の教授になった人もいれば、大企業の社長になって経済界の偉い人になったひともいる。どのような人生を選ぶかは自分自身だ。
いくつかのヒント
よくあるHOW-TO本でも、ジェネラリストではなくスペシャリストになろうみたいなことが書いてある。一芸に秀でるということだ。本書でも書いてある。
「Java仮想マシンをクラッシュさせるプログラムをピュアJavaで書くとしたら、どんな手段を使いますか?」沈黙。「もしもし?聞こえませんでしかた?」
本物のJavaプログラマというのは、そーゆーことだ。LLをクラッシュさせるプログラムを当該LLで書くにはどうするか。システムをクラッシュさせるプログラムをどう書くか。つまりそれは、クラッシュしないプログラムをどう書くか。ということの裏返しである。スペシャリストというのはJavaでプログラムを書けるということではなく、Javaの動作原理を理解しているということであり、そのレベルでなければ一芸に秀でるということではないと本書は主張している。このレベル感は重要である。
「一に練習、二に練習」。プログラマにとっての練習ってなんだろうか。自分は日々プログラマとして練習しているだろうか。考えてみよう。マニュアルをきちんと読む。ソースコードを読む。オープンソースのコミュニティに参加するなど、いろいろな方法があると思う。練習というのは、自分で練習方法を見つけて自分の汗を流さないといけない。誰かがあなたのために練習をしてくれるというわけではない。
実際に体を動かすのはあなただ。この当たり前のことを本書は教えてくれる。