【おすすめ読書】ベタープログラマ
生産性の高いプログラマになるための考え方やテクニック・習慣をまとめた本です。
以前紹介した【おすすめ読書】「プリンシプル オブ プログラミング」と似たような形です。38のエッセイとしてまとめられています。 こちらはより初心者にもわかりやすい、スローガン的な内容になっている印象でした。
プログラミングや設計のテクニックのみでなく、意識的なことであったりプログラマとしてのあり方も書かれているので、経験が浅い人にこそおすすめしたい内容です。
概要
-
you.write(code)
コードを書く際に気をつけるべきことです。いろいろな本にも書枯れていることを取りまとめて書いてあり、この本を読めば結構網羅できると思います。
プログラミングは大抵の場合、一人ではなくチームで取り組むか、担当者が変わっていくものなので、自分の独善などに従ってはいけません。コーディング規約に従って一貫性を持ったコードを維持するべきです。
DRYや などの原則ももちろん出てきます。
-
練習することで完璧になる
ソフトウェア開発には以下のような側面があります。
ソフトウェア開発は芸術。創造性が必要であり、美的・職人的な環境で作られます。個人よりもチームが主体です。
ソフトウェア開発は科学。厳密さが必要で、体系的に構築されます。開発には洞察力が必要です。
ソフトウェア開発はスポーツ。チームワークや規律によって調和が保たれます。規則を決めることで手続きが具体化されています。
ソフトウェア開発はこどもの遊び。開発を通して学習していること、すべてを知らないことを認識しています。単純になぜと問いかけていくことが大切です。そして、何よりも楽しむこと。
ソフトウェア開発は退屈な仕事。きれいに掃除をしないといけないですし、裏方での働きが多いです。保守に携わることが多いです。
-
個人的なこと
学びを愛すること、何を学ぶべきか考えること、学ぶことを学ぶことを意識しましょう。 背筋や首の向きなどの姿勢についても、早いうちに解決できると健康的で良いです。
-
成し遂げる
戦い方を選び、賢く勝ちましょう。タスクを分解して、完了を自分で再定義できるようにします。
-
人々の営み
開発は一人で行うものではなく、チームで行うことが多いです。そうでないとしても同じようなことをやっている人は必ずいるはずなので、専門家を探して協力してもらいましょう。一方的に参考にするだけでも、かなり違ってきます。
周りの人や顧客とのコミュニケーションに気を配りましょう。積極的にコミュニケーションを取ることで、良い方向に進みます。そのときには態度や身だしなみに気をつけましょう。
特長
各項目の最後には、問いかける質問とやってみようのコーナーが用意されています。その部分もしっかり読んでおくと、忘れずに身につけることができます。要点という項目も用意されており、特に重要な覚えておく点が書かれています。目を通しておきたいです。
ここでも「DRY」の原則が出てきます。コピー&ペーストして冗長なコードを書かないように気をつけましょう。基本的には、共通で使える関数にしてパラメータなどを受け取り、それぞれの処理をできるようにします。
プログラミングのテクニック的なものは前半に集中しています。後半はモチベーションであったり、効率よく成長できるための心構えなどが紹介されています。
謙虚な姿勢で周りとコミュニケーションを取ってうまくやることについてなんどか書かれています。これは確かに大切なことです。一緒に働く仲間とのコミュニケーションであったり、上司とのやり取り、顧客への対応など、プログラミングそのものよりも大事になることがあります。
本ではソフトウェア開発をいくつかのメタファーで表していますが、たしかにいろいろな面があります。どれもおもしろいので、ぜひ自分なりのメタファーを探してみたいです。
おわりに
ベタープログラマというタイトルの通り、寄り良いプログラマになるための考え方が満載です。初心者の人であれば、これを読んでそのとおりに意識すれば間違いなく成長できます。
人生の節目であったり毎年決まった時期に読み返すことがおすすめです。自分は今どれくらいできるようになったのかということをしっかり意識して、効率よく成長していけるといいです。