エキスパートに聞く ぼくのスキルを支えた本
第9回
今回のエキスパート:阿出川真広氏
加山恵美
2002/8/28
「最前線で必要なスキルとキャリアを知る!」でインタビューしたITエンジニアに、自分のスキルとキャリアを語るうえで欠かせない本を挙げてもらった。その本について熱く語る姿から、ITエンジニアの仕事への情熱が垣間見えるはず。
今回お話を伺ったのは、株式会社ゼロソフトの阿出川真広氏。
エンジニアとしての長く幅広い経験から、プログラミングや開発を中心として選りすぐりの本を紹介してもらった。阿出川氏は読書量も並大抵ではない。遠距離通勤という事情もあって、読書にはかなり時間を割いているようだ。今回紹介してもらった本の多くは、スキルより概念を理解することに重点を置かれた本が多い。これらの本からエンジニアが知るべき「本質」を見抜いてもらいたい。
「ルーツ」となった記念の1冊 |
アセンブラプログラミング入門―IBM System/370のためのコンピュータサイエンス大学講座(2)
金山裕著 近代科学社 1977年5月 ISBN4-7649-0033-5 2600円(税別) |
1977年発刊なので、古さを通り越して貴重さが感じられるくらいの本である。本書はIBM System/370のために書かれたアセンブラプログラミングの教科書である。アセンブラとOSとの関連性が解説してあり、例題や問題が記載されている。教科書らしいサイズと体裁で、かつ300ページ程度とそれほど厚くもない。
コンピュータ科学の歴史をひもとくような感覚で読んでみてもいいのではないだろうか。本書を開くと、まず「処理装置」の解説から始まる。そこからアセンブラ、マクロ、連係編集プログラムについての機能、最後にOS環境について解説されている。
阿出川氏:
「専門学校時代に教科書や参考書代わりに使いました。当時、アセンブラの『とっかかり』として役に立ちました。診断プログラムの業務をやっているときには読み返すこともありました。古い本なので、いまのエンジニアが読んでも実践的には役に立つことはないでしょう。ただ、私のエンジニア経歴のうえで非常に影響を受けた『ルーツ』となる1冊なので紹介させていただきます」
Cのバイブルとしての基本の1冊 |
プログラミング言語C ANSI規格準拠 B.W.カーニハン、D.M.リッチー著、石田晴久訳 共立出版 1994年3月 ISBN4-3200-2692-6 2800円 |
阿出川氏が読んだのは本書の第1版だったそうだが、現在は第2版が発売されている。翻訳本のためか多少日本語に硬い部分もあるが、改訂を重ねて改善されてきたようだ。
この本は、「C言語のバイブル」として広く知られる。誤解してはならないのは、Cまたはプログラムをまるで知らない初心者のための本ではないので、これを読めばCが分かると期待してはいけない。ひととおりCを学び、経験した後にこの本に戻って基本を振り返ると、自分の知識が整理される本である。
阿出川氏:
「マシンにネイティブにアクセスできるのはアセンブラとCなので、Cは押さえておくことをお勧めします。この本はまるっきりの初心者には難しいと思います。むしろ『最後まで学んだ後に戻ってくる本』です。ひととおり学んだ後にこれを読むと、Cがよく理解できるようになりますね。Cのスタイルを学ぶためにはとても良い本です。リファレンスとして後から参照するためにも手元に置いておくとよいでしょう。同じ著者には、『プログラミング作法』(アスキー刊)や『プログラミング言語AWK』(シイエム・シイ出版部)などといった優れた本が多く、できたらこられの本も読んでほしいですね」
人間の効率を上げるには |
ピープルウエア 第2版―ヤル気こそプロジェクト成功の鍵 トム・デマルコ、ティモシー・リスター著、松原友夫、山浦恒央訳 日経BP社 2001年11月 ISBN4-8222-8110-8 2200円 |
コンピュータを使った仕事や職場でどうすれば効率が上がるのかが解説されている。人間が働くことは、開発とは、どういうことなのか。いわれてみればそのとおりというようなこと、いままで漠然としていたことに気付かされる。
エンジニアというよりは、エンジニアを束ねるリーダーやマネージャが読むと効果的だろう。エンジニアが読むなら、自分でどうすればやる気を維持できるのか考えるきっかけになるだろう。特に残業続きの人なら自分を省みるために読んでみるのもいいかもしれない。なお、阿出川氏が持っていたのは第1版だったが、現在は第2版が入手できる。
阿出川氏:
「この本と同じ著者の『ゆとりの法則−誰も書かなかったプロジェクト管理の誤解』や『デッドライン―ソフト開発を成功に導く101の法則』も、似たような主旨の本です。どれか読むことをお勧めします。働く人間にプレッシャーをかけることで一時的な効率アップを図れることはありますが、そういったものは長続きしません。実際のところ、人間の考えるスピードはあまり変わらないのです。いかに作業に集中できるか、人間の効率を上げるにはどうしたらいいのかが説かれています」
プログラマの業務効率アップに |
達人プログラマー―システム開発の職人から名匠への道 アンドリュー・ハント、デビッド・トーマス著、村上雅章訳 ピアソン・エデュケーション 2000年11月 ISBN4-8947-1274-1 3800円 |
『ピープルウエア 第2版―ヤル気こそプロジェクト成功の鍵』がコンピュータを使う人向けなら、こちらはプログラマ向けである。原題は『The Pragmatic Programmer』で、実用主義で考えるプログラマのための本である。プログラムの技術的なテクニックではなく、考え方や哲学に相当することに多くの紙面を割いている。また、「プログラムを生産する」と考えたときの効率化を徹底的に追求した本である。
この本で提案されている内容は短いヒントの形で示され、それに具体的な事例を付け加えて解説してある。また、ここで紹介されているヒントは著者の経験に裏付けられているという。ここでプログラムの生産性を上げて、その先のステップに進もうと考えているエンジニアに薦めの1冊である。
阿出川氏:
「プログラム開発における無駄で非効率な作業をなくして、頭脳は創造的な部分に費やせるようにと、この本を薦めています。プログラマはコーディングするだけが仕事ではありません。成果物であるプログラムソースにコメントを追加したり、それをドキュメント化するのも重要な仕事のうちです。それらの作業をいかに効率よく行うかが問題です。陥りがちなのは、デバッグでコードを修正したらその内容を各種ドキュメントにそれぞれ反映するために同じような作業を繰り返すことです。プログラマの効率を上げるためにお薦めの1冊です」
プログラマの道具箱としてWebサーバを活用したい人に |
オープンソースソフトウェアによる全文検索・データベースWebの作り方―超個人的Webテクノロジー活用法 西村めぐみ著 ソシム 2000年8月 ISBN4-8833-7177-8 2600円 |
この本は、プログラマが持つドキュメント類をWebサーバで効率よく管理することを提案している本である。プログラマの資産となるドキュメントをWebサーバに格納し、Web技術を駆使して効率よくドキュメントを管理する。しかも、大層なデータベースやグループウェアは不要だ。
使用している技術は、全文検索にNamazu、電子メールのログ変換にMHonArc、データベースにPostgreSQL、Webとの結合にPHP、備忘録の掲示板のためにCGIなどが使われる。こうして個人で手軽に効率よく情報を管理するためのWeb技術が紹介されている。大規模でなければ、数人でプログラムを共同開発するときの簡易グループウェアとしても使えるかもしれない。また、CD付きでこの価格も魅力的だ。
阿出川氏:
「プログラマの道具箱としてWebサーバを用いるための解説書です。Webサーバといっても、ノートパソコンで十分持ち運べます。Namazuと組み合わせた全文検索でドキュメントを検索したり、ソースの履歴管理やバグのトラッキングシステムとしても使えます。スケジュール管理やメーリングリストを立ち上げることも、お金をまったくかけずに実現できるのがうれしいところです。プロジェクト管理をする人ならちょっとは目を通してもらいたいです。きっと何かのヒントになるでしょう」
プログラム検証ノウハウの集大成 |
基本から学ぶソフトウェアテスト―テストの「プロ」を目指す人のために Cem Kaner、Jack Falk、Hung Quoc Nguyen著、テスト技術者交流会訳 日経BP社 2001年11月 ISBN4-8222-8113-2 4500円 |
仕上がったプログラムの完成度と品質を高めるために欠かせないのが検証だ。その検証を現場主義、実用主義で、確実に効率的に行うためのノウハウの集大成となる本だ。検証段階の技法のみにとどまらず、計画から管理に至るまで解説してある。基本的なことから触れているのであまり検証に詳しくない人でも読むことができるほど具体的で分かりやすくなっている。
さらに、ローカライゼーション、構成テスト、マニュアルやヘルプ類の検証、ソフトウェアの不具合に関する法的責任についても触れており、それもソフトウェアの検証の範ちゅうであると考えられている。ここまで網羅されているのが頼もしい。検証担当のエンジニアには必須の1冊だ。
阿出川氏:
「効率よくテストをするには、どうすればいいのかが解説してあります。テストを100回やっても、プログラムの同じルートしか通らないのであれば無駄です。だからといって、すべてのルートと組み合わせをテストするのは不可能です。だから、いかにポイントを絞ってテストを行うかが重要となります」
そのプログラムはJavaとして適しているか? |
Javaの哲学 岩谷宏著 ソフトバンクパブリッシング 2001年8月 ISBN4-7973-1704-3 2000円 |
Javaとしてのオブジェクト指向を考えたときの原理や原則が説かれている。プログラマとしても経験を積んだ著者の実践から得た真理が解説されている。初心者向けに解説してあるとはいえ、まるでプログラミング経験のない人にはお薦めしない。ある程度Javaのプログラミングは経験したが、どこか概念として漠然としているところを整理するときに役立つ本である。
Javaの解説というと、言語仕様に終始してしまう本が多い中、この本は少し特異である。著者の含蓄に富んだ独特な文体も読者の心をつかむかもしれない。取り上げられている項目には、オブジェクトとクラスの概念と操作、標準クラスライブラリ、データ構造クラス、ストリームI/O、ネットワークプログラミング、GUIプログラミングなど、実用的な部分にも一通り触れている。
阿出川氏:
「私としてはインターフェイスの位置付けに関する解説がとても頭に入りやすかったです。言語の仕様ではなく、クラスやインターフェイスの概念など、分かっているようで分かっていない部分を明確にしようと思っている人にお薦めです。そのため、初心者ではなく、Javaのプログラミングをすでに経験している人向けですね。動くプログラムを作ることはできる人でも、Javaとして適切なプログラムを作るために指針となる本です」
マンガを見ながら思考力を磨く |
クリティカル進化(シンカー)論 『OL進化論』で学ぶ思考の技法 道田泰司、宮元博章著 北大路書房 1999年4月 ISBN4-7628-2139-X 1400円 |
最後に紹介してもらった1冊がこの本。OLの日常を題材にした『OL進化論』を持ち出し、そこから考察を展開し、思考の技法を磨いていこうという本だ。見開きにごとに1つのマンガがあるので、スイスイと楽しく読めてしまう。著者は心理学の専門家だそうだが、考えるプロセスに重点を置いて、そこを鍛えることを目的としている。自分の力で正しく考えられるかが重要なのだ。
阿出川氏:
「面白く読める本です。エンジニアでも、それ以外の人でも、物事を正しく把握して考えることは大切なことです。この本ではそういったことを楽しみながら教えてくれます。ボリュームも多くないので軽く読んでみてはいかがでしょうか」
書評にあるボタンをクリックすると、オンライン書店で、その書籍を注文することができます。詳しくはクリックして表示されるページをご覧ください。 |
連載:エキスパートに聞く ぼくのスキルを支えた本 |
@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。
現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。
これからも、@IT自分戦略研究所をよろしくお願いいたします。