ソフトウェアエンジニア現役続行

雑多なことを綴ります

ソフトウェア開発で伸びる人、伸びない人

入社直後に読んだ本を久々に読みました。当時はあまりピンと来なくて、あまり印象に残っていなかったのですが、久々に読んだら、「うんうん、そうだよなぁ」って思ったり、「あっ、この悪い例は僕もやっている・・・」って頭を抱えてしまったり。


この本では、ソフトウェア開発で伸びる人と幸せになれる人の習慣や考え方を、そうなれない人との対比でまとめています。200ページに文庫本なので、さらっと読めてしまいます。


そうだよなぁって思ったのは、「保守を考えて設計、開発を行う」ということ。

優れた技術者は、システムの使用期間について考えます。システムには保守が付き物だということも知っています。たとえ必要とされる機能は変わっても、システムの目的は変わらないものです。そこで、システムの目的を押さえて、機能拡張や変更がしやすいようにシステムを開発していきます。


納期に追われると、どうしてもリリースすることが目標になって、拡張性や保守性のことなど考えずになんとか納期に間に合わせようと必死になってしまいますが、そういうときはあとで後悔することも多いです・・・


読んでて、頭を抱えたくなったのは、以下のようなことです。

学問研究のスタイルを身につけていない優等生は、試験の優等生も同じです。(中略)。試験の優等生は、システム開発において解決すべき問題の定義が十分に出来ません。問題を定義すらしないこともあります。そして、ただひとつの正解を求めて解決策の試行錯誤に時間を費やします。

プロダクトに対する客観性を持つ

プロダクトの客観性を持っていない人は、自分が作成したものと自分自身に依存性があります。このタイプの人は、自分が作成したものを批判されると、自分が批判されたものと同じように感じてしまいます。
いったん作成したプロダクトを客観的に見ることができるようになると、とても楽になります。(中略)。プロダクトの欠陥を検出できることを望むようになります。品質向上の視点のみでレビューができます。


初心に返るには良い本だと思います。