#june29jp

プロダクティブ・プログラマを読んだ

2009-06-07

好きな食べ物は「ペンギン」でお馴染みの,我らがしまだこうじさん監訳,プロダクティブ・プログラマをようやく読み終えました.

ジュンク堂書店札幌店で行われたトークセッションでも言われていた通り,この本はパキッと分かれた2部構成になっていて,I 部の「技法編」では,明日からの自分の個人作業にすぐにでも活かせそうなツールの活用方法やオススメの設定が,II 部の「実践編」では,特にチームでの「ソフトウェア開発」に立ち向かうときに覚えておくと力になってくれることが網羅的に書かれています.

この本のレビュアを担当されたいがいがさんとも少し話したことで,この手の「○○術!」の類のものは,「こうやるとよい」と言われてすぐに実践して効果をあげられるものと,少なくとも一度は体験したことをあとから言葉や文章として整理して解釈できるものと,2つに分けられると思います.2部の構成は,そういった分け方でもあるのかなと,ボクには感じられました.

今,ボクは,社会人2年目というところで,お仕事としてチームで開発作業に取り組む経験を1年分積みました.学生時代に明確に意識することのなかった「プログラミング」と「ソフトウェア開発」の違いを強く感じている今だからこそ,本書の(特に II 部の)内容はとてもありがたいものでした.今後のプログラマ人生を,もっともっとプロダクティブにしていきたいです.

プロダクティブ・プログラマ

I 部 : 技法編

この本を会社に持っていって,チームメンバーで目次の「加速,集中,自動化,正準化」という言葉の並びを見たときには,「おぉ,これは…!」それだけでテンションが上がったものです.

だけど,詳細に読み進めていくと,最初はちょっと笑ってしまいますね.よくこの内容をこれだけ集めて本にしたなー,って感じです.ひとつひとつをブログのエントリにして小出しにしたら,コンスタントにブックマークがついて,たまにホッテントリ入りして,たまに炎上しそう.そんな小技が詰め込まれた I 部です.

それでも通して読めば,「こんな方法があったのか!」と何かしら見つけられるぐらいにはば広いトピックが網羅されています.

II 部 : 実践編

章のタイトルだけ見ると「あー,あれね」と思ってしまうものも多いのだけれど,具体的なエピソードやコード付きの解説まで含めて読むと,自分が悪い慣習に陥っていると気付かされる箇所がいくつかあって面白かったです.

開発チームで意志決定を行うときは,メンバーみんなが納得できるまで議論を続けることが多くて,その中で先輩が話してくれる「こっちに進みたい理由」は,8章の「Good Citizenship」や9章の「YAGNI」で語られる内容に近しいものを感じました.別々の道を歩んできた複数の人たちが,同様の考えに至っているのは本当に興味深いことです.そこに何かある…!と思っちゃいますね.

また,14章の「多言語プログラミング(Polyglot Programming)」は,本書によって初めて触れた言葉です.例えばボクが趣味で Web アプリケーションを作ろうとすると,サーバサイドの処理は Ruby で書いて,ときには SQL 文を使ってデータの処理を行い,HTML/CSS を出力し,JavaScript で味付けしたりします.なるほど,言葉を伴った自覚はありませんでしたが,多言語プログラミングなんですね.

多言語プログラミングは,プログラマとしてのキャリアプランを考える上で重要な考え方だと感じました.「Ola のピラミッド」の図(P.221,14.3章)にはけっこうなインパクトを感じて,ふむふむと眺めることとなりました.会社の製品の一部として運用業務には安定した Java のプログラムを使い,単発で発生するファイル処理・データ処理なんかは Ruby のスクリプトでサクッと片付け,お客さんの Web サイトでの動作確認用に Greasemonkey スクリプト(ここでは DSL の例として)を動かしたりと,1日の業務の中でも,作業の性質に合わせて無意識にプログラミング言語(や各種ツールまで)も使い分けていると気が付きます.この「使い分け」も,効率化のための大事な要素です.

学生時代,授業中にヒマ潰しとして楽しんでいたプログラミングやマークアップが今の業務に活きていたりするので,Web の世界は面白いなーと思います.

まとめ

最後に,この本の「監訳者あとがき」から少し引用させてもらって,エントリの締めくくりとします.

大事なポイントは1つ。生産性の高いプログラマは、生み出した時間を使って、自分の人生をより豊かにするために投資をすることができるのです。そう、時間は決して待ってはくれません。これが、監訳者の考える、プログラマが生産的であるべきたった1つの理由です。

プロダクティブ・プログラマ P.263 「監訳者あとがき」より

──プログラマとして豊かな人生を送る.そのために努力する.監訳者のしまださんや,Ruby 札幌の皆さんがボクに教えてくれたことです.改めて噛みしめました.

Be productive, and have a better life!

おもしろかったら、シェアやブックマークや送金などぜひぜひお願いします。サイト運営の励みになります!

シェアや送金などお待ちしています!