Dev-Interview mit Oliver
In diesem Interview reden wir mit Oliver von T & H über die Migration in die Cloud von SAP basierten Systemen, die Bedenken der Kunden und den Arbeitsalltag bei T & H – von Dev zu Dev.

Ilja: Hallo Oliver, ich bin Ilja, CTO und einer der Gründer von EntwicklerHeld.  Kannst du kurz erzählen, wer du bist, wo du arbeitest und was du da machst?

Oliver: Klar, ich bin Oliver Ahrendt und ich arbeite derzeit als Senior Entwickler bei T&H, mit Spezialisierung auf Cloud-Backends. Momentan sind wir dabei, den Übergang von On-Premise-Lösungen zur Cloud-Technologie zu vollziehen. Damit diese Aufgabe nicht auf einzelnen Schultern lastet, haben wir eine spezialisierte Gruppe gebildet, die sich mit den Herausforderungen auseinandersetzt und versucht, neue Ansätze und Lösungen in verschiedenen Bereichen zu erarbeiten.

Ilja: Kannst du uns etwas mehr über T&H im Allgemeinen erzählen?

Oliver: Sicher, T&H, auch bekannt als Trebing + Himstedt, ist ein Beratungsunternehmen für SAP-Lösungen. Wir konzentrieren uns hauptsächlich auf den Fertigungsbereich und implementieren dort die SAP-Manufacturing-Lösung, passen sie an die Bedürfnisse der Kunden an und rollen sie auf globaler Ebene aus. Unser Unternehmen wurde bereits 1992 gegründet, mit Schwerpunkt auf Industrial Communication. Das war der Ausgangspunkt unserer Expertise. Wenn man die Automatisierungspyramide betrachtet, sind wir auf der Ebene 1 und 2 tätig und wir wollten die nächste Stufe erreichen, indem wir Lösungen für unsere Kunden finden und beratend zur Seite stehen. Wir sind Partner von SAP geworden, nachdem sie das Produkt „Illuminator“ von der Firma Lighthammer gekauft und in SAP MII (Manufacturing Integration Intelligence) umgewandelt haben. 2009 führte SAP dann SAP ME (Manufacturing Execution) ein, ein Produkt speziell für die diskrete Fertigung. Vor Kurzem kündigte SAP an, dass sie ihre On-Premise-Lösungen einstellen werden und jetzt sind wir dabei, die Umstellung zur Cloud-Technologie zu meistern.

Ilja: Wie wird diese Umstellung auf die Cloud von den Kunden angenommen? Viele Unternehmen haben ja Bedenken hinsichtlich der Sicherheit ihrer Daten in der Cloud, insbesondere im Hinblick auf Geschäftsgeheimnisse.

Oliver: Die Sicherheitsbedenken sind aus meiner Erfahrung weniger ein Problem für die Kunden als eher die Performance und Latenzen. Das hat mich anfangs auch überrascht. Früher war das anders, aber die Sicherheit ist nicht der größte Schmerzpunkt; zumindest nach dem, was ich bisher beobachten konnte.

Ilja: Verstehe. Und was genau machst du eigentlich als Cloud-Spezialist?

Oliver: (Lacht) „Cloud-Spezialist“. Ich möchte kurz erläutern, wo ich herkomme. Ich habe tatsächlich bei T&H gelernt. Ich bin jetzt 27 Jahre alt und habe 2014 die Schule beendet. Danach bin ich dualer Student bei T&H geworden. Nach meinem Studium habe ich mich dann die Entwicklungsleiter hochgearbeitet, von Juniorentwickler über Professional bis hin zum Senior.

Ilja: Und wie sieht ein typischer Arbeitstag für dich aus?

Oliver: Einen „typischen“ Arbeitstag gibt es bei uns eigentlich nicht. Eher eine typische Arbeitswoche. Montags haben wir immer Meetings zu aktuellen Projekten – man könnte es als „Meeting-Montag“ bezeichnen. Von Dienstag bis Donnerstag sind wir für unsere Kunden im Einsatz. Dabei sind nicht nur die Berater, sondern gern auch die Entwickler bei den Kunden vor Ort. Persönlich bin ich alle zwei Wochen für etwa drei Tage unterwegs. Diese Abwechslung finde ich spannend. Besonders die Arbeit in der Produktion. Das Zusammenspiel der Maschinen, das Zusammenbauen und die Systeme, die ich ausrolle, funktioniert und wird von den Leuten gut angenommen. Als Entwickler ist es meiner Meinung nach wichtig, alles im Einsatz zu sehen und zu verstehen. Ansonsten haben wir unsere Arbeitsblöcke, zum Beispiel für Spezifikation oder Implementierung. Freitags widmen wir uns immer internen Projekten, die wir quartalsweise durchführen. Und wir nehmen uns auch Zeit, etwas mit Kollegen zu unternehmen, die man sonst selten sieht, weil sie an einem anderen Standort arbeiten oder keine gemeinsamen Projekte mit uns haben. Gelegentlich gehen wir abends aus, was immer ein Highlight ist und auf das man sich freuen kann.

Ilja: Wie verhält es sich mit Dienstreisen bei euch? Wie sieht es da mit Work-Life-Balance und der Vereinbarkeit mit dem Familienleben aus?

Oliver: Niemand wird gezwungen zu reisen. Aber es wird von Anfang an klar gemacht, dass auch Entwickler gelegentlich reisen müssen. Manchmal muss man vor Ort sein, zum Beispiel bei Integrationstests einer Maschinenanbindung. Sowas lässt sich unglaublich schlecht aus der Ferne testen. Da braucht man am besten alle Informationen:Was macht der Benutzer, was tut die Maschine? Wo ist das Stück, das produziert wird? In solchen Situationen ist es am besten, persönlich anwesend zu sein. Allerdings besteht beispielsweise bei Workshops oder anderen Projekten auch die Möglichkeit, remote zu arbeiten, zum Beispiel wenn man mal einen privaten  Termin hat. Ich habe gehört, dass einige Entwickler nicht so die großen Socializer sind und dann nicht so viel unterwegs sind. Das ist auch in Ordnung. Ich persönlich reise aber auch eher relativ viel. 

Ilja: Und wohin geht es dann?

Oliver: Unsere Kunden kommen eigentlich hauptsächlich aus dem DACH-Raum, daher war meine weiteste Reise bisher nach Österreich. Es kommt aber durchaus auch mal vor, dass es einen Roll-Out in den USA oder in China gibt, dann reist man dorthin.

Ilja: Euer aktuelles großes Thema ist die Migration von On-Premise-Lösungen in die Cloud. Erzähl uns doch mal mehr darüber. Versucht ihr, eure alten Systeme zu übertragen? Wie geht ihr dabei vor?

Oliver: Bei den On-Premise-Lösungen handelt es sich um Produkte von SAP, die wir an die speziellen Bedürfnisse unserer Kunden anpassen müssen, zum Beispiel durch benutzerdefinierte Benutzeroberflächen oder zusätzliche Logiken. SAP wollte ein neues Produkt speziell für die Cloud entwickeln. Die Cloud-Lösung ist neu, die On-Premise-Lösung wurde 2009 erworben und hat also viele Jahre Entwicklung hinter sich. Man kann das nicht sofort übertragen. Deshalb arbeiten wir eng mit unseren Kunden zusammen, um zu ermitteln, was sie benötigen und was besonders wichtig ist. Dabei gehen wir nach dem Zwiebelschalenprinzip vor, vom unverzichtbaren Kern nach außen. Es ist nie genau dasselbe. Höchstens ähnlich, aber nie identisch. Daher müssen wir Lösungen finden, was die Aufgabe sehr reizvoll macht!

Ilja: Wenn ich an SAP denke, kommt mir ABAP in den Sinn. Das könnte Leute abschrecken. Wie verhindert ihr das?

(Beide lachen)

Oliver: Ganz einfach, wir arbeiten nicht mit ABAP, weil das ERP ist und wir machen kein ERP, also auch kein ABAP. Wir nutzen hauptsächlich Java. Backend-Aufgaben für On-Premise-Lösungen werden mit Java bearbeitet, aber alle unsere Entwickler sind Full-Stack, daher kommen immer wieder neue Technologien hinzu. Wir setzen auf NetWeaver als Applikationsserver und dort auf den Java-Stack, nicht auf den ABAP-Stack. Bei Datenbanken verwenden wir das, was der Kunde hat, ob MS-SQL, Oracle oder SAP HANA. Im Frontend-Bereich nutzen wir das JavaScript-Framework SAP-UI5, von dem es auch eine Open-Source-Variante namens OpenUI5 gibt. Manche Kunden haben auch React im Einsatz. Daneben gibt es natürlich noch verschiedene andere Technologien, zum Beispiel für die Migration oder OPC-Schnittstellen.

In der Cloud ist das ein bisschen anders. Im Frontend verwenden wir weiterhin UI5 mit JavaScript. Im Backend nutzen wir Node.js und arbeiten mit TypeScript.

Ilja: Du hast CI/CD erwähnt, was sehr unterschiedlich umgesetzt wird. Gibt es so etwas wie einen Simulator, der die Nachrichten einer Maschine simulieren kann?

Oliver: Ja, das Testen ist immer eine Herausforderung, besonders bei komplexen Systemen. In der On-Premise-Welt haben wir eine Drei-System-Landschaft. Ein Entwicklungssystem, in dem entwickelt und getestet wird. Dann ein Qualitätssystem, in dem wir überprüfen, ob alles richtig läuft. Dort haben wir auch Simulatoren, zum Beispiel OPC-Simulatoren, die Maschinen simulieren können. Manchmal haben Kunden auch ein Testsystem, mit dem wir testen können. Wenn alles in den ersten beiden Systemen funktioniert hat, geht es ins Produktivsystem. Nichts wäre schlimmer, als wenn hier ein Fehler auftritt und die Produktion zum Stillstand kommt! Das würde Verluste bedeuten. Deshalb wollen wir Software liefern, die sicher und zuverlässig ist.

Ilja: Wie sieht es bei der Cloud aus?

Oliver: Hier ist es etwas anders. Wir haben typischerweise das Konzept von Continuous Delivery. Aber es gibt andere Herausforderungen. Es handelt sich hier beispielsweise um eine 2-System-Landschaft, also muss man im ersten System schon mehr testen. Vor allem wegen bestimmter Update-Zyklen. Bei On-Premise-Lösungen muss man nicht zwangsläufig patchen, aber in der Cloud ist das anders. Daher wollen wir unsere Kunden unterstützen. Wir sehen uns weniger als Lieferanten, sondern vielmehr als Partner. Es handelt sich um eine enge Zusammenarbeit auf vielen Ebenen.

Ilja: Das ist wirklich interessant. Wir haben noch ein paar Minuten und da frage ich immer gerne etwas Aktuelles. Was hältst du von „Pair Programming“ mit KI, wie zum Beispiel mit ChatGPT? Könnte man gemeinsam mit einer KI programmieren? Hast du das schon ausprobiert?

Oliver: Ich habe damit herumgespielt und auch einige Kollegen von mir. Aber wir lassen uns nicht wirklich Code von einer KI für unsere Arbeit generieren. Wie nützlich ich die Zusammenarbeit mit ChatGPT als Entwickler finde, hängt wirklich vom Kontext ab. Als Sparringspartner? Absolut. Manchmal beschreibt man einem Kollegen ein Problem und währenddessen fällt einem die Lösung ein. In diesem Sinne könnte eine KI hilfreich sein. Aber Code generieren lassen? Das eher nicht, denn die KI liefert dir in erster Linie das, was nach ihrer Einschätzung das wahrscheinlichste Ergebnis ist. Aber die Lösung, die du möchtest, ist oft eine andere und nicht unbedingt die, die die KI für am wahrscheinlichsten hält. Es ist ein Werkzeug, nicht mehr und nicht weniger, und nur für bestimmte Zwecke geeignet.

Ilja: Genau, das sehe ich ähnlich. Es ist hilfreich, wenn man alleine ist und sich Dinge erklären lassen kann. Code generieren, das klappt in der Praxis oft nicht gut genug. Es sieht dann auf den ersten Blick richtig aus, aber man muss alles nochmal überprüfen. Aber jetzt würde ich gerne noch etwas zum „Agilen Arbeiten“ fragen. Wie sieht das bei euch aus? Was bedeutet „agiles Arbeiten“ für dich?

Oliver: (Lacht) Um einen Kollegen zu zitieren: Agil bedeutet nicht planlos! Wir haben durchaus Strukturen, die wir verwenden. Zum Beispiel haben wir tägliche Meetings innerhalb des Projekts, in denen wir über das Kanban-Board und die anstehenden Aufgaben sprechen. Wir berücksichtigen auch den Arbeitsfluss der Berater, der Entwickler und der Tester. Zudem haben wir Sprints in den Projekten, meistens sind das Zwei-Wochen-Sprints. Diese beginnen und enden oft mit einem Workshop mit dem Kunden. Nach Abschluss des Sprints findet auch eine Retrospektive statt, in der wir gemeinsam mit dem Kunden Maßnahmen für den nächsten Sprint besprechen. Diese Maßnahmen werden im Laufe des Prozesses immer wieder überprüft und hinterfragt. Die Strukturen und Methoden, die wir verwenden, sind nicht starr. Wir fragen uns ständig, was in der gegebenen Situation am besten passt.

Ilja: Finde ich gut, dass der Kunde dabei eingebunden wird. Das schafft Verbindlichkeit.

Oliver: Genau, deshalb sehen wir uns auch nicht als Lieferanten, sondern als Partner. Unser Ziel ist es, kontinuierliche Verbesserungen zu erreichen.

Ilja: Super, danke dir, Oliver!

Oliver: Danke dir auch! Schönes Wochenende!

Categories:

Tags: