プロプログラマに欠かせない態度・規律・行動。

3018viewssweetportssweetports

このエントリーをはてなブックマークに追加
Clean Coder プロフェッショナルプログラマへの道

プロのプログラマとは何かを著者の経験を元に定義している。プロに欠かせないと思う態度・規律・行動。

プロ意識

・自分で責任を取ること。同じ間違えを繰り返してはいけない
・挙動がわからないコードをQAに渡すのはプロではない
・プロの開発者は彫刻家が粘土を扱うように、絶えず形を作ったり整えたりしながらソフトウェアを作っている

労働倫理

・キャリアの責任は自身にある
・週に60時間働く計画を立てる。40時間は雇用主、残りの20時間は自分のため
・自分の専門知識の手入れに時間をかける

ソフトウェアのプロが備えるべき最低限のこと

・デザインパターン:GOFの24パターン/POSAのパターン
・設計原則:SOLID原則/コンポーネントの原則。
・方法論:XP・スクラム・リーン・カンバン・ウォーターフォール・構造化分析・構造化設計
・規律:TDD・オブジェクト指向設計・構造化プログラミング・継続的インテグレーション・ペアプログラミング
・成果物:UML・DFD・構造チャート・ペトリネット・状態遷移図・状態遷移表・フローチャート・ディシジョンテーブル

・継続的学習;仕事では使わないスキルの強化・改良
・誰かと協力:共に開発、練習し、設計や計画を進める。学び合い、仕事の間違いは減りより早く成し遂げられる
・最良の学習方法は、誰かに教えること

「ノー」という

・「ノー」と言ってから、お互いに合意できる解決策を導き出す
・「なぜ」よりも「事実」の方が重要
・「試しにやってみる」は、力を温存していたと認めること

「イエス」という

・あとでやると言った人が、今からやろうとしたり、実際にやったりすることはほとんどない
・無責任の証拠となる表現→「する必要がある/しなければいけない」「〜するといいんだけど/〜したい」「やりましょう」
・自分で約束の内容と期日を明言する「私が…までに…をやります」
・約束できるのは自分で完全に制御できるものだけ
・早い段階で問題を誰かに伝えないと、誰も手伝ってくれない
・頼まれたことすべてに「イエス」と言う必要はない。「イエス」と言える創造的な方法を懸命に探す

コーディング

・疲労時や注意散漫のときにコードを書いてはいけない
・ゾーンに入ると大局観を失う
・書きたいのに書けない→ペアのパートナーを見つける
・見積もりに願望を含めてはいけない
・自分の見積もりを死守する。予定を前倒しにするには、スコープを削るしかないと伝える
・1人で行き詰まっているのはプロではない

練習

・すべてのプロは、何らかの形で練習をしている
・練習は自分の時間で行う

時間管理

・会議に誘われたら、議題・そのための時間・達成すべき目標を確認する。
・スタンドアップミーティング→1.昨日やったことは? 2.今日やることは? 3.問題点は?
・5分で決着のつかない議論は、議論では決着がつかない

■チームとプロジェクト
・チーム作りには時間がかかる。関係づくりから。互いの変な癖・長所・短所を学び合う。チームは。12人程度がいい。

感想

プログラマという職業にかぎらず、仕事を進める際の教訓に近い内容が詰まっています。プログラマ以外の人にも読んでもらいたいですね。

関連まとめ

本のまとめカテゴリー


コメントを書く