チームワークが不足しているプログラマはどうなりますか?
そうなると、一人のプログラマーにとっては大きすぎるプロジェクトに取り組むことが難しくなります。単独のプログラマーにとっては難しく、チームの他のメンバーにとっては難しい。
問題はどこから始まりますか?
あらゆる種類の場所。現在、チームの一員として働くのが苦手なプログラマーが一人います。彼は自分の前のバグを修正することにあまりにも集中しているため、アプリケーションの他の部分に悪影響を与えるショートカットを作成する傾向があります。または、アプリケーションの他の部分と互換性のない方法で新機能を記述します。彼のすべてのコードチェックインがチームの他のメンバーによってレビューされるように、物事を再編成する必要があります。しかし、彼を選出しないように、他の全員のコードチェックインも確認します。したがって、午前中のステータスミーティングと一緒に、昼食が終わるまで作業は行われません。ですから、私たちのオフィスでは、1人の男がチームワークでお粗末なため、4人が毎日1日半の仕事を失っていることを意味します。以前の冒険よりも改善されたとは言えませんが、何かを壊すチェックインから1日から1週間(通常は新しいバグを追いかける)をランダムに失う可能性があるためです(これらを「障害」と呼びます)。彼のコードの修正のいくつかは、アプリケーションがどれほど複雑で厄介なために、半ダースのバグをクリアすることになります(私の推奨事項軌道からそれを壊し、それが受け入れられなかったことを確認する唯一の方法だから、もう一度やり直してください)。
私たちが寛大な気分にあるとき、私たちは彼を「ヘッドダウンプログラマー」と呼びます。彼はキーボードを見下ろし、本当に速くタイプする傾向があります。彼は他の人がしていることに注意を払っていません。
優れたプログラマーであるということは、少なくとも少しは報いていますか?
いいえ。悪いチームプレーヤーであるほとんどのプログラマーは、自分のスキルについて非常に高い意見を持っています。これは、Dunning-Krugerエフェクトと呼ばれます。紙のPDF。
たぶん、ソロプログラマはチームの他のメンバーよりもはるかに優れている必要があります。しかしこれは、他の誰も彼がしていることを維持できないことを意味します。そしてそれが起こると、おそらくソロプログラマーは実際にチームの他のメンバーよりもはるかに優れているわけではないことを意味します。
ビジネスソフトウェア開発では、会社はあなたが退職してからずっと経ちます。プログラムはおそらくあなたが始める前に書かれたものであり、あなたがいなくなった後もずっと維持されるでしょう。誰も理解できないほど特別で驚くようなものを書くと、Naughty Dogがいる状況になります -リード開発者は辞め、他の誰も彼が書いた独自のプログラミング言語を理解しませんそのため、すべてをC ++ に切り替える必要があります。
プログラマーが言われたことをするだけでなく、自分の仕事についてビジョンを持つのは普通ですか?
それは一般的です-交通渋滞や糖尿病のように。私はそれを普通とは呼びません。企業の世界では、他にも考慮すべきことがたくさんあります。多くの開発者が持っている強い自我により、開発者は他に何も問題がないと考えるようになります。この「適合性の欠如」と他のビジネスに対する考慮の欠如は、ソフトウェア開発者が働きにくいという結論に達する多くのマネージャータイプの理由です。