p.blog
Unternehmenskultur, Softwareentwicklung und Architektur

20. August 2021

Mein Leben als Werkstudent

4 Minuten Lesedauer

Was macht eigentlich ein Werkstudent bei pentacor? Eine wirklich gute Frage, doch um die zu beantworten, muss man erstmal einer sein. Also polierte ich meine zwei Lieblingsprojekte auf, damit sich pentacor ein Bild von mir machen konnte: als erstes meinen Software Rasterizer, der 3-D-Modelle darstellt, und danach mein Java-Spiel “Bunte Panzer“, ein Top-down-Arenaspiel.

Im Software Rasterizer habe ich ein paar Code-Verbesserungen implementiert, ein Readme mit Projektbeschreibung und Screenshots hinzugefügt und die Änderungen in ein öffentliches Git gepusht. Bei meinem Panzer-Spiel habe ich alle Maven-Abhängigkeiten auf den neusten Stand gebracht, im Readme mögliche Fehlerquellen mit Lösungen benannt und fertige Jar-Dateien zur Verfügung gestellt. Zusätzlich habe ich die Doku verbessert, indem ich alle wichtigen Algorithmen, Bibliotheken und APIs, die im Spiel benutzt werden, benannt und ihre Verwendung beschrieben habe.

Schließlich schrieb ich eine E-Mail mit Lebenslauf und Portfolio an career@pentacor.de. Und danach ging alles recht schnell und unkompliziert. Nach kurzer Zeit erhielt ich einen Anruf und einen Termin für ein Bewerbungsgespräch. Und im März 2021 startete ich aufgeregt und voller Vorfreude als Werkstudent bei pentacor mit dem Ziel meinen Programmierstil zu verbessern und leichter wartbaren Code zu schreiben. Meine Aufregung verflog ziemlich schnell, da ich sehr herzlich aufgenommen wurde. Trotz meiner fehlenden professionellen Erfahrung betrachtete man mich als vollwertiges Teammitglied und vertraute mir bedenkenlos auch schwerere Aufgaben an.

Aktuelle Tools und spannende Techniken

Nach dem Onboarding, der Einführung in alle Programme und Prozesse, mit denen man täglich zu tun hat, hatten die “Pentacornesen” das perfekte Projekt für mich: Ich sollte eine Codebase aufräumen und technische Schulden reduzieren. Da gab es jede Menge neue spannende Werkzeuge und Techniken zu entdecken, aber zuerst musste ich mich mit dem Spring Framework vertraut machen. Ich habe Controller und Services kennengelernt, mich über Dependency Injection informiert und JPA benutzt. Der Programmierstil mit so vielen Annotations war mir vorher unbekannt, ist aber recht intuitiv, sobald man die dahinter liegenden Konzepte verstanden hat.

Meine Aufgaben waren:

  • Doppelten und toten Code entfernen

  • Magische Zahlen entfernen

  • Zyklische Abhängigkeiten auflösen

  • Komplexe Funktionen vereinfachen

  • Namenskonvention der Methoden und Klassen vereinheitlichen

  • Test Coverage verbessern

  • Klassen überarbeiten, die das Single-Responsibility-Prinzip verletzen

Man muss kein Judo können, um Bugs zu bekämpfen. Aber es ist hilfreich.

Bei vielen dieser Aufgaben unterstützen mich Werkzeuge wie Complexity Tools, CodeMetrics, Sonarlint und IntelliJ, weil ich nicht manuell nach technischen Schulden suchen musste, sondern die Tools mich direkt zu der Klasse, die überarbeitet werden musste, geführt haben.

Während meiner Veränderungen habe ich die Unit und Integration Tests sehr zu schätzen gelernt. Die Codebase hatte schon etwa 90 Prozent Test Coverage, weshalb ich mir ziemlich sicher sein konnte, dass ich keine Funktionalität verändere.

Durch die Namenskonventionen-Aufgabe bin ich an jeder Stelle einmal vorbeigekommen und habe dadurch innerhalb kürzester Zeit die gesamte Codebase kennen gelernt. Deshalb war es nicht schwer, eine Erweiterung zu implementieren, die vom Kunden gewünscht wurde. Dabei konnte ich meine frisch erworbenen Spring-Fähigkeiten ausprobieren, weil das Feature einen neuen Endpunkt mit dazugehörigem Service und Monitoring sowie eine neue MongoDB Collection benötigte. Zu jedem Teil der Implementierung habe ich anschließend Unit und Integration Tests hinzugefügt.

Es wird nie langweilig

Als sehr angenehm empfinde ich die typischen Studentenaufgaben, die sich perfekt als Zeitfüller eignen. Wenn noch eine halbe Stunde bis zur Mittagspause Zeit ist, ich aber nicht mit der nächsten großen Aufgabe beginnen will, kann ich kleinere Aufgaben bearbeiten, wie:

  • neue Rechner mit dem Systemadmin aufsetzen

  • Hintergrundbilder passend zu Konferenzraumnamen auf Tablets spielen

  • nach Stromlösungen für Konferenzräume suchen

  • Apps installieren

  • nach SKS-Keyserver-Alternativen suchen und diese bewerten

Meine unterschiedlichen Aufgaben aufzuzählen ist aber nur die halbe Miete: Das Team der pentacor unternimmt viel gemeinsam, wofür das jüngste Beispiel unsere 10.000-Schritte-Challenge ist. Auch im Büroalltag kommt die Gemeinschaft nicht zu kurz. Zeit für einen Scherz oder eine gute Unterhaltung bleibt immer. Wir essen gemeinsam Frühstück und Mittag und bei gutem Wetter finden sich meist ein paar wanderlustige Kollegen für einen Verdauungsspaziergang im Schönherrpark zusammen. Kommunikation ist den Pentacornesen sehr wichtig und wird aktiv gefördert: Jeden Freitag findet das Crossteam Meeting statt, beim dem sich das gesamte Team projektübergreifend und auch zu internen Themen austauscht. Besonders nützlich finde ich, dass man hier Lösungsansätze zu technischen Problemen diskutieren oder erfragen kann. Außerdem kann man an internen Schulungen, wie einem Java-Basics-Kurs oder einem Kubernetes-Training, teilnehmen. Die grauen Zellen haben also immer etwas zu tun und Weiterentwicklung ist immer möglich.

Für Ausgleich und unser Wohlbefinden sorgt Dani, die gute Fee der Firma, z.B. mit selbst gebackenem Kuchen. Und das Süßigkeitenfach in der Küche ist auch erfreulich gut gefüllt. Eine sehr schöne Überraschung war ein Carepaket voller liebevoll ausgesuchter Kleinigkeiten, welches mir ins Homeoffice zugestellt wurde, da die Vorlesungszeit wieder begonnen hatte.

Wie bekomme ich Studium und Arbeit unter einen Hut?

Zeitmanagement ist auch für mich eine große Herausforderung und Elektrotechnik ist nicht der einfachste Studiengang. Momentan habe ich fünf Vorlesungen mit dazugehörigen Übungen und Praktika, die alle vor- und nachbereitet werden wollen, und die Zeiten vor den Prüfungen sind teilweise stressig. Als Werkstudent darf man maximal 20 Stunden pro Woche arbeiten, aber oft reicht meine Kapazität nur für 8 Stunden aus. In meiner Freizeit trainiere ich Judo und Hausarbeiten dürfen auch nicht vernachlässigt werden. Deshalb erstelle ich mir morgens meist eine lange Liste mit Aufgaben und Veranstaltungen, die zu erledigen und anzuhören sind. Ich stelle aber immer wieder fest, dass ich mir zu viel vornehme und dann nur einen Teil abarbeiten kann. Mein Zeitmanagement ist also noch verbesserungswürdig. Glücklicherweise macht pentacor es mir nicht schwer: Ich kann meine Arbeitszeiten recht flexibel absprechen und treffe im Team auf Verständnis und Rücksicht, wenn ich mal wieder lernen muss. So kann ich den Spagat zwischen Uni, Arbeit und Freizeit gut meistern und freue mich schon sehr auf mein nächstes Projekt.