さてさて、そろそろ何か始めないとな

さいたま市のソフトウェアエンジニアのブログ

『ソフトウェア開発の名著を読む』を読む。ソフトウェアエンジニアが何を読んだら良いか悩んだらオススメ

f:id:iNack:20200624024823j:plain


たまには本を読まないといけない気がして、たまたま会社の本棚から取り出したのが以下の本です。 この本が非常に良かったので、ソフトウェアエンジニアの方々に向けて紹介したいです。

ソフトウェア開発の名著を読む 【第二版】 (技評SE選書)

ソフトウェア開発の名著を読む 【第二版】 (技評SE選書)

  • 作者:柴田 芳樹
  • 発売日: 2009/10/21
  • メディア: 単行本(ソフトカバー)
 

既に出版されてから10年以上もたった書籍です。

ソフトウェア業界というのは、毎年無数の最新技術が産まれています。

初めてAndroidのスマートフォン端末が発売されたのが2008年です。2009年のAndroidのバージョンは1.6でした。現在では、Android 10です。そう考えれば10年というのは、相当な長さです。iPhoneでいえば、2009年は、iPhone3GSでした。

この本の中では、さらに10年以上前に執筆された10冊のソフトウェアに関連する名著を紹介しています。

ソフトウェアの技術は、これだけ進化しているのに、本質は何も変わっていないというのを感じることができます。

本誌の中で紹介されている10冊の本は、今でもAmazonで購入ができます。どれもこれも、それだけの名著です。

ソフトウェアエンジニアであれば、どれも一度は読むべき本と思います。

しかし、社会人にそんな時間は、なかなか取れません。言い訳かもしれませんが、他にも勉強しなければならないことが多すぎます。

この『ソフトウェア開発の名著を読む』では、これらの名著の概要をざっくりとまとめてくれています。そして、一番いいところを取り出して説明してくれます。

私も、ここで紹介されている名著は一度読まなきゃいけないな、と反省させられます。

 

著者の方が、もとの文献をわかりやすく引用してくれていて、それに対しての要約をつけてくださっています。とにかく、いまだに、ソフトウェアエンジニアの私には染みる言葉ばかりです。

ソフトウェアを作るのは『人』なんだと、どの名著でも述べられていて、その人が成長するための方法、成長させる方法、人の管理の方法など、10年、20年経っても変わらない、ソフトウェアを開発する『人』についての課題がまとまっています。

  • アーキテクトの役割
  • 人は交換可能な部品では無い
  • 自動販売機を撤去した弊害
  • ソフトウェア開発は「工学」か、「芸術」か
  • 継続学習の重要性

適当に本書から見出しを抜粋させていただきましたが、これらの単語だけでも、気になるソフトウェアエンジニアは多いのでは無いでしょうか?

本書は、三部構成になっていて、前半二部が人、『人』を中心にまとめられています。そして、三部には、「読みやすいコードを書く」という内容で、名著が紹介されるという構成です。

  • プログラミング作法 1999年初版
  • リファクタリング
  • ビューティフルコード

どれも原著は1999年頃のものです。現在は日本語訳されて、現代の要素も組み入れて改版されたものが販売されています。

しかし、これらに記載されている内容のどれもこれもが、開発言語が異なっていても、時代が変わっても、基本は全く変わりません。ソフトウェアエンジニアとしては、理解しておくべき内容が記述された書籍ばかりです。

ぜひ、ソフトウェアエンジニアの方々には、本書で概要を抑えてから、その先の名著の読破するのをオススメしたいです。

 

本書の中で紹介されていた名著10冊

プログラミングの心理学 

 「より良いソフトウエアを開発するうえで我々が向き合っていかなければならないのは、技術やスキルだけではない。開発者の心の動きだ」

Amazonの書籍紹介より抜粋

 人月の神話

人月の神話【新装版】

人月の神話【新装版】

 

開発において「人員×月日」というスケジュール見積もりが適用されている問題を指摘し、ソフトウェア産業において広くいきわたっている「人月の神話」を明らかにした。

Amazonの書籍紹介より抜粋

  ピープルウェア

ピープルウエア 第3版

ピープルウエア 第3版

 

開発プロジェクトで技術よりも何よりも大事なもの――それは「人」。一人一人の
人格の尊重、頭を使う人間にふさわしいオフィス、人材の選び方・育て方、結束した
チームがもたらす効果、仕事は楽しくあるべきもの、仕事を生み出す組織づくり、
という6つの視点から「人」を中心としたプロジェクト開発の大切をユーモラスに
語っている。

Amazonの書籍紹介より抜粋

 デッドライン

デッドライン

デッドライン

 

プロジェクトを形成するのは人であり、プロジェクトマネジメントに人が占める要因は決して小さくないからだ。本書は、その「人」についてフォーカスを当ててプロジェクトマネジメントを語っている。

 Amazonの書籍紹介より抜粋

 ソフトウェア職人気質 

 顔の見えないソフトウエア開発者より,自分の「作品」に責任を持つソフトウエア職人を重んじたほうが,結果として生産性の向上につながる

 Amazonの書籍紹介より抜粋

 達人プログラマー

新装版 達人プログラマー 職人から名匠への道

新装版 達人プログラマー 職人から名匠への道

 

  「割れ窓理論」「DRY原則」など、実践的なプログラマーとなるためのアドバイスを網羅

『ソフトウェア開発の名著を読む』から

 コードコンプリート

10年前の第1版とコンセプトは同じですが、第2版は、全体を通じてオブジェクト指向の考え方が反映されたものになっています。また、「リファクタリング」の章が追加され、サンプルコードはC++、C#、Java、Visual Basicなどにアップデートされています。本書は、ソフトウェア開発の総合ガイドを求めている経験豊富なプログラマ、経験の浅いプログラマを教育する技術指導者、正式なトレーニングを受けたことのない独学プログラマ、これから社会に出る学生や新人プログラマなどを特に対象としています。

Amazonの書籍紹介より抜粋 

 プログラミング作法

 プログラミングをする際に出会うさまざまな問題について、実例コードを示して実践的にアドバイス。C/C++/Java等で記述された現実のコードも多数掲載。

 Amazonの書籍紹介より抜粋

 リファクタリング

 本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。

 Amazonの書籍紹介より抜粋

 ビューティフルコード

『プログラミング言語C』のブライアン・カーニハン、『珠玉のプログラミング』のジョン・ベントリー、XMLの父ティム・ブレイ、そしてRubyのまつもとゆきひろ氏ら、一流プログラマたちが「美しいコード」についての思い入れを語る珠玉のエッセイ集です。
世界でも指折りのハッカーたちが、優美で表情豊かな美しさに満ちたさまざまなコードをさまざまな角度から紹介しています。
超一流の開発者たちの哲学、考え方、ものの見方の一端に触れることができる貴重な一冊です。

 Amazonの書籍紹介より抜粋

 

 私は、とりあえず、読みやすそうな「ビューティフルコード」から手を出してみようと思う ^^;