Ryo5smileの技術ブログ

学んだこと

【12月2週目】達人プログラマーを読んで【1/2】

達人プログラマー ―熟達に向けたあなたの旅― 第2版

達人プログラマーを読みました。この本はプログラマーとして熟達していくために必要なTipsがまとめられている本です。

個人的に響いたTips

本書にはありがたいTipsが100個ありますが、その中でも自分に特に響いたTips7つを紹介します。

割れた窓を放置しない

割れ窓理論という犯罪心理学の用語をソフトウェア開発に置き換えて書かれています。 割れ窓理論というのは、ざっくりいうと「割れた窓を放置すると、誰も注意を払っていないとみなされ、やがて他も窓も壊される」という意味です。 ソフトウェア開発における割れた窓は、悪い設計や質の低いコードなどを指しており、読みにくいコードや必要のない処理をそのままにしておくと、どんなにクリーンで機能的なシステムだったとしてもあっという間に腐敗したものになるということです。 こうなる理由は「他人が質の悪いコードを書いているから、自分も適当に書けば良い」と考えるようになりやすくなるからです。 そのため、割れた窓を見つけた際には早い段階で指摘し修正する必要があります。自分の書いたコードでもリファクタリングやコードレビューを依頼することで最小限に止める必要があります。

変化の触媒たれ

ポルトガルの「石のスープ」という民話をもとに、自分が変化の触媒(現状を変化させるためにチームメンバーを導く存在)になるための方法をざっくり示しています。 組織が変わるのを待つのではなく、自分から変化を起こして組織を変えるというマインドセットが大事だと考えています。

見聞きした物事を批判的な目で分析すること

一般的には「批判的」というと悪いイメージがあるかもしれません。批判的なヤツは場の空気をしらけさせるので、周囲に嫌われるリスクは高いでしょう。しかし、批判的な考え方は物事を多面的に観察するという側面を持っており、その物事の正当性や信頼性を見極めるのに適しています。逆に批判的に物事を考えることをしないと、思考停止になり思考の偏りやばらつきが起きてしまい、正確な意思決定はできなくなります。 そのため、常に「問い」を自分の中で持っておくことが重要だと思いました。

最終決定などというものは存在しない

ソフトウェア開発は常に変更がつきものです。作っておしまいなシステムは存在しないので、変更に柔軟なコードを書くことが求められます。IT業界では次々に便利なツールやライブラリが生まれています。こういったものを素早く柔軟に対応するには変化に強くなければいけません。例えば、一枚岩のようなモノシリックな構成から、複数の機能を独立させてそれを組み合わせるマイクロサービスに変えることでより柔軟なソフトウェア開発ができるようになります。

ということで今回はここまでです。次回も重要だと感じたTipsを紹介していきます。