2022年4月23日土曜日

『Googleのソフトウエアエンジニアリング』

600ページを超える大著。大きく「文化」「プロセス」「ツール」に別れる。マネジメントレベルから技術的な実践まで、実際にGoogleで行われていることが詳細に述べられている。大前提としてGoogleの規模を前提としているので、自分の業務に適応できるかどうかはきちんと判断してチェリーピッキングしていかないといけない。私自身、本書を読む課程でいくつもの改善をチーム・業務に取り入れた。

「文化」の節は『Team Geek』の改訂版といってもよいような内容。マネジメント面のみ知りたいのであればそちらの方が薄くて読みやすいかもしれない。凄腕のエンジニアが大量に居ることで知られるGoogleだが成果という面ではチームマネジメントを非常に重視している。求められるスタイルはサーヴァントリーダーシップ。チームがうまく機能して成果が出せるように組織的な点から人間的な点までマネージすることが仕事。技術が好きでマネジメントするよりもエンジニアとしてありたい、という人も多いと思う。しかしGoogleでは、凄腕中の凄腕が単独では為せないソフトウエアをチームを使って作ためにマネージャーとなる、というもの。JTC(Japanese Traditional Company)的なドメイン知識が無くリソース管理調整業務をするのとは人物像が異なる。

「プロセス」の節はスタイルガイド・コードレビュー・テストなどの開発プロセスの実践について。とくにテストの比重が大きい。ツール、アプリケーション分野、開発のプロセスの違いなどからそのまま導入できない点も多いが、考え方や得失などを理解して活用できる点も多い。テストダブルやテスト自動化は「プロセス」節にあるが、モノリポとTrunk指向についてはツール依存性が高いので「ツール」節に入っている。

「ツール」の節は「プロセス」をささえるコンピューティングフレームワークについて。規模についてはただ驚くばかりだが、その背景・動機・考え方については参考になる。このようなツールがなくても、プロセスについては部分的に導入が可能なものもある。

 

 


 

 

 

 

過去の読書記録はこちら
https://cold-darkstar.blogspot.com/search/label/%E6%9C%AC
https://booklog.jp/users/nkon
http://park11.wakwak.com/~nkon/misc/book/

 

 

 

 

 

 

0 件のコメント:

コメントを投稿