Der Praktikant ist für den Kaffee, die Büropflanzen, das Auffüllen der Papierspender, ordnen der Kugelschreiber und vieles mehr zuständig!
Für viele der Praktikanten, die irgendwo angestellt sind, ist dies die tägliche Arbeit. Zum Glück gilt dies nicht für jeden Betrieb und im Speziellen nicht für uns, die insign gmbh. Ein Leben als Praktikant kann auch seine interessanten Seiten haben.
Aber zuerst alles der Reihe nach. Als gelernter Informatiker Systemtechnik mit EFZ und einer Affinität zur Softwareentwicklung bewarb ich mich vor gut einem Jahr für eine Stelle als Webentwickler bei der insign gmbh.
Wieso bewerbe ich mich als Webentwickler bei einer Softwarefirma, wenn ich eigentlich eine Lehre im Bereich der Systemtechnik abgeschlossen habe?
Ganz einfach, ich habe mich schon immer für die Softwareentwicklung interessiert und auch schon früh meine ersten Projekte realisiert. Zudem befinde ich mich momentan in einem Studium, welches sehr stark auf Softwareentwicklung aufbaut. Diese und weitere Gründe haben mich dazu bewegt, mich bei diesem Unternehmen zu bewerben. Momentan bin ich also zu 60% bei der insign gmbh absorbiert und die restlichen 40-60% der Woche verbringe ich im Studium.
Programmiersprachen und Softwareprojekte: Das ist meine Welt
Programmiersprachen wie PHP, JavaScript und Java waren mir von Beginn an keine Fremdsprachen und verschiedene Programmierparadigmen keine Fremdwörter. Während meiner Zeit bei insign bin ich hauptsächlich in Projekten mit dem Shop-System Magento involviert und auch oftmals mit der Konfiguration von Projekten. Bei einem Softwareprojekt gibt es so Einiges zu konfigurieren. Ich spreche hier von den Entwicklungsplattformen für Entwickler.
Bei der Softwareentwicklung mit einem Version Control System wie z.B. “git” (wie wir es verwenden) und somit mehrere Entwickler gleichzeitig an einem Projekt arbeiten, benötigt jeder Entwickler eine lokale Umgebung, um zu entwickeln. Alle Entwickler müssen dabei immer die gleichen Daten bzw. Basis haben. Zudem wird oftmals auch ein Entwicklungsserver benötigt.
Dieses ganze Zusammenspiel muss von irgendjemandem organisiert werden. Wie es der Zufall will, bin ich diese Person in einigen Projekten. Je nach Umfang des Projekts, gibt es unterschiedliche Techniken. Sind es bei kleineren Projekten simple Shell Skripts, welche Dateien von Servern kopieren, so sind es bei grösseren Projekten dann eher Lösungen wie Vagrant, Docker oder die Kombination von beiden.
Wo wir gerade von Docker sprechen…
Was ist Docker? Docker ist eine Plattform um einfach portable Software zu erstellen.
Was heisst das genau? Docker verwendet sogenannte Container, welche man sich wie Schiffscontainer vorstellen kann. In den Container befinden sich komplette Applikationen, oder aber auch nur Teile davon. Ein Beispiel: Bei einem Projekt verwenden wir verschiedene Docker Container (je einen für den nginx Webserver, mysql Server, php Binarys und einen der macht, dass all diese Container zusammenarbeiten).
Dank diesem Setup können wir unsere Applikation ganz leicht von einem Server auf einen anderen verschieben, ohne auch noch irgendeine weitere Konfiguration an der Applikation vornehmen zu müssen. Um zu unserem Schiffsvergleich zurückzukommen; es ist uns möglich, unsere Container ganz einfach auf ein anderes, vermutlich grösseres Schiff zu verladen. Das Schönste am Ganzen ist, dass einzelne Container ganz einfach mit einem sogenannten Dockerfile definiert werden.
In diesem Dockerfile definieren wir die Dependencies für einen Container, welche beim Erstellen des Containers installiert werden. Anders als bei virtuellen Maschinen hat Docker nicht den Overhead von einer VM, was enorme Geschwindigkeitsunterschiede und Vorteile verursacht.
Während fast meines gesamten Jahres bei insign war ich mehrheitlich mit der E-Commerce Plattform Magento beschäftigt und habe damit für einige Projekte teils grössere Features entwickelt. Ich konnte schon von Beginn an bei grossen Projekten mitwirken und meine Ideen einbringen, was sicherlich nicht selbstverständlich für eine Praktikumsposition ist. Im Verlauf des letzten Jahres kam ich mit fast jedem Magento-System in Berührung, welches wir einsetzen. So konnte ich viele Erfahrungen mit den unterschiedlichsten Konfigurationen sammeln, welche unsere Kunden verwenden. Solche Erfahrungen sind als Praktikant sehr wertvoll und helfen mir auch meine zukünftige Laufbahn bei insign gmbh zu fundieren.
Momentan fokussiere ich mich sehr stark auf Magento 2 und bilde mich dahin gehend weiter, um möglichst bald unseren Kunden die Vorteile von Magento 2 gegenüber Magento 1.x erläutern zu können.
Die Arbeiten bei insign sind – obwohl ich als Praktikant angestellt bin – sehr abwechslungsreich und stets mit neuen Herausforderungen vermischt. Es vergeht kein Tag, an welchem ich nicht etwas Neues lerne; sehe oder lösen darf. Gerade die Doppelbelastung mit Studium und Arbeit macht das Ganze interessant, da ich jede Woche mehrere verschiedene Facetten der Entwicklung sehen kann.