Frage

Ich habe gerade meinen Meister beendet und beginne, mich in die Laborwelt zu befassen, dh erfährt, wie Programmierteams und Technologieunternehmen in der realen Welt funktionieren. Ich beginne, die Idee meines eigenen Service oder meiner eigenen Produkte basierend auf kostenloser Software zu entwerfen, und ich benötige ein gut gekoppeltes, begeistertes und flüssiges Team zum Aufbau und die Idee. Mein Problem ist, dass ich nicht sicher bin, welche die besten Fähigkeiten für ein Programmeam von 4-5 Mitgliedern sind.

Ich habe viele Freunde und Bekannte, mit denen ich während meines Studiums zusammengearbeitet habe. Muss derer, die ich im Sinn habe, sind sehr fähige und kluge Menschen mit einer guten Logik- und Programmierbasis, obwohl einige von ihnen einige Merkmale haben, von denen ich glaube Bei der Debatte schwer zu geben, mangelnde strukturierte Programmierung (Tests, gutes Kommentar, frühere Design und Analyse).

Einige von ihnen haben diese negativen Eigenschaften, aber müssen von ihnen viel Begeisterung haben, gute Arbeitsfähigkeiten (aus individueller Sicht) und die Fähigkeit, das ganze Bild zu sehen.

Die Frage ist: Wie kann man das beste Team für ein großes Projekt mit viel Programmierung auswählen? Welche dieser negativen Fähigkeiten sind Ihrer Meinung nach einfach zu einflussreich? Welches kann mit guter Führung gemildert werden? Sie sind gute Fähigkeiten zu erwarten? Und jede andere Meinung zu sozialen und Programmierkenntnissen eines Programmierteams.

War es hilfreich?

Lösung

Die Teamchemie ist etwas, das schwer vorherzusagen ist. Wie lange ein Projekt dauern wird, um fertig zu werden, ist schwer vorherzusagen. Wirklich, das Leben ist schwer vorherzusagen. Am besten wählen Sie die Menschen aus, die Sie für gut zusammenarbeiten, sie starten und sehen, was passiert. Passen Sie Ihr Team nach Bedarf an. Es wird offensichtlich sein, welche Bereiche verbessert werden müssen, und was reibungslos verläuft, wenn Sie nach Feedback zu diesen Artikeln von Ihrem Team fragen.

Die wissenschaftliche Methode ist im Allgemeinen der beste Weg, um Ergebnisse zu erzielen. Verbringen Sie nicht zu viel Zeit mit der Hypothese, machen Sie weiter und beobachten Sie, damit Sie Maßnahmen ergreifen können.

Andere Tipps

Joel Spolsky sagte:

Im Prinzip ist es einfach. Sie suchen nach Menschen, die sind

  1. Schlau und
  2. Aufgaben zuende bringen.

Steve Yegge mochte dieses Prinzip und erweiterte es ein wenig mit Fertig und wird schlau.

Ich habe Teams seit 5 Jahren nach 15 Jahren Entwicklung geleitet. Mein eigenes Prinzip ist sehr ähnlich wie Spoelsky, nur nicht so elegant formuliert. Programmierer sind Problemlöser, die Software verwenden, um die Probleme zu lösen. In diesem Sinne wird ein guter Programmierer das Tool für den Job verwenden, obwohl dies oft eine der Handvoll bedeutet, die er am besten kennen (viel Glück mit einem .NET -Entwickler, der LISP für das beste Werkzeug für einen Job ist).

Während alle meine Interviews einige entwicklungsspezifische Fragen haben, sind sie tendenziell generisch und nicht auf Toolset basiert. Ich hätte lieber Leute, die OO verstehen (unsere aktuelle App -Suite ist OO) und die Fähigkeit zu verstehen, zu lernen und zu umarmen.

Alles in allem müssen sie zeigen, dass sie die Fähigkeit haben, eine Klanglogik in einer Sprache zu schreiben. Ich bin auf viel zu viele Entwickler gestoßen, die über das Gespräch sprechen können, aber den Weg nicht gehen können.

Ein großartiges Teammitglied hat eine Reihe von Merkmalen, wie in der folgenden Liste. Dies ist nicht spezifisch für die Programmierung, gilt jedoch für alle Arten von Teams, in denen die Zusammenarbeit voraussichtlich stattfinden wird:

  • Anerkennt und arbeitet durch Konflikte offen
  • Betrachtet und verwendet neue Ideen und Vorschläge von anderen
  • Fördert Feedback zum eigenen Verhalten
  • Versteht und engagiert sich für Teamziele.
  • Teilt offen und authentisch mit anderen über persönliche Gefühle, Meinungen, Gedanken und Wahrnehmungen über Probleme und Bedingungen
  • Beteiligt andere in den Entscheidungsprozess
  • Trusts, unterstützt und hat echte Sorge um andere Teammitglieder.
  • "Besitzt" Probleme, anstatt sie anderen zu beschuldigen
  • Versuche beim Zuhören, Kommunikation aus der Sicht anderer Sicht zu hören und zu interpretieren
  • Beeinflusst andere, indem sie sie in die Themen einbeziehen (en)
  • Fördert die Entwicklung anderer Teammitglieder
  • Respektiert und ist tolerant gegenüber individuellen Unterschieden
  • Beteiligt sich nicht an Sieg/Verlieren von Aktivitäten mit anderen Teammitgliedern
  • Hat Fähigkeiten, zu verstehen, was in der Gruppe vor sich geht

Verwenden Sie diese Liste, um Ihre potenziellen Teammitglieder zu messen.

Dies ist mehr oder weniger das perfekte Teammitglied, mit dem ich sicher gerne arbeiten möchte. Wenn Sie solche Leute finden und wer Auch Kennt ein oder zwei Dinge über das Programmieren, dann haben Sie ein Gewinnerteam.

Mehr Info hier.

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top