Mein Praxissemester
Von Symfony bis Grunt
Ankommen
Ein angenehm warmer Herbstmorgen im September 2017, gegen 10:00 Uhr. Ich fahre die letzten Meter über die Bannwaldbrücke in Karlsruhe. In der Rheinebene sind solche Brücken so ziemlich die steilsten Abschnitte, denen Fahrradfahrer im Alltag begegnen. Also trete ich mit voller Kraft in die Pedale, um die Brücke zu erklimmen. Auf ihrem Zenit angekommen, lasse ich mich bis vor den Eingang meines künftigen Büros ausrollen. Ein bisschen aufgeregt bin ich schon…
Der Kicker-Tisch und die weiten, hellen Räumlichkeiten erzeugen sofort ein Gefühl der Offenheit und von junger Dynamik, wie man sie auch im Unternehmen wiederfindet. Mit Dom und Jan hat Galileo zwei sympathische Eigentümer und Chefs, die beide durch Kompetenz und Arbeitseinsatz die nötige Autorität ausstrahlen, ohne sie direkt zur Sprache zu bringen. Sie stellen ein klares Gegenmodell zum klischeehaften bürokratischen Machtmenschen dar, den sicherlich viele schon einmal als Vorgesetzten hatten.
Die Galileo Webagentur war schon vor Beginn dieses Praxissemesters keine unbekannte Firma für mich, immerhin habe ich bereits für ca. ein Jahr für sie im kleineren Umfang gearbeitet. Daher konnte ich die ansonsten übliche Kennenlern-Phase deutlich verkürzen. Man kannte sich, wenn auch eher flüchtig. Ich wusste, dass Jan mich betreuen würde, und kannte die Arbeitsfelder der Agentur sowie einige wichtige Workflows zur Team-Arbeit und Buchhaltung. Dennoch musste ich mich sowohl arbeitstechnisch als auch sozial auf die veränderte Arbeitssituation einstellen. Nun werde ich unter der Woche quasi jeden Tag mit meinen Kollegen verbringen, auf alle Fälle mit Ihnen zu Mittag essen, gelegentlich frühstücken und 2, 3 Mal auch zu Abend essen. Wir werden spazieren gehen, lachen, uns aufregen, uns gegenseitig erheitern und auch mal auf die Nerven gehen. Die individuellen Charaktere werden sich mir tiefer erschließen, genau wie die Menschen um mich genauere Eindrücke von mir erhalten werden. Ich werde die Zeit haben, aber auch vor die Aufgabe gestellt werden, mich mit vielen neuen Tätigkeitsfeldern intensiver auseinander zu setzen und die so erworbenen Erkenntnisse auf unsere Projekte anzuwenden. Dazu aber später mehr.
Die Freizeit ist auch wirklich „frei“
Weiterhin ist auch die Freizeitgestaltung von Veränderungen betroffen: Natürlich gewinnen die Wochenenden deutlich an Wert im Vergleich zum sonstigen Studentenleben. (Freie) Zeit im Allgemeinen wird wertvoller. Das trieb mich auch dazu, sie auch sinnvoller zu nutzen als das zuvor der Fall war, ein durchaus positiver Nebeneffekt. Die Freizeit ist auch wirklich „frei“, denn nach Feierabend erwartet niemand mehr ein Nachbereiten von Vorlesungen oder die Vorbereitung auf den nächsten Vortrag, die nächste Klausur oder das nächste Kolloquium. Frei ist frei, und für (produktive) Freizeitaktivitäten lässt Galileo übrigens gerne Freiräume und zeigt sich sehr flexibel! Eine sehr angenehme Praxis, bei der man sich wünschen würde, dass sie sich allgemein auf dem Arbeitsmarkt durchsetzen kann. So überrascht es auch nicht, dass viele Kollegen interessanten Hobbys wie Kunst, Musik, Theater oder Literatur (oder allen genannten Themen…) nachgehen und die Unterstützung solcher Dinge durch Galileo wiederum auf die Qualität und die Motivation bei der Arbeit rückwirkt, direkt oder indirekt.
Jetzt geht’s los: Die Arbeit an den Projekten
Wie bereits erwähnt war mein Arbeitsplatz schon aus der Zeit vor den 6 Monaten eingerichtet, so konnte ich also direkt mit dem Arbeiten beginnen. Und da gab es gleich die erste Herausforderung. TYPO3-Upgrade und Implementierung einer Archiv-Extension. Da die Website und alle ihre genutzten Dienste auf (verschiedenen) Servern eines Behördennetzes gehostet sind, ist ein Zugriff sowohl auf die Website als auch auf die verwendeten Dienste nur über einen SSH-Tunnel möglich. Bei der Entwicklung einer TYPO3-Extension zur Darstellung der Archivdaten wurden die Daten von einer API zu einem sogenannten „Findmittel-Server“ erhalten. Wir mussten uns also auch für die lokale Entwicklung mit den Servern im Behördennetz verbinden. Damit nicht genug, nun wurden nicht nur für die Website, sondern auch für den Findmittel-Server (und den Bild-Server, der wiederum eine eigene Maschine darstellt) Test- und Produktivsysteme bereitgestellt, die aber nicht konsistent mit Daten gefüllt waren, sodass man zwischenzeitlich abweichend von dieser Logik gegen die verschiedenen Server entwickeln musste. Zuletzt verlief die Kommunikation mit dem Kunden nicht immer ganz reibungslos. Ganz schön herausfordernd, aber auch lehrreich, Stichwort Netzwerktechnik. Mit dieser habe ich mich als angehender Webentwickler noch nie tiefer befasst. So geht das eigentlich nicht. Dieses Projekt war eine gute Gelegenheit dazu, dort meine Kenntnisse zu erweitern, und ich habe auf diesem Themengebiet einiges mitnehmen können.
Anschließend wechselte ich mein Arbeitsgebiet zwischen weiteren TYPO3-Upgrade-Projekten sowie der Entwicklung einer firmeninternen Projektverwaltungssoftware auf Grundlage des Frameworks Symfony 3. Während der Upgrade-Projekte lernte ich den Kern von TYPO3 besser kennen, da sich entstehende Fehlermeldungen nach den automatisierten Upgrade-Prozessen häufig in tiefere Systemebenen hinein reichten.
Mein erstes echtes Symfony-Projekt
Besonders interessierte mich jedoch die Projektverwaltung für Galileo. Mein erstes echtes Symfony-Projekt, das über simple „Hallo Welt“-Routes hinausging und einen großen praktischen Nutzen mit sich brachte! Zusammen mit Jan entwickelte ich das Datenmodell, wir implementierten Grundstrukturen für das Layout unter Verwendung eines professionellen HTML- und CSS-Themes und unternahmen viele Überlegungen im Bereich Softwarearchitektur. Ich lernte, diverse Design-Entscheidungen vor der Entwicklung zu treffen und Tools wie Git zur kooperativen Arbeit ausführlicher zu benutzen. Ich lernte die Funktionsweise des Backend-Dependency-Managers Composer genauer kennen und entwickelte das Frontend-Dependency-Management mit Bower sowie den Buildprozess für das Frontend mit Grunt. Um die Datensicherheit und -validität sicher zu stellen, arbeitete ich mich in verschiedene Extensions für die Datenbank-Abstraktionsschicht Doctrine ein. Dort gibt es Erweiterungen, die die Interaktion mit der Datenbank um Backups, Historien und „Soft deletes“ bereichern. Die Möglichkeit, mit solchen Extensions umgehen zu können und sie gleich im Anwendungsfall auszuprobieren, bereicherten meine Entwickler-Fähigkeiten enorm. Die Entwicklung dieser Projekt-Software begleitete mich über das gesamte Praxissemester, blieb ein bisschen „mein kleines Baby“ und stellt wohl den Schwerpunkt des Praxissemesters dar.
Mein gesamtes Selbstverständnis als Junior-Webentwickler hat sich gewandelt.
Als letztes Projekt kam die Entwicklung eines ausführlicheren Produktkatalogs für ein lokales Unternehmen. Dieses Unternehmen ist hochspezialisiert auf Lüftungs- und Absauganlagen für verschiedene Industrien sowie für Medizintechnik. Diese Anlagen müssen teils sehr verschiedenen Anforderungen genügen, sei es beim Umgang mit giftigen/ätzenden Gasen, anderen Gefahrstoffen, sehr feuchter Luft und verschiedensten Partikeln sowie eventuell Krankheitserregern und ähnlichem. Diese Vielfalt im Detail soll durch den neuen Produktkatalog flexibel abgebildet werden können. Meine Aufgabe war also die Entwicklung eines Datenmodells, das dazu in der Lage ist, die Implementierung der Formulare zur Datenpflege im Backend sowie die Entwicklung der Grundlagen für die Frontend-Plugins. Die saubere Implementierung des ebenfalls aufwändigen Designs des Katalogs entfiel auf die Frontend-Spezialisten unserer Agentur. Dieses Projekt zeigt mir nicht allzu viel Neues, sondern war eher gut geeignet, um die angeeigneten Fähigkeiten nun weitestgehend selbstständig anzuwenden. Das hat zu großen Teilen auch gut funktioniert, was mir ein gutes Gefühl für die Entwicklung und Wartung zukünftiger TYPO3-Extensions brachte.
Fazit
Für mich ist es schon ziemlich beachtlich, was mit mir in diesem halben Jahr so passiert ist. Mein gesamtes Selbstverständnis als Junior-Webentwickler hat sich gewandelt. Habe ich mich vorher vor allem in der etwas trostlosen Nische „zu gut für ein Script-Kiddie, zu schlecht als Entwickler“ gesehen, so konnte ich durch die gestiegenen Herausforderungen während der 6 Monate lernen, dass ich vielleicht wirklich das Zeug dazu habe, mich in absehbarer Zeit ohne Schaumschlägerei Webentwickler nennen zu dürfen. Ich hätte nicht erwartet, nach diesem Praxissemester in der Lage zu sein, auch komplexere TYPO3-Extensions selbstständig zu entwickeln und dabei fortgeschrittenen Programmierparadigmen zu folgen und mich nicht z.B. durch komplexere Netzwerkstrukturen abschrecken zu lassen. Der Umgang mit Symfony eröffnete neue Horizonte und bestärkte mich auch in privaten Projekten darin, neu Erlerntes dort einzubauen. Zu guter Letzt hat sich die Effizienz meiner Recherchen verbessert und damit meine Fähigkeit, mich in neue Technologien ganz allgemein einzuarbeiten. Ich kann also als Abschluss feststellen, dass das Praxissemester bei der Galileo Webagentur für jeden, der sich im Bereich Webentwicklung in PHP interessiert, nur zu empfehlen ist!