PHP-Kompetenzen in einer Organisation aufbauen [geschlossen]

8

Dies ist nicht wirklich eine technische Programmierfrage, sondern hat mehr mit Best Practices und Programmier- / Projektmanagementprozessen zu tun. Hier einige Hintergrundinformationen:

Ich bin Berater bei einer agilen (Scrum-) Softwareentwicklungsfirma, die auf den Java, J2EE, Flex-Technologie-Stack spezialisiert ist.

Hier wird von vielen allgemein angenommen, dass die Qualität von PHP-bezogenen Personen, Projekten usw. im Vergleich zu Java nicht auf dem neuesten Stand ist. Während ich diesen Anspruch oft bestreite, akzeptiere ich, dass es insgesamt eine geringe Barriere für den Zugang zu PHP gibt, die gelegentlich Leute mit niedrigerer Qualität anzieht, die dann qualitativ minderwertige Arbeit produzieren.

Für uns steht Qualität an erster Stelle. Im Laufe der nächsten Quartale wollen wir auch eine sehr hohe Kompetenz in PHP entwickeln. Und wir wollen ein Höchstmaß an Qualität erreichen, und unsere Prozesse sollten so sein, dass wir uns ständig weiterentwickeln, während wir auf einem hohen Niveau beginnen.

Unsere neuen Rekruten durchlaufen einen strengen Auswahlprozess, bei dem es eine sehr praktische technische Aufgabe gibt. Wir bewerten, wie sie programmieren, wir bewerten, wie sie ihren Code testen, wir bewerten ihre Fähigkeiten mit Industriestandard-Frameworks (Zend, CakePHP, CodeIgniter / Kohana, Symphony).

Wir haben alle zwei Monate (zweimal im Monat) einen Wissensaustausch-Event, bei dem die Menschen ermutigt werden, sich zu präsentieren. Wir haben auch praktische Ereignisse.

Ich möchte Sie bitten, Ihre Erfahrungen darüber zu teilen, wie wir als Einzelpersonen und eine flache, agile, relativ kleine Organisation gute PHP-Entwicklungspraktiken vermitteln und uns ständig verbessern können.

Danke, Sri

    
Sri 03.02.2010, 16:27
quelle

5 Antworten

2

Der beste Weg, um besser zu werden, besteht darin, sicherzustellen, dass Sie nur Leute einstellen, die besser werden wollen. Dann musst du diese Menschen unterstützen, wenn sie Fehler machen, um besser zu werden. Auf diese Weise haben sie keine Angst, neue Dinge auszuprobieren.

Es gibt ein Sprichwort, das ich in den USA gehört habe: "Leute mit weniger als 3,9 (von 4,0) GPA einstellen"; das spiegelt das Ziel wider, Menschen einzustellen, die nicht perfekt gearbeitet haben (das heißt, sie haben gelernt, nicht perfekt zu sein).

Einer der besten Wege, um besser zu werden, sind die "Lean" -Mentalität, die die agilen Methoden hervorgebracht hat, sowie eine beträchtliche Anzahl von Erfolgsgeschichten in der Fertigung.

Die allgemeine Idee besteht darin, kontinuierlich in einen iterativen Prozess der Selbstevaluation involviert zu sein und niemals Ressourcen zu verschwenden oder Blöcke in Ihrem Workflow zu haben. Das muss natürlich mit Vorsicht behandelt werden: Forschungsprojekte sind so schlecht definiert, dass sie fast nicht in eine Fließbandfertigung gebracht werden können, und ein großer Teil der Softwareentwicklung ist Forschung.

Für eine Sprache müssen Ihre Entwickler über die neuesten Sicherheitsfragen auf dem Laufenden gehalten werden, ihre Installationen müssen von den IT-Mitarbeitern auf dem neuesten Stand gehalten werden, das Unternehmen sollte einige Lernmaterialien finanzieren, seien es Kurse, Bücher, Konferenzen oder was hast du?

Im Allgemeinen besteht das übergeordnete Konzept darin, dass Qualität für jeden etwas bedeutet, und es ist in Ordnung, sich die Zeit zu nehmen, es richtig zu machen .

    
Paul Nathan 03.02.2010, 16:46
quelle
7

Ich persönlich glaube, dass gute Entwicklungspraktiken über die Sprache hinausgehen. Ihre Anforderungen für PHP-Projekte sollten denen für Java entsprechen. Zum Beispiel sollte der Code klar und kommentiert, formatiert und getestet werden, genau wie für jede andere Sprache.

    
Jon 03.02.2010 16:31
quelle
4

Ich denke, einer der wichtigsten ersten Schritte besteht darin, Standards zu setzen. Legen Sie einen obligatorischen Codierungsstil fest (keine einzeiligen if / for / while / etc. Anweisungen, Tabulatoren anstelle von Leerzeichen, Dokumente für jede Funktion usw.); Eine Mindestanforderung für die Sauberkeit des Codes ist sehr wichtig, um ein hohes Qualitätsniveau zu halten.

Ein guter nächster Schritt ist, herauszufinden, wo Ihre Mitarbeiter kompetent sind und wo nicht. Stellen Sie fest, in welchen Teilen der Sprache Ihre Mitarbeiter Probleme haben (z. B. neue PHP 5-Funktionen, effizientes Verwenden von DOMDocument, Schreiben sicherer Klassen ...) und weisen Sie die Pflicht zum Lesen zu.

Das führt mich zu meinem nächsten Vorschlag: eine "Firmenbibliothek" haben. Für die Orte, an denen ich gearbeitet habe, war es ein Bücherregal, an dem die Mitarbeiter Bücher ausleihen können, um sie zu referenzieren oder zu studieren. Halten Sie es mit einer Vielzahl von Büchern verschiedener Verlage bestückt. Nach dem, was ich gesehen habe, sind Mitarbeiter mehr als bereit, etwas Neues zu lernen, wenn es ihnen nicht aufgezwungen wird und sie es in ihrer Freizeit tun können. Ein guter Programmierer versucht immer zu lernen.

Schließlich, starten Sie ein Blog / Mailing-Liste / Forum, dass Mitarbeiter ermutigt werden, regelmäßig teilzunehmen. Posten Sie Leckerbissen (und ermutigen Sie Ihre Mitarbeiter, auch zu posten) über Best Practices. Sie könnten posten, wie Sie gettype mit einer switch-Anweisung falsch verwenden oder wie Sie magische Zitate programmatisch deaktivieren.

Viel Glück!

    
mattbasta 03.02.2010 16:39
quelle
2

Offensichtliche Techniken wären regelmäßige Code-Reviews und Paar-Programmierung; Letzteres ist besonders wichtig, wenn Sie es als Instrument nutzen können, um den neuen Mitarbeitern Best Practices zu vermitteln. Stellen Sie sicher, dass die Entwickler, die näher an Ihrem Ideal sind, guten Code zu schreiben, genug Zeit damit verbringen können, die anderen Entwickler zu unterrichten.

All das ist leider ziemlich sinnlos, wenn Sie Leute einstellen, die entschieden haben, dass sie bereits alles wissen, was sie wissen müssen; Stellen Sie sicher, dass Sie Kandidaten einstellen, die bessere Programmierer werden wollen und bereit sind, daran zu arbeiten.

    
Timo Geusch 03.02.2010 16:32
quelle
1

Alle oben genannten Antworten haben gute Punkte zu hören. Hoffentlich wird das nur noch dazu kommen.

Die Quintessenz ist, dass es Übung braucht. Nehmen Sie definitiv nicht die Leute auf, die denken, dass sie perfekt sind oder nicht viel Wachstum brauchen. Ich denke, ich bin ein ziemlich guter Programmierer, aber ich kann viele, viele Möglichkeiten für Wachstum sehen.

Verlassen Sie sich auf die Weisheit und Erfahrung anderer Programmierer. Geben Sie ihnen einige gute Lektüre mit Abschnitten, die hervorgehoben werden, wie sie Ihre Organisation ansprechen oder beeinflussen.

Es ist viel einfacher zu "WOLLEN", um besser zu werden, wenn es wichtig ist, besser zu werden. Die Unterstützung, Fehler zu machen und zu wachsen, ist vorhanden und die Ziele sind klar und erreichbar.

    
jerebear 03.02.2010 16:57
quelle

Tags und Links