DDG - Develop a Digital Garden

develop a digital garden

プロフェッショナルになるためのClean Coderまとめ

Clean Coder は、プログラマーという職業における 「プロとしての意識・考え方・振る舞い・仕事への取り組み方」が書かれています。 具体的な技術知識はほとんど出てきませんが、「プロとしての振る舞い方」がわかる素晴らしい本です。

この記事の注意点

私が印象に残った意識に関する部分噛み砕いて紹介しています。 紹介している部分以外が気になる方・そのままの表現を知りたい方は、ぜひ本を購入して読んでみてください。

この記事の目次

  1. プロフェッショナルの意識まとめ
  2. この本書を実際に読むメリット
  3. なぜ、この本をまとめたか?

プロフェッショナルの意識 まとめ

プロは 責任 をとる

プロは自分の行動に責任を持ちます。 自分の修正によって

  • どんな影響がでるのか?
  • 動作に問題は無いのか?

それらを全て把握しておかなければなりません。 では、どうやって把握するのでしょうか? それはテストしかありません。自動化されたユニットテストや受け入れテストをつくります。 テストを充実させても、バグが存在しないソフトウェアをつくることは現実的に不可能です。 ですが、責任はプロである自分にあります。 間違えたり、スケジュールに遅れることもありますが、その責任をとるのがプロです。 上司や他人・環境のせいにするのは、プロではありません。

プロは 継続的に学習 する

最新の医学雑誌を読まず、古いやり方しか知らない医者に診てもらいたいですか? それと同じで、最新の技術を学ばないプログラマーを会社は雇いたいでしょうか? プロは成長するために学習し続けなければいけません。

プロは 仕事を本番 だと思っている

プロは本番で成果を出すために練習をします。 プロ野球選手は試合が本番で素振りは練習です。 素早く質が高い仕事をするために、会社以外で勉強し効率の良い作業方法や質の高い設計方法を身につけなければなりません。

プロは No と言う

プロは 間に合いそうにない・できない ことを できると言いません。 プロは自分の能力を把握しています。

プロは Yes と言う

Yesと言うことは、約束したということです。 プロは Yes と言うときに、以下のような言葉を使いません。

  • 〜する必要がある、〜しなければいけない
  • 〜するといい、〜したい
  • 〜やりましょう

その代わりにこの言葉を使います。

  • 私が、〜までに、〜をやります

プロは 完了を定義 する

完了していないのに完了したと報告する人がたまにいます。 完了と言えるのは受け入れテストに合格した時だけです。 ビジネスの要求をクリアした時に初めて完了となるのです。

プロは 時間と集中力を管理 できる

プロは睡眠や運動が良い仕事に繋がることを理解しています。 無謀な残業が生産性を下げることを知っているので、自分の絶好調のペースを保てるように管理します。

プロは 規律 を守る

プロは緊急時でも安心して守れる規律を常に持っています。 例えば、テスト駆動開発(TDD)です。 緊急時にTDDをしないのであれば、TDDの効果を信じていないことになります。

プロは 協力 する

チームの中で孤立するのはプロではありません。 プロの第一の責任は、顧客の要求を満たすことです。 ビジネスサイドの人にも積極的に協力するのがプロです。 ビジネスが破綻しているのに、技術を追い求めても意味がありません。 ビジネスを成長させる・沈ませないことがプロの仕事です。

P.161 プロのプログラマとして最悪なのは、ビジネスが破綻しているのに、満足気に技術の墓場に没頭することだ。ビジネスを沈めさせないのが仕事だろ!

プロは 伝染 する

プロとしての振る舞いを強制することは難しいですが、プロの振る舞いは周囲に伝染します。 誰か1人、あなたがプロとして振る舞うことで他の人もプロになっていくはずです。

本書を実際に読むメリット

今回、紹介したのは 本に書かれている ごく一部 です。 この本は各章のはじまりで、著者の実体験が書かれ、その後にそこから学べることが紹介されている、という形式になっています。 著者の実体験の部分から学べることは、読む人によって変わると思いますので、もっと知りたい方は実際に読んでみてください。 そして感想を共有していただければ、ありがたいです。

なぜ、この本をまとめたか?

私は技術書やドキュメントを読むことや、勉強会に参加することが苦ではありません。 むしろ、新しい学びを得て成長に繋がることを確信しているので、楽しんで取り組んでいます。 ですが、プログラマーとして働いている人の中には、技術書を読むことが苦手な人もいます。 以前であれば、新しく何かを学ぼうとしないなんてありえないと思っていましたが、得意・不得意は誰にでもあります。 得意な人が不得意な人を助けるのが当たり前なのではないか、と今では思うようになりました。 そこで、Qiitaのような記事は読めるけど分厚い技術書は読めない・読みたくない、 という方に 少しでも読んでみたいと思ってもらえればいいな、と考えてこの記事を書きました。 何らかの形で誰かの役に立てば幸いです。