Aus unserer Sicht sind sie wie Superman, Batman und The Flash: unsere Softwareentwickler weisen einige Parallelen zu unseren liebsten Superhelden auf. Sie machen das scheinbar Unmögliche möglich und lassen uns verblüfft zweifeln, wie man aus einem Haufen Buchstabensalat eine funktionierende Anwendung zaubert. Und weil ihre Arbeit für den Endnutzer oftmals verborgen bleibt, möchten wir ein wenig Licht ins Dunkle bringen und zeigen, was eigentlich hinter dem mysteriösen Begriff des Softwareentwicklers steckt, welche Aufgaben dazu gehören und warum ihre Arbeit so wichtig ist.
Um in das Thema zu starten, haben wir unseren Entwickler Norman Fischer genauer unter die Lupe genommen. Seit Oktober 2022 gehört er zur ptc Familie und ist für das Projekt der Signbridge zuständig. Doch beginnen wir am Anfang: Norman hat in der 11. Klasse sein Interesse am Programmieren entdeckt. Angefangen mit HTML, CSS und PHP hat er sich privat durch alle möglichen Buchstabenkombinationen probiert und seinen Spaß daran gefunden – bis er schließlich das Studium der Angewandten Informatik mit der Vertiefung Softwareentwicklung in Mittweida begann. Neben seiner Arbeit bei uns studiert Norman fleißig im Master Informatik weiter.
Norman, welche Programmiersprachen stehen bei dir auf der Tagesordnung und was können wir uns überhaupt darunter vorstellen?
Ein PC kann im Grunde mit uns nur in Nullen und Einsen kommunizieren – das ist allerdings wenig intuitiv. Aus diesem Grund gibt es Programmiersprachen. Sie helfen uns Menschen dabei, in einer zwar technischen, aber doch für uns noch verständlichen Form mit dem System zu kommunizieren. Jede Sprache hat dabei ihre eigene Syntax – also die formale Definition, wie sie geschrieben werden darf. In Python beispielsweise wird die Struktur des Codes durch Einrückungen vorgenommen, in anderen Sprachen wie C#, PHP oder Java wird dies durch geschweifte Klammern erreicht.
Für Außenstehende sieht das oft wie Kauderwelsch aus, aber es steckt ein – oft leider sehr komplexes – System dahinter, welches die Arbeit für uns mit dem System erheblich erleichtern kann.
Ich beherrsche die Programmiersprachen PHP, JavaScript, Java, Python, C, C++, C#, Ruby und Go. All diese Sprachen lassen sich für nahezu jeden Zweck einsetzen, aber natürlich gibt es da auch Spezialisierungen. Mit PHP und JavaScript kann man sehr einfach Webseiten erstellen (mit ordentlich HTML und CSS natürlich), während Java und die C-Sprachen eher für Anwendungsentwicklung, also die traditionellen Anwendungen auf dem PC, gedacht sind.
Aber sie können auch interdisziplinär eingesetzt werden. So besitzt C# mit dem ASP.NET-Framework beispielsweise eine sehr einfache Möglichkeit, Websites zu programmieren.
Was genau ist deine Aufgabe bei premium technologies?
Ich bin als Projektmanager für Signbridge, also den Bereich eSign zuständig. Signbridge wurde von uns selbst entwickelt und dient als Schnittstelle zwischen dem Dokumentenmanagementsystem Amagno und der Lösung für digitale Signaturen Yousign. Ich stelle sicher, dass die Website einwandfrei funktioniert, dass die API im Hintergrund problemlos läuft und alle Systeme reibungslos angebunden sind. Auch die Weiterentwicklung der Weboberfläche und API gehören zu meinem Aufgabenbereich. Darunter fällt zum Beispiel der Einbau neuer Features und Informationen, die Behebung von Bugs und noch vieles mehr. Und da Signbridge die Arbeit für unsere Kunden erleichtern und verbessern soll, gehe ich natürlich auch auf Kundenwünsche ein, sodass sie am Ende ein angepasstes Produkt erhalten.
Wie läuft die Verwirklichung der Kundenwünsche ab?
Meistens kommen die Kunden mit dem Wunsch, eine neue Funktion einzubauen, auf uns zu. Zunächst schätze ich den zeitlichen Rahmen ab. Zu bedenken sind die Arbeit am Code selbst, das Bearbeiten oder Hinzufügen von Klassen und Änderungen an der Website. Auch die Arbeitszeit an API und Datenbank muss ich einkalkulieren, ebenso wie das Testen meiner Arbeit. Dann gebe ich dem Kunden eine Rückmeldung über die Zeitrahmen. Anschließend folgt die eigentliche Arbeit: das Programmieren. Ist der Code fertig, lokal getestet und funktioniert einwandfrei, werden die Änderungen am Produktivsystem vorgenommen. Wenn der Kunde zufrieden ist, erstelle, bearbeite oder ergänze ich die Dokumentation dazu, sodass meine Arbeit auch in der Zukunft und für andere nachvollziehbar ist.
Oftmals kommen Kunden ja mit Problemen im Programm auf dich zu, die schnellstmöglich gelöst werden müssen. Gibt es Möglichkeiten, um den Prozess der Problembehebung zu beschleunigen?
Ja, auf jeden Fall! Mir hilft es sehr weiter, wenn ich alle relevanten Informationen vorliegen habe, sodass ich mich gleich an die Arbeit machen kann. Dazu gehören die Folgenden:
- Seit wann tritt das Problem auf?
- An welcher Stelle tritt das Problem auf?
- Habe ich in der Anwendung irgendetwas anders gemacht als sonst?
- Was habe ich schon versucht, um das Problem zu lösen?
- Habe ich Informationen, die hilfreich sein könnten (z.B. Fehlermeldungen)?
Inwiefern ist deine Arbeit im Rahmen der Digitalisierung für KMU relevant?
Meine Arbeit an der Signbridge hilft erheblich dabei, Prozesse im Unternehmen zu digitalisieren. Die Verbindung zwischen Yousign und Amagno ermöglicht es, Unterschriften digital und vor allem rechtssicher zu machen. Amagno als Dokumentenmanagementsystem kämpft gegen den lang etablierten Papierdschungel im Büro. Alle relevanten Akten können digital abgelegt, verwaltet und bearbeitet werden. Ist es eine Unterschrift nötig, kann diese durch Signbridge von Yousign direkt in die Amagno-Dokumente übermittelt werden. So können sich Unternehmen die Ausdrucke und das Hin- und Herschicken per Post sparen. Diese Prozesse können somit nicht nur vereinfacht, sondern auch beschleunigt werden. Und Geld spart man obendrein. Durch die extra erstellten Zertifikate ist auch die rechtliche Sicherheit gegeben, sodass alle Unterschriften gültig sind. Außerdem kann man genau sehen, an welcher Stelle im Unterzeichnungsprozess sich das Dokument befindet. So ist ein Überblick in Echtzeit gegeben, welcher wiederum lästiges Nachfragen per Mail überflüssig macht.
Und zu guter Letzt: was macht dir an deiner Arbeit am meisten Spaß und welche Tipps würdest du Anfängern geben?
Darauf kann ich klar antworten: das Programmieren an sich! Ich probiere wahnsinnig gerne Neues aus, besonders im Bereich der Webentwicklung mit C#. In der Entwicklung ist unser Prozess oftmals von Trial-and-Error geprägt, sodass man durch ausgiebiges Experimentieren zu einer Lösung kommt. Dabei kann man sich programmier-technisch richtig schön austoben!
Genau das würde ich auch Anfängern mit an die Hand geben: macht so viel es geht selbst! Erst belesen und das dann direkt praktisch umsetzen und so lange probieren, bis es klappt. Und damit meine ich nicht nur die Aufgaben, die ihr in der Uni oder auf der Arbeit bekommt: setzt eure eigenen Projekte um! Sei es eine Website über eure Hobbies oder Scripts, die euch das Leben –oder zumindest den Alltag- erleichtern. Einfach ausprobieren!