Was passiert mit Programmierern, die kein Teamwork haben?
Dann wird es schwierig, an Projekten zu arbeiten, die für einen einzelnen Programmierer zu groß sind. Schwierig für den Solo-Programmierer und schwierig für den Rest des Teams.
Wo fangen die Probleme an?
Alle möglichen Orte. Wir haben derzeit einen einzelnen Programmierer, der schlecht in der Arbeit als Teil eines Teams ist. Er neigt dazu, Abkürzungen zu machen, die sich negativ auf den Rest der Anwendung auswirken, da er sich zu sehr darauf konzentriert, den Fehler vor sich zu beheben. Oder schreiben Sie die neue Funktion so, dass sie nicht mit dem Rest der Anwendung kompatibel ist. Wir müssen die Dinge neu ordnen, damit jeder Code-Check-in von ihm vom Rest des Teams überprüft wird. Um ihn jedoch nicht herauszufiltern, überprüfen wir auch die Code-Check-Ins aller anderen, sodass wir zusammen mit der morgendlichen Statusbesprechung erst nach dem Mittagessen mit der Arbeit fertig sind. In unserem Büro bedeutet dies, dass 4 Personen jeden Tag einen halben Arbeitstag verlieren, weil ein Mitarbeiter bei der Teamarbeit mies ist. Ich kann nicht sagen, dass es eine Verbesserung gegenüber den vorherigen Abenteuern ist, weil wir zufällig einen Tag bis eine Woche verlieren könnten (in der Regel neue Bugs jagen) von seinen Check-Ins, die Dinge kaputt machen (wir nennen diese "Robstacles"). Einige der Korrekturen an seinem Code werden am Ende ein halbes Dutzend Fehler beheben, da die Anwendung verworren und chaotisch ist (meine Empfehlung anNuke es aus dem Orbit und fange von vorne an, weil das der einzige Weg ist, um sicher zu gehen, dass es nicht akzeptiert wurde.
Wenn wir in einer großzügigen Stimmung sind, nennen wir ihn einen "Head-Down-Programmierer". Er neigt dazu, auf die Tastatur zu schauen und sehr schnell zu tippen. Er achtet nicht darauf, was andere tun.
Kompensiert ein guter Programmierer wenigstens ein wenig?
Nein. Die meisten Programmierer, die schlechte Teamplayer sind, haben eine sehr hohe Meinung von ihren eigenen Fähigkeiten, und dies wird als Mahn-Krüger-Effekt bezeichnet . PDF von Papier.
Vielleicht: Der Solo-Programmierer müsste weitaus besser sein als der Rest des Teams. Dies bedeutet jedoch nur, dass niemand anders das behaupten kann, was er tut. und wenn das passiert, bedeutet das wahrscheinlich, dass der Solo-Programmierer nicht viel besser ist als der Rest des Teams - er (und es ist fast immer ein Typ) kann einfach besser alle zum Narren halten.
In der Entwicklung von Unternehmenssoftware ist das Unternehmen noch lange nach Ihrer Abreise präsent. Programme wurden höchstwahrscheinlich geschrieben, bevor Sie begonnen haben, und werden noch lange nach Ihrem Ableben gepflegt. Wenn Sie Dinge schreiben, die so speziell und erstaunlich sind, dass niemand sie verstehen kann, geraten Sie in die Situation, in der sich Naughty Dog befindet - ihr leitender Entwickler hat aufgehört, niemand versteht die proprietäre Programmiersprache, die der Typ geschrieben hat (und schrieb) Dinge in), so müssen sie jetzt alles auf C ++ umstellen .
Ist es normal, dass ein Programmierer eine Vision von seiner Arbeit hat, anstatt nur das zu tun, was ihm gesagt wird?
Es ist üblich - wie ein Stau oder Diabetes. Ich würde es nicht normal nennen. In der Unternehmenswelt gibt es viele andere Dinge zu beachten; Das starke Ego, das viele Entwickler haben, lässt den Entwickler denken, dass nichts anderes wichtig ist. Dieser "Mangel an Passform" und die mangelnde Berücksichtigung für den Rest des Geschäfts ist der Grund, warum so viele Manager-Typen zu dem Schluss kommen, dass es schwierig ist, mit Software-Entwicklern zu arbeiten.