Facebook
Twitter
Google+
Kommentare
0
Willkommen bei "the web hates me". Mittlerweile hat unser Team ein tolles neues Monitoringtool für Agenturen gelauncht. Unter dem Namen koality.io haben wir einen Service geschaffen, der er Agenturen ermöglicht mit sehr geringen Kosten alle Ihre Webseiten zu überwachen.

Der Weg zum PHP-Experten

Ich wurde gestern von einem Freund gefragt, wie man den Schritt vom PHP Anfänger zum Experten schaffen kann. Statt ihm still und heimlich eine Antwort per Mail zu schreiben, mache ich das einfach hier, vielleicht will ja jemand von euch diesen Schritt auch vollziehen. Ich hoffe mal, dass dies auch für den Freund klar geht. Da ich ihn aber über den Blog hier kenne wird es sicher OK sein. 

experte

Fangen wir also an. Definieren wir uns erstmal einen PHP Entwickler im Hobby-Stadium. Nennen wir ihn einfach Rüdiger, in der Hoffnung, dass keine von euch heißt. Rüdiger hat schon ein paar Jahre PHP Entwicklung auf dem Rücken, kann auch alles umsetzen, was man so von ihm verlangt. Ich kenne das ja von mir, früher konnte ich wirklich alles in meinem ersten Projekt umsetzen, was ich wollte, nur leider könnte ich meinen Code nie wieder erweitern. Seiteneffekte waren garantiert. Aber das war für die Art der Projekte, die damals akut waren auch ok. Ich sass alleine an einem solchen Projekt deswegen war ich für alles selber verantwortlich und wenn man wieder was in die Hose gegangen ist musste ich mich nu für mir selbst rechtfertigen. Aber wir wollen ja nicht über mich reden, sondern eigentlich über Rüdiger. Wenn man sich die Webentwicklung zum Hobby gemacht hat, dann mag das alles vielleicht reichen. Rüdiger möchte jetzt aber in das professionelle Lager wechseln und sein Hobby zum Beruf machen und dafür braucht man heutzutage schon ein wenig mehr.

[sc:adsense]

Was muss man also machen, um der König der Softwareentwicklung zu werden. Schritt Eins ist natürlich einen Blog zu machen und phphatesme auf ihm zu verlinken. Klingt erst mal schwachsinnig und natürlich wollte ich auch ein wenig provozieren, aber dieser Blog hier hat mir so viel beigebracht. Ich bin eine Person, die viel besser lernt, wenn sie das zu lernende aufschreibt. Alles was ich also irgendwo lese, versuche ich in einen Blogpost zu packen. Auf jeden Fall kann so etwas ein Begleiter im Selbststudium sein, den man nicht unterschätzen sollte.

Aber wie sollte Rüdiger jetzt wirklich anfangen? Zuerst sollte man sich ein Projekt suchen, dass man umsetzen will. Nicht zu klein, nicht zu groß. Dann definieren wir uns mal, was wir lernen wollen? Architektur, OOP und Qualitätssicherung wären jetzt meine ersten Ideen. In der heutigen Zeit sollte man sich ein Framework einsetzen, was uns schon bei den ersten zwei Punkten helfen kann. Meistens sind diese nämlich schon nach dem MVC Pattern, einem der wichtigsten OOP Muster, die man in der Webentwicklung kennt, gestrickt. Hält man sich also an die Vorgaben, die die Macher von Zend Framework oder Symfony, dann lernt man schon einiges über Architektur. Natürlich sollte man nebenher auch viel lesen. Obwohl ich es noch nicht ganz gelesen habe empfehle ich hier doch einfach mal das Buch von Ralf Eggert. Großer Vorteil hier ist auch, dass ihr euch an Standards haltet. So könnt ihr alle Tipps, die irgendwelche PHP Gurus veröffentlichen auch auf euer Projekt anwenden. Neue Trends können sofort aufgegriffen werden und man profitiert unheimlich von der Community. Wichtig hierbei ist auch der Grundsatz, dass die meisten Probleme bereits gelöst wurden. Versucht euch also an Standards zu halten.

[sc:adsense]

Ein weiterer Tipp, den ich geben kann ist Teamwork. Ich bin ein großer Fan von Pair-Programming. Hier sitzen zwei Entwickler an einem PC und tüfteln an der gleichen Stelle Code. Studien haben ergeben, dass diese Art zu programmieren beide Entwickler schnell auf das gleiche Niveau hebt. Und zwar auf das der besseren. Schnappt euch also jemand, der mit euch ein Projekt machen will und der vielleicht ein wenig mehr Erfahrung hat als ihr. Wenn ihr nicht am selben Ort sitzt, dann VNC drauf und über das Netzwerk das ganze erledigen. Wenn dies auch nicht geht, dann versucht es erst mal mit Code Reviews und lasst jemanden über eure PHP Klassen drüber schauen.

Vielleicht kann man ja hier so etwas wie ein Patenprogramm aufbauen. Ich denke, dass bei phphatesme das Verhältnis zwischen Profi und Anfänger ziemlich ausgeglichen ist. Vielleicht kann man da ja ein paar Leute zusammenbringen. Ich würde mich auf jeden Fall auch mit in das Programm einbeziehen, da kann man bestimmt einiges lernen. Aber jedes andere Lernsystem unterstütze ich natürlich auch.

Ich habe ja vorhin davon erzählt, dass ihr lesen sollt. Aus diesem Grund möchte ich hier auch kurz eine Liste aufstellen mit “Buch”-Empfehlungen.

Leider kenne ich gar nicht so viele gute Bücher. Die meisten Informationen hole ich mir aus dem Netz.

Natürlich sollte man sich auch mit dem ganzen Drumherum auskennen. Damit meine ich, dass man mal SVN verwendet oder ein Buildscript aufgesetzt haben sollte. Continuous Intergration ist auch ein Schlagwort, dass man nicht nur mal gehört haben sollte. Aber all diese Dinge gehören erst dazu, wenn man sich mit den Grundregeln auskennt.

Eine Sache möchte ich euch auch noch auf den Weg geben, auch wenn mich vielleicht einige von euch dafür hassen werden. Wenn ihr aber etwas über Softwaretechnik lernen wollt, dann schnappt euch ein gutes Java Buch. Ich finde PHP zwar um einiges besser für die Webentwicklung geeignet, als Java, trotzdem ist uns diese Sprache um ca. 5 Jahre vorraus. Sieht man natürlich auch an den ganzen Tools, die gerade aktuell in Gespräch sind. pDepend vs. jDepend, phpUnit vs. jUnit, PHPUnderControl vs. Cruise Control. Kann aber auch sehr viele Vorteile haben, da wir so nur die Techniken adaptieren, die in anderen Plattformen bereits Fuss gefasst haben.

Ach was ist eigentlich mit Rüdiger? Keine Ahnung, irgendwie habe ich meinen Faden ja dann doch verloren und da hing leider Rüdi, wie seine imaginären Freunde ihn nennen, dran. Egal, ich denke, dass trotzdem meine Punkte klar wurden.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen