Saied, wie lange arbeitest Du jetzt schon bei adesso insurance solutions?
Bei adesso insurance solutions seit Anfang 2016 und davor war ich bei der adesso AG seit Januar 2013. Okay, also doch schon etwas länger! Und fühlst Du Dich auch immer noch wohl hier? Sehr wohl. Was ist denn Deine Berufsbezeichnung? Also, ich bin Senior Software Engineer, bin aber im Bereich Buildmanagement, DevOps tätig.
Und was hast Du dazu studiert?
Medizinische Informatik.
Wie kommt man denn von medizinischer Informatik zu einem IT-Dienstleister für Versicherungen?
Nach dem Studium hatte ich wenig praktische Informatikkenntnisse und ich wollte mich darin verbessern. Also ein bisschen mehr entwickeln und die Prozesse kennenlernen. Es hat mir hier aber so gut gefallen, dass ich nicht mehr daran gedacht habe in meinen ursprünglichen Bereich medizinische Informatik zurückzugehen.
Jetzt bist Du ja im Bereich DevOps tätig. Was genau ist das und was sind da die Aufgaben?
DevOps ist ja ein relativ moderner Begriff, der die Schnittstelle zwischen Entwicklung, Operation und Qualitätssicherung im Lebenszyklus einer Software beschreibt. Eine meiner Aufgaben im DevOps Bereich ist das Buildmanagement. Als Buildmanager bin ich dafür zuständig, die Continuous-Integration- und Continuous-Delivery-Systeme zu pflegen, zu warten und auf dem aktuellen Standard zu halten. Dazu verwende ich ein paar Tools, die dafür sorgen, jedem Entwickler schnelles Feedback zur Qualität seiner Codes zu geben. Sprich, ein Entwickler hat einen Teil programmiert und committet diesen Teilcode. Nach dem Commit kommen dann die Qualitätssicherungs- bzw. Buildmanagementtools zum Einsatz. Die überprüfen, ob das Ganze an sich funktioniert und ob das oder die „Puzzlestücke“ zum Gesamtbild passen. In der Fachsprache spricht man von der Bewertung der Codequalität und der Integration. Das Ziel des Ganzen ist, dass die Artefakte – unser Produkt – in einem sauberen und guten Zustand an den Kunden ausgeliefert werden können.
Gibt es bestimmte Programme oder Sprachen, mit denen Du arbeitest?
Ich arbeite wie gesagt mit verschiedenen Continuous Integration Tools, pflege sie und bin auch Systemadmin dafür. Also für die Tools wie Jenkins und Nexus und Sonatype. Außerdem haben wir vor etwa einem halben Jahr mit dem Thema „Docker“ angefangen und binden die Container in unseren CI- und CD-Prozess ein. Wir benutzen Docker zum Beispiel, um die Entwicklungsumgebung auf dem Entwicklerrechner schnellstmöglich und in einem reproduzierbaren Zustand aufzusetzen. „Infrastructure as a code“ – ein Begriff, der bei uns groß geschrieben wird.
Und bei den Programmiersprachen, womit arbeitest Du?
Direkt mit keiner. Also, ich habe seit Ende 2013 so gut wie gar nichts mehr programmiert. Aber dafür beschäftige ich mich jetzt viel mit Skriptsprachen wie Jenkins Pipeline, Vagrantfile, Dockerfile und so weiter.
Musst Du denn nicht zum Beispiel Java können?
Java ist ein Nice-to-have, es geht aber auch ohne. Von den Tools, mit denen ich arbeite, bekomme ich immer einen Report. Den muss ich lesen und verstehen können. Aber nicht bis ganz in die Tiefe. Wenn ich ihn lese, dann weiß ich woran es hakt und wen ich ansprechen soll. Liegt das Problem an uns oder am Entwickler oder an etwas anderem? Das kann ich beurteilen und beschreiben.
Wie sieht denn Dein ganz normaler Arbeitsalltag aus?
Ich komme als Erstes zur Arbeit, mache mir einen Kaffee. (Lachen) … Ja, und dann gibt es Projekte, für die ich direkt verantwortlich bin. Als allererstes prüfe ich unsere Codes darauf, ob sie funktionsfähig sind. Wenn ja, freue ich mich und wenn nein, dann schaue ich, wo die Fehler liegen. Danach entscheidet sich, ob ich das selber beheben kann oder an wen ich das delegieren muss.
Das heißt, Du behebst zum Teil auch selber?
Wenn die Fehler nicht an der Entwicklung liegen, sondern an der Konfiguration oder irgendwas nicht erreicht werden kann. Solche Probleme kann ich selbst beheben.