1章天才プログラマの神話

本書は、ソフトウェア開発の社会的危機について扱ったものだ。したがって、君が確実にコントロールできる変数を取り上げたい。君自身だ。

人間は本質的に不完全である。だが、他人のバグを理解する前に、君自身のバグを理解しなければいけない。君自身の反応・挙動・態度をよく考えてもらいたい。そして、成功を収める有能なソフトウェアエンジニアになるための方法を身につけてほしい。そうすれば、人間が関わる問題にうまく対応できるようになり、優れたコードを書く時間がもっと増えるようになる。

本章で伝えたいのは、ソフトウェア開発はチームスポーツであるということだ。エンジニアリングチームで成功するには、自分が「謙虚・尊敬・信頼」の原則に基づいて行動できているかを認識しなければいけない。

話を進める前に、プログラマがよくやる行動を見ていこう。

1.1 コードを隠して

ぼくたち2人は、過去6年間に何度もカンファレンスで講演を行ってきた。Googleでオープンソース向けのプロジェクトホスティングサービスを2006年に立ち上げたメンバーなので、プロダクトに関する質問やリクエストをよくいただく。2008年の中頃に話を戻すが、そうしたリクエストには特徴的な傾向があることに気づいた。

Google CodeのSubversionでブランチを隠せるようにしてもらえませんか?

最初はコードを非公開にして、準備ができたら公開できるようになりませんか?

スクラッチからコードを書き直したいので、履歴を削除してくれませんか?

共通点がわかっただろうか?

それは、不安だ。途中の作業を見られるのは怖い。人間は誰にも批判されたくないし、それが未完成のものならなおさらだ。このことがヒントになり、ぼくたちはソフトウェア開発に潜む傾向がわかってきた。不安は始まりにすぎなかったのだ……。 ...

Get Team Geek ―Googleのギークたちはいかにしてチームを作るのか now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.