Wenn Du für die Programmierungen für Sonderwünsche der Kunden zuständig bist, heißt das auch, dass Du mehr für die technische Umsetzung zuständig bist?
Lucas: Technische Umsetzung würde ich jetzt nicht sagen. Es sind wirklich die Anpassungsprogrammierungen, die bei mir im Mittelpunkt stehen. Das grenzt sich nochmal vom Technischen ab. Es werden ja auch beispielsweise Diskussionen darüber geführt, welche Signale erforderlich sind. Das würde dann eher der andere Kollege übernehmen. Da gebe ich natürlich meinen Input dazu, würde aber nicht schwerpunktmäßig die Anforderungen dazu erheben. Es sei denn, ich müsste den Workshop alleine führen, dann ist das natürlich etwas Anderes. Dann liegt ja auch das Projektmanagement bei mir. Ein Beispiel: Der Kunde hat einen Palettenwechsler an der Maschine in der Produktion. Der Mitarbeiter hat ein paar Paletten, die er vorher rüsten kann und dann werden diese automatisch von der Maschine nacheinander nachgeschoben. Da wäre meine Aufgabe, eine Anpassungsprogrammierung zu machen, damit der Mitarbeiter die Möglichkeit hat zu sagen, „Auf Palette 1 ist jetzt Auftrag 4711, auf Palette 2 Auftrag 4712″ usw. Für solche Anforderungen bin ich da. Das sind Sachen, die wir mit unserer Standardsoftware nicht abbilden können. Das programmiere ich dann für den Kunden ganz individuell.
Und wenn die Anpassungsprogrammierungen irgendwann abgeschlossen sind und problemlos laufen, sind dann auch Deine Aufgaben in diesem Projekt abgeschlossen? Oder hast Du dann noch etwas zu tun?
Lucas: Dann sind meine Aufgaben meistens abgeschlossen. Also, ab und zu installiere und konfiguriere ich das ja auch beim Kunden, je nachdem, wie komplex die Anpassungsprogrammierung zu konfigurieren ist. Im Regelfall gebe ich das aber an den zuständigen Projektmanager weiter und erkläre ihm auch nochmal, wie alles im Detail funktioniert, damit er den Support entsprechend leisten kann. Unter Umständen, wenn das Projekt komplett abgeschlossen ist und beim Support liegt, dann unterstütze ich auch unsere Support-Abteilung, falls es im weiteren Verlauf Fragen zu der Programmierung gibt. Dafür stehe ich natürlich zur Verfügung.
Mit welchen Abteilungen arbeitest Du denn innerhalb von FASTEC zusammen? Und wie gestaltet sich intern die Zusammenarbeit?
Lucas: Ich komme eigentlich mit allen Teams hier in Kontakt. Wenn ich beim Workshop feststelle, dass noch Lizenzen nachgeordert werden müssen, dann muss ich das mit dem Vertrieb abklären. Es kann ja sein, dass wir einen Workshop verkaufen, in dem ein Angebot ist, bei welchem wir zehn S7-Lizenzen verkaufen. Dann stellt sich aber im Workshop heraus, nein, der Kunde nutzt gar kein S7, sondern einen OPC UA-Treiber. Dann müssen entsprechend die Lizenzen angepasst werden. Meine Aufgabe ist es auch, die Aufwände abzuschätzen und abzuklären. Das heißt, wenn ein Kunde seine Anforderungen nennt, dann muss ich meinen Zeitaufwand abschätzen, damit der Vertrieb ein Angebot dazu erstellen kann.
Ich habe auch teilweise mit der Standardentwicklung zu tun, weil ich dort auch Sachen implementiere. Es kommt ja durchaus vor, dass ein Kunde eine Anforderung hat, die für viele Kunden passend ist. Dann macht es natürlich keinen Sinn, das für jeden Kunden individuell zu programmieren, diese Anforderung muss dann in den Standard mit rein. Das setzen wir dann teilweise auch um, je nachdem, wie ausgelastet wir oder die Kollegen von der Standardentwicklung sind. Das stimme ich auch mit der Standardentwicklung ab, weil ich mich an deren Workflows halten muss. Mit der IT habe ich auch zu tun, so wie jeder im Unternehmen.
Das Produktmanagement kontaktiere ich, wenn ich irgendwelche Probleme habe. Auch wenn ich beim normalen Konfigurieren der Software irgendwelche Bugs habe, die auch dem Kunden gemeldet werden, dann muss ich das mit dem Produktmanagement besprechen. Mit dem Marketing habe ich eher in Ausnahmefällen Kontakt, wie für dieses Interview zum Beispiel.
Mit dem Backoffice habe ich auch zu tun. Wenn ich zum Beispiel ein Projekt abgeschlossen habe, schreibe ich direkt eine Mail an das Backoffice, damit die wissen, dass sie die Rechnung rausschicken können.
Kannst Du denn einschätzen, wie viel Kundenkontakt Du hast und wie oft Du unterwegs bist? In welchem Rahmen bewegt sich das?
Lucas: Das kann man schwer schätzen, weil es von der Auftragslage abhängig ist. Aber grob würde ich sagen, einmal in zwei Monaten bin ich unterwegs.
Es sind auch meistens Workshops. Es kommt selten vor, dass ich zum Kunden rausfahre, um komplexere Anforderungen zu debuggen, die ich bei mir lokal nicht nachstellen kann.
Du hast ja schon gesagt, dass Du mit Speicherprogrammierbaren Steuerungen (SPSen) öfter mal in Kontakt kommst. Mit was für Arbeitsmitteln und/oder technischen Geräten kommst Du ansonsten noch regelmäßig in Berührung?
Lucas: Hauptsächlich arbeite ich mit meinem Laptop, auf dem die ganze Software ist.
Und wenn wir nochmal auf das Programmieren zurückkommen, kannst Du das konkretisieren? Mit welchen Programmen arbeitest Du genau?
Lucas: Da unsere Software auf C#.NET basiert, programmiere ich hauptsächlich mit Visual Studio Enterprise. Dazu nutzen wir eine Microsoft SQL-Datenbank. Kenntnisse in der Datenbank und SQL sind hilfreich, da die Erfüllung komplexer Anforderungen natürlich auch eine eigene Struktur in der Datenbank benötigt.
Mal vom Fachlichen abgesehen: Was macht Dir denn bei Deiner Arbeit besonders Spaß?
Lucas: Mir gefällt der Kundenkontakt sehr. Jede Medaille hat aber zwei Seiten. Der Kundenkontakt kann viel Spaß machen, kann aber manchmal auch schnell anstrengend werden. Beispielsweise, wenn man sehr oft angerufen wird und dann kaum Zeit findet, die Aufgaben abzuarbeiten. Es kommt aber natürlich auch immer auf den Kunden an, das kann man sich natürlich nicht immer aussuchen. Das Programmieren an sich macht mir natürlich Spaß und das Arbeitsklima bei FASTEC ist super – die Kollegen hier sind auch immer für einen Spaß zu haben.
Was würdest Du sagen, ist besonders wichtig? Welche Fähigkeiten und Kenntnisse sollte man als Mindestanforderungen erfüllen, um in Deinem Beruf arbeiten zu können?
Lucas: Ich denke, es kommt darauf an, wie tief man in meinem Beruf arbeiten möchte. Ich meine, ich decke ja schon ein sehr breites Spektrum ab. Wenn man jetzt mehr Richtung Projektmanagement geht, dann muss man sehr kommunikativ sein. Man kennt die Kunden vorher nicht und muss je nach Kunde auch mal dagegenhalten und in Diskussionen seine Argumente sachlich begründen. Man muss auch vor Ort sein und erstmal Zusammenhänge verstehen und gleichzeitig schon eigene Vorschläge einbringen und dabei auch bereit sein, Kompromisse finden zu können. Das wäre so die Anforderungen an die Projektmanagement-Ebene. Zum Programmieren muss man einfach programmieren können.
Was würdest Du denn sagen, was sind im Bereich Programmieren wirklich grundsätzliche Voraussetzungen, die man erfüllen sollte und was ist eher „nice to have“ oder etwas, was man während der Arbeit vertieft?
Lucas: Ich sage mal, was recht wichtig ist, ist ein Grundverständnis von logischen Abhängigkeiten. Man fährt zu einem Workshop und hat vorher vielleicht einen kleinen Kick-off gehabt und weiß zum Beispiel, dass das Unternehmen Brötchen backt. Dann weiß man, wie die Produktionslinie in etwa aussieht. Aber eigentlich hat man das in seinem Leben ja noch nie gesehen, wie Brötchen im großen Stil gebacken werden. Und man muss innerhalb dieser acht Stunden Workshop, von denen man vielleicht eine Stunde vor der Maschine steht, möglichst schnell im Ansatz verstehen, wie so ein Produkt in der Maschine entsteht, um dann sagen zu können, wie man FASTEC 4 PRO in dieser Produktion am besten einbindet. FASTEC 4 PRO ist am Ende natürlich auch nur ein Werkzeug und wir müssen schauen, wie wir dieses Werkzeug am besten in die Produktion des Kunden einbringen können, damit er am Ende auch den größten Nutzen davon hat und auch die besten Daten daraus gewinnt.
Ein zusätzlicher Fokus ist das selbstbewusste Formulieren von Lösungsvorschlägen, wenn der Kunde zusätzliche Anforderungen nennt, die nicht in der Standardsoftware enthalten sind. Und zwar so, dass es für jeden einen möglichst geringen Aufwand in der Pflege und Nutzbarkeit darstellt, sowie auch in der Wartung des Codes. Jede Zeile Code, die wir schreiben, muss in der Regel nämlich auch gewartet werden können. Und wenn das zu komplex wird, muss man auch mal Sachen abschlagen können. Also Kommunikation und logisches Verständnis sind zwei wichtige Punkte.