Meine Erfahrungen eines Schülerpraktikums bei synyx

Es ist wohl die grundsätzliche Herangehensweise eines jeden Schülers, bei dem eigenen Praktikum gegen Ende der Schulzeit die eigenen Fähigkeiten in einem bestimmten Beruf massiv zu überschätzen. Weiterführend ist es wohl Aufgabe der Eltern, die Kinder von ihrem hohen Ross auf den Boden der Tatsachen zu holen: Es ist vermutlich in fast allen Berufen unmöglich, sich innerhalb einer Woche so einzuarbeiten, dass man tatsächlich hilfreich sein könnte, weswegen es auf die Erwartungen bezogen vertretbarer wäre, von Zuschauen und gelegentlichem Kaffee holen auszugehen. Was macht aber eine Programmierfirma, bei der weder Zuschauen noch selber machen, funktioniert? Ich bin glücklich, behaupten zu können, dass die synyx GmbH & Co.KG dieses Problem erfolgreich gelöst hat und dass ich über die 5 Tage, über die sich mein Praktikum aufgespannt hat, viel gelernt habe. Ich präsentiere:

Meine Erfahrungen nach 5 Tagen Praktikum bei der synyx!

Montag 17.5.2021, 09:00

Erste positive Bemerkung: Bei der synyx GmbH & Co.KG sind Arbeitszeiten sehr variabel, und das ist auch gut so. Wir haben jeden Tag einfach aufgehört, wenn unser Gehirn zu zermartert nach 5 oder 6 Stunden coden war – gegen Ende wurde es da sehr exponentiell unproduktiv. Ähnlich verhält es sich mit Programmieren am frühen Morgen.

Das Problem, dass ich wohl alleine nicht viel erreichen könnte, wurde damit behoben, dass ein Mitarbeiter sich DIE GANZE WOCHE NUR AUF MEIN PRAKTIKUM KONZENTRIERT HAT. Was? Wie funktioniert das? Muss der nicht arbeiten? Was ist da los? Tatsächlich hat sich Lukas Jung, ein neuerer Mitarbeiter, mit mir hingesetzt und hat die ganze Woche lang mit mir programmiert. Toll!

Fröhlich und optimistisch machten wir uns ans Werk, auf der Suche nach einem Projekt, mit dem wir unsere Arbeit starten konnten. Wir kamen schnell auf die Programmierung eines Discord Bots. Hierfür hat Discord ein sehr einfach per Python bedienbares System entwickelt, durch das sich der Inhalt einer Nachricht, der Autor der Nachricht, Zeitstempel und ähnliches Auslesen lassen und Chatnachrichten gesendet werden können. Das hat uns so ziemlich alle Türen geöffnet, zu tun, was auch immer wir wollten, weswegen wir erst mal einfach mit einem simplen Programm zum Schere Stein Papier gegen den Computer spielen angefangen haben. Das hat auch schnell sehr gut funktioniert, weswegen wir noch ein Highscore System über eine mySQL Datenbank und einen Modus, in dem man immer verliert, hinzugefügt haben. All das musste natürlich auch so funktionieren, dass mehrere Nutzer gleichzeitig spielen konnten. Mir war auch wichtig, dass wir alles auf GitHub publishen würden. Das haben wir dann also mit ein bisschen debugging auch ganz gut hingekriegt. Was ist denn da los, wo sind denn die ersten zwei Tage hin? Besonders die Datenbank querys haben uns viel Zeit gekostet.

Dienstag 18.05.2021 9:00

Da ich das Geschehen an diesem Tage schon in dem vorherigen Absatz inkludiert habe, möchte ich kurz einmal ansprechen, was ich gelernt habe. Es war Lukas nie wichtig, mir tatsächlich präzise in den Kopf zu hämmern, mit welchem genauen Befehl man jetzt die Datenbank ansteuern kann, wenn SELECT * FROM Users WHERE ID LIKE %s% OR playedGames > 4 AND AAAAAAAAAAAAAAAAAAHHHHHHH FLASHBACK. Stattdessen meinte er, auch wenn er vermutlich mehr grundsätzliche und wichtige Programmiersprachen als ich kannte, dass sein Fokus eher darauf liegt, gut richtige Befehle aus Suchergebnissen finden zu können und diese dann auch korrekt anzuwenden, anstatt jeden Befehl genau zu kennen, weil das ziemlich unmöglich wäre. Das ist also eher das, was er versucht hat, in mich einzutrichtern. Außerdem hatten wir in unserer Arbeit immer einen sehr großen Fokus auf die Debugging – Phase (was unter Umständen nicht wirklich für die Qualität unseres Codes steht), da ich die sehr schlechte Angewohnheit hatte, schnell unruhig zu werden und den Kopf in den Sand zu stecken, wenn etwas nicht geklappt hat. Zum Glück gibt es ja diverse Debugging Tools, die ich jetzt bedienen kann, weil das Problem meistens in dummen Tippfehlern lag, die sich durch einfaches den Code durchgehen schwer beheben.

Mittwoch, 19.05.2021 9:00 und Donnerstag, 20.05.2021 9:00

Ich bin ganz ehrlich, so langsam wird es schwammig, in welcher Reihenfolge wir was gemacht haben. Deswegen hier das Best Of:

  1. Wir haben einen Raspberry Pi mit einem Envirophat Board connected und ein paar Werte ausgelesen! Wir haben alles in eine tolle Datenbank gepackt. Zusätzlich haben wir auch Werte wie die CPU Temperatur des Raspberrys hinzugefügt. Das konnten wir dann am Donnerstag super benutzen, um tolle Graphen anzufertigen!
  2. Wir haben uns mit Linux auseinandergesetzt! Ich habe mich per Remote mit dem tatsächlichen Desktop des Raspberrys verbunden und wir sind die grundsätzliche Bedienung von Linux durchgegangen, was für mich als leidenschaftlicher Mac Benutzer durchaus neu war. Finde ich super, weil es meiner Meinung nach wichtig ist, Linux zumindest sehr grundsätzlich bedienen zu können.
  3. Wir haben uns angeschaut, wie Lukas arbeitet. Beispielsweise weiß ich jetzt also, wie er über eine Webseite die komplette Verkabelung sämtlicher Synyx GmbH & Co.KG Computer nachverfolgen kann. It’s pretty fancy.

Und nun, um das ganze kurz zu halten (sagt er nachdem er schon fast 1000 Wörter getippt hat), lass uns zum Freitag springen.

Freitag, 21.05.2021 9:00

Wir wollten hoch hinaus! Ich war interessiert daran, wie man ein Programm schreiben könnte, das ein Spiel mit einem Grid wie Tetris oder Schiffe Versenken funktioniert. Die Antwort: Listen. Sehr viele lange, komplexe, Listen. Und weil wir nur noch den einen Tag Zeit hatten und über einen Tag für Schere Stein Papier aufgebraucht hatten, haben wir uns das sehr realistische Ziel gesetzt, jetzt am letzten Tag noch SCHIFFE VERSENKEN zu programmieren. Das haben wir begonnen, aber sind natürlich überhaupt nicht weit gekommen. Was wir geschafft haben: Wir haben eine Print-Funktion aufgebaut, die das Grid formatiert ausdruckt und den Teil der Spiellogik programmiert, in dem der Spieler und der Computer ihre Schiffe auf dem Spielfeld verteilen können. Das klingt jetzt vielleicht erst mal einfach, wenn man aber präziser darüber nachdenkt, wie man das jetzt im Detail genau umsetzen will, fangen zumindest bei mir die Drähte im Kopf an heftig zu glühen. Wir haben aber die Spiellogik geplant und jetzt habe ich in den nächsten Wochen eine schöne Challenge, diesen Discord Bot fertig zu programmieren. Noch bin ich optimistisch!

Am letzten Tag haben wir es geschafft, dass Stephan Ullrich aus einem anderen Team, nämlich aus dem UX UI Design, in das Meeting kommen und über seine Arbeit erzählen konnte. Denn Lukas kommt eher aus der Ecke, in der es dringend  ein Problem zu lösen gibt und diese Programme meistens auch nur von ihm benutzt werden, dardurch legt er weniger Wert auf eine stimmige UX. Die Herangehensweise ist ja auch völlig ok und sorgt sicherlich für effizienteres Coden weil es weniger Themen gibt, in denen man sich potenziell verzetteln kann (oder so geht es mir zumindest). Trotzdem ist UX natürlich ein sehr wichtiger Bestandteil auf dem Weg zu einem guten Produkt. Wir haben also generell über das Thema geredet, ein bisschen über typische Verhaltensweisen von Kunden, wenn es um UX Design und Marketing geht, geredet, wir haben uns ein Beispielprojekt, eine Seite in einer Art Shop, in der die Ergebnisse gefiltert wurden, angeschaut. Das Interview war toll, der blöde Nebeneffekt war leider, dass ich jetzt absolut verwirrt darüber bin, was ich eigentlich will im Leben. Und damit war der Freitag auch vorbei!

Fazit: Ein tolles Praktikum, bei dem ich viel über die Arbeit gelernt habe und das doch komplett anders war, als ich es erwartet hatte. Trotzdem würde ich es auf jeden Fall noch mal machen. Es fällt mir sehr schwer, einen kurzen, zusammenfassenden Text darüber zu schreiben, da das Praktikum nicht wirklich aus nur einem Grund schön geworden ist und nützlich war. Generell habe ich synyx als echt tolle Firma empfunden, die ihren Mitarbeitern sehr viele Freiräume lässt. Alle Mitarbeiter, mit denen ich in Kontakt getreten bin, waren sehr enthusiastisch und hatten Spaß bei ihrer Arbeit. Wirklich toll! (Und, das sage ich nicht nur, weil das hier auf dem synyx Blog veröffentlicht wird…) Ich hoffe dieser Text kann einem anderen Schüler, der gerne ein Praktikum bei der synyx GmbH & Co.KG machen würde, helfen. Ganz Vielen Dank an die synyx GmbH & Co.KG und vor allem Lukas Jung, ohne die das Praktikum so nicht hätte stattfinden können. Auch danke an Stephan Ullrich für die Einblicke ins UI Design.

Ganz vielen Dank für das Lesen meines tollen Artikels! Wenn du mehr Artikel zu allem möglichen von mir Lesen möchtest, findest du hier meinen Blog.