この記事を読んで下さっている方は、プログラマーとしての経験をお持ちで、もっと上達したいと考えていらっしゃる方だと思います。
あるいは、これからプログラマーやエンジニアを目指している方もいらっしゃると思います。
プログラマーやエンジニアとして、もっと上達したい方に向けて、僕が一番におすすめしたい書籍が「達人プログラマー」です。
僕は、エンジニアに成り立ての新人の頃にこの本を知って読みました。
それ以来、エンジニアとしてのマインドの根幹は、この本に書かれていることをベースにしています。
エンジニアになって20年近く経つ今でも、たまに読み返すこともあるくらい、重要なことが書かれていると思っています。
本記事では、書籍「達人プログラマー」から一部の内容を紹介しつつ、僕なりの意見をまとめて解説します。
ぜひこの本の内容をご覧いただき、達人プログラマーを目指す方が一人でも多くなってもらえると幸いです。
達人プログラマーになるためには
本書のまえがきに、達人プログラマーとはどういう人か、ということが書かれています。
上記の5つを持ち合わせている方であれば、もう立派な達人プログラマーかもしれません。
ですが、僕も含めて大半の方は常に5つのことを考え、実行できているわけではないと思います。
本書は、達人プログラマーになるための具体的な方法が46個に渡って記載されています。
今回は、その中から僕が大切だと思う3つの哲学を紹介します。
ソフトウェアのエントロピー
1つ目に「ソフトウェアのエントロピー」の内容を紹介します。
エントロピーとは、Wikipediaによると、
出典: フリー百科事典『ウィキペディア(Wikipedia)』
とあります。
ソフトウェアのエントロピーとは、本書によると
とあり、それを
とすべきだとされています。
これは、一度ヒビが入ってしまった窓は、簡単に割れてしまうという表現から、一度良くない設計やコードが入ってしまうとそこから広がってしまいやすいということを表しています。
達人プログラマーになるには、常に割れた窓を放置しない、ヒビを入れないことを心がけるべきだとされています。
チームで開発しているときに、誰か一人が良くないコードを書くと、途端にそれが広がって大きな不具合や問題に繋がってしまったという経験がある方も多いのではないかと思います。
僕も自分自身がヒビを入れてしまわないことを気をつけていますし、他の方が書いたコードでも良くない部分は積極的に修正するようにしています。
本当に不思議なくらい、良くないコードは、あっという間に広まってしまうことが多いです。
もちろんヒビを入れてしまった本人は、知らなかったということがほとんどだとは思いますが、特にチームを結成して間もない頃に多く起こりがちです。
それはチームの中で、方針や意志の統一がされていないからということが大きな原因でもあると思います。
そんな時におすすめなのが、ペアプログラミングやモブプログラミングです。
ペアプログラミングやモブプログラミングの進め方については、別で記事を書いていますので、よろしければ参照ください。
あなたの知識のポートフォリオ
2つ目に「あなたの知識のポートフォリオ」の内容について紹介します。
本書では、自身の中に知識のポートフォリオを作り、常にそのポートフォリオに対して投資をすることの重要性を記述しています。
ポートフォリオを作るに当たっては、
が重要であるとし、具体的にポートフォリオを充実させる方法として、
ということを紹介しています。
知識のポートフォリオというのは、一朝一夕に出来るものではありませんが、継続して学習し続けることの重要性を表しています。
1つの技術をインプットし続けるのではなく、多角的に技術以外のものも含めて、インプットすることが大切であるとされています。
僕自身も、1つの技術を極めてトップクラスになるほどの能力はないので、様々な技術を学び、それらをかけ合わせることで、自分の価値を高めることに主眼を置いています。
自分には知識や能力が足りないと思っている方でも、自分が持っている別の知識と掛け合わせることで、他の人にはない能力が生まれることがありますので、諦めず継続し続けることが重要です。
伝達しよう!
3つ目に「伝達しよう!」の内容について紹介します。
本書ではアウトプットの仕方について、以下のように記載されています。
ただ自分の言いたいことを伝えるのではなく、聞き手が欲しい順番を考えながら、タイミングに合った適切な表現をすることが重要であるということです。
相手に伝える前には、具体的に
を考えるべきと記載されています。
ビジネスの場面では、相手にいかに正しく言いたいことを伝えられるかが重要ですが、そのためには上記にあるような点を予め考えておくことが大切です。
僕はまだまだ勉強中ですが、このブログを通して、より相手に伝わるアウトプットをするにはどうしたら良いかを考えながら学習をしています。
すべてのプログラマー・エンジニアに読んで欲しい
少し大げさかもしれませんが、僕はこの本に出会って、エンジニアとしての人生が大きく変わりました。
それくらい大切なことがたくさん書いてある一冊です。
今回は一部しかお伝えできませんでしたが、ぜひすべての内容を読んでいただきたいと思います。
達人プログラマーがたくさんいる世の中になったらいいなと思います。
コメント