August 27, 2011

プログラマが知るべき97のこと

プログラマが知るべき97のこと
プログラマが知るべき97のこと

キーワード:
 Kevlin Henney編、プログラマ、格言、達人、とびら
技術本を書いているような世界中で活躍するプログラマ97人+日本人プログラマ10人によるプログラミングに関するエッセイが示されている本。いわゆるオライリー本。なんだかんだ言ってこのブログではじめてのオライリー本だね。技術者としてその出現率の低さはどうかというのもあるけど・・・。

目次を見れば、とてもワクワクする内容を予期させるものではあるが、ちょっと多いので泣く泣く省略。本家のページを参照あれ。この目次を見て読みたさをそそられないプログラマはいないと思う。また、仕事でプログラミングをしたことがある人ならば、この本を読んでまったく参考にならない、勉強にならないとか共感する部分がないということはないのではないかと思う。もしそうなら、もう達人の領域をはるかに超えているか、プログラマとして終わっているとしか言いようがない。それほどたくさん線を引いたし、共感する部分も多かったし、勉強になった。これは間違いなくいい本だね。

本当は線を引いた部分を一つ一つ示しておきたいのだけど、あまりにも多いので本当に厳選したものを示す。それらのピックアップの観点は、今後自分がプログラマとして成長していくために、現状で欠けていると思われる部分となる。

まずはソフトウェアデベロッパ、コンサルタント、メンターの肩書きを持つクリント・シャンク氏の『学び続ける姿勢』から。ソフトウェア開発業で市場競争力を維持するには学び続けるしかないとある。学び続けなければ恐竜のように滅びていくと。以下最後の部分を抜粋。
 映画『マトリックス』のネオのように、必要な情報があれば即時に脳にダウンロードするような能力が私たちにあればいいのですが、あいにくそんな能力はありません。時間をかけ、努力して学ぶしかないのです。とはいえ、起きている時間のすべてを学ぶことに向けることは不可能だし、そんな必要はありません。そのほんの一部でも、たとえば週に1回1時間でも、何もしないよりはずっと良いでしょう。人間には日々の業務とは関係ないことをする時があってもいいし、むしろそうあるべきでしょう。
 技術はすごい速さで変化していきます。学ばなければ置いていかれるのは確実です。
(pp.37)
仕事をし始めてからを振り返ってみると、あまりにも技術習得に関しては不勉強だったなぁと反省した。まぁ、いろいろと迷い、悩みながら来てしまったので仕事どころじゃなくてこんな読書ブログを始めてしまったというのもあるけど。他の分野の本ばかり読んできたけど、それがまったく役に立たないわけではないしね。読解力とかプログラミングにとても重要だしね。今後はもうちょっと技術習得に注力していく必要がある。

また、次はC#、アジャイルソフトウェア開発の専門家でもあるジョン・ジャガー氏の『1万時間の訓練』から抜粋。
 専門的な技術や知識は、ゆっくりと徐々に身につくものです。1万時間が経過した途端、急に身につく、というわけではありません。それでも、ともかく1間時間やる、ということが大切なのです。ただ1万時間と言ってもそれは膨大な時間です。週に20時間なら10年かかることになります。「1万時間努力したはいいけれど、結果、自分にはエキスパートになる素養がないとわかるだけかもしれない」そう心配する人はいるでしょう。そんな心配はいりません。エキスパートには必ずなれます。何かに秀でた人間になるかどうかは、ほぼ、自分がなろうとするかどうかだけで決まるのです。すべてはあなたの意思次第なのです。
(pp.44-45)
1万時間トレーニングをして習熟する、というのは以下の本に詳しく示されている。仕事の総稼働時間だけならもう1万時間に達しているくらいだけど、純粋にプログラミングとなると大体大学生のころからやって、多く見積もってもせいぜい4,000時間くらいなんだよね。

プログラマとして自分は向いていないのではないかと思い悩むときは大学生のときから常にあったけど、まずは1万時間積み上げろ!!ということなのだと思う。継続は力なり、は真で、続けているうちにそれが自分の才能となって武器となるんだよ、と思い込みながらまだまだこれからもがんばろうと思う。まずはもっと技術勉強とかプログラミングをやらなければだけど。あと6,000時間修行だ!!

また、生命維持システム、国際プロジェクト、フレームワークなどの多種多様な経験を持つ、クラウス・マルカルド氏の『いろいろな言葉を学ぶ』から以下抜粋。
 プログラマにとって、抽象度の異なる複数の言語を学ぶことは重要です。1種類の言語だけでは、中には非常に表現することが困難な概念があります。優秀なプログラマなら、日々の業務をこなす以外に、自分の時間を割いて別の言語を学ぶ努力をするでしょう。業務で使うものとは目的が異なり、違った概念の表現に適した言語を学ぶのです。この努力は、いつか必ず報われるはずです。
(pp.96)
今の自分にはこれが足りないなぁと思う。仕事で使う以外の言語をプライベートで学ぶことはあまりなかった。ちょっと入門書を読んで終わりというのばかりだった。まぁ、プログラミング言語の枠以外を含めていいのなら、ここ1年半くらいは必死で英語を習得していたのだけど。あとは、日々読書して日本語による読解能力を高めていたのだと言い訳してみる(笑)。でも、読書量が多い人、読解力が高い人は新言語習得が速いと思うよ。たぶんね。

ちなみに今まで触れてきた言語に関して示すと、最初のプログラミング言語は大学1年の講義のときにScheme、その後Cをがっつり、そんでPHP+MySQLでWeb系、社会人の研修でJavaちょっと、仕事でPL/SQL、T-SQL、VB.NETちょっと、そんで今は3年ほどどっぷりVBAという変遷。オブジェクト指向系のものをプライベートでしっかり学んでいこうかと思う。とりあえず自分の本業にも関係してきそうなC#あたりを習得しようと思う。

最後にプログラミングの講師でもあり、メンターでもあるピート・グットリフ氏の「よいプログラマになるには」からなるほどと思った部分。
 ここに書いてあることに興味を持ち、最後まで読んだ人はおそらく、プログラミングが好きで、良いプログラマになりたいという熱意を持った人でしょう。是非これからもプログラミングを楽しんで欲しいと思います。難しい問題を見事解決できるプログラム、自ら誇りに思えるプログラムを書きましょう。
(pp.183)
この本を読む前は、オライリー本ということもあり、気後れしていたけど、実際に読んで見ると難しくなかったし、割と読みやすかった。そして毎朝の通勤時間に少しずつ読み進めて、最後まで読めた。読みながらだんだんワクワクしている自分がいたのに気付いた。今まで本業としてIT技術者を続けていこうか迷っていたけど、なんだかまだまだやれる気がした。まだプログラミングを楽しめる、もっと挑戦し続けられると再認識できた。それくらい自分のキャリアを変えるかもしれない良書になるものかもしれない。

この本の中では他の本にも言及されている。一番言及されていると思われるのは以下だね。これもプログラマ必読書だね。

本書を読んで、今後やるべきことを簡単に以下に示す。
  • 技術本をもっと読み、週1回くらいブログに更新できるようにする
  • C#プログラミングをプライベートでも実践する
  • 問答無用で1万時間プログラミングの修行をする!!
ということで、年次が変わる9月から本気出す!!www



プログラマが知るべき97のこと
プログラマが知るべき97のこと
販売元:オライリージャパン
(2010-12-18)
販売元:Amazon.co.jp

読むべき人:
  • プロプログラマになりたい人
  • プログラマとして向いていないと思っている人
  • プログラミングで修行したい人
Amazon.co.jpで『オライリー』の他の本を見る

bana1 プロプログラマクリック☆  にほんブログ村 本ブログへ



トラックバックURL

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星