Was machen eigentlich ein Backend- und ein Frontend-Entwickler?
Felix Hoffmann und Patrice Voß im Gespräch

Stellen Sie sich vor, Sie haben Produkte, die Sie online verkaufen möchten – nur leider keine Ahnung, wie Sie einen Onlineshop aufbauen und pflegen sollen. Dann bräuchten Sie unbedingt die Expertise eines Frontend-Entwicklers wie Patrice Voß und eines Backend-Entwicklers wie Felix Hoffmann. Beide sind Teil des Teams Software Engineering Java. Patrice programmiert in Jena den Bereich unserer Onlineshops, den die Benutzer tatsächlich sehen können („Frontend“, wörtlich übersetzt „Vorderseite“). Felix programmiert in Zeulenroda den verborgenen Teil der Shops („Backend“, wörtlich übersetzt „Rückseite“). Dort werden Befehle, die Nutzer im Onlineshop eingeben, verarbeitet. Gemeinsam geben uns Patrice und Felix Einblicke in ihre Arbeit.
Welche Aufgaben nimmt Euer Team wahr und mit welchen Abteilungen besteht besonders intensiver Austausch?
Patrice: Zusammen sorgen wir mit acht weiteren Kollegen dafür, dass auf den Bauerfeind-Shops für Geschäfts- und für Endkunden, sowie in den Shops von Berkemann, Solidus, MarcShoes und Uniprox alles rund läuft. Insgesamt kümmern wir uns also um acht verschiedene Online-Shops. Dazu arbeiten wir sehr eng mit den verschiedensten Fachabteilungen zusammen, von denen wir die Anforderungen für die umzusetzenden Funktionen, sowie deren Gestaltung erhalten. Wenn das technische Gerüst steht, sind wir im engen Austausch mit den Content-Managern, die Inhalte wie Texte und Bilder einpflegen.
Felix: Außerdem sorgen wir dafür, dass die von den Sanitätsfachhändlern verwendete Branchen-Software und unsere Messtechnik richtig angebunden wird. Anschließend übermitteln wir die Daten aus dem Onlineshop an die nachfolgenden Systeme, sodass die bestellten Produkte häufig noch am gleichen Tag produziert werden können. Gemeinsam mit einem externen Dienstleister sichern wir außerdem den Betrieb der Onlineshop-Systeme ab, damit diese für unsere Kunden jederzeit erreichbar sind.

Felix, Du bist Backend-, Patrice Du Frontend-Entwickler, was unterscheidet Eure Arbeit?
Patrice: Wir sorgen im gemeinsamen Zusammenspiel dafür, dass der Onlineshop logisch aufgebaut ist und alles richtig funktioniert, was angeklickt wird. Man kann sich das so vorstellen: Es gibt ein gemeinsames Backend für alle Shopseiten von Bauerfeind. Das ist eine große Plattform, auf der wir alle Funktionalitäten für alle Shops technisch entwickeln. Für jeden Shop gibt es dann wiederum unterschiedliche Frontend-Seiten. Ich als Frontend-Entwickler sorge dafür, dass später im sichtbaren Bereich der Shop-Seiten die Schriftarten und Farben einheitlich definiert, Buttons und Eingabefelder korrekt positioniert sind und es für den Kunden intuitiv bedienbar ist.
Felix: Die meisten Kollegen im Team beschäftigen sich mit der Backend-Entwicklung. Hier verstecken sich die komplette Logik und Datenverarbeitung der Onlineshops, sowie die Schnittstellen zu angebundenen Systemen. So muss beispielsweise bei einem neuen Produkt die Größenauswahl so programmiert werden, dass nach der Erfassung der Maße – durch die Messtechnik oder manuell durch den Kunden im Shop – der richtige Größenvorschlag für das Produkt gemacht wird.

Das heißt Du Patrice setzt als Frontend-Entwickler das um, was Felix im Backend programmiert hat?
Patrice: Genau so ist es, ich setze seine Arbeit gestalterisch um und kann auch direkt im Browser sehen, ob etwas funktioniert oder wie es am Ende für den Nutzer aussieht.
Felix: Wir Backend-Entwickler arbeiten da mehr im „Verborgenen“ und betrachten die Daten direkt. Mithilfe von automatisierten Testfällen prüfen wir, ob wir die korrekten Daten bereitstellen, die später von Patrice im Frontend dargestellt werden. Was für den Nutzer nur eine kleine Änderung im Frontend bedeutet, ist für uns teilweise eine echte Herausforderung.
Welches Beispiel fällt dir dazu ein?
Felix: Eines der letzten größeren Features, welches wir für unseren Onlineshop der Bauerfeind Geschäftskunden umgesetzt haben, war die Möglichkeit, Retouren digital erfassen zu können. Die Kunden können über ihren Bestellverlauf einen Artikel, den sie retournieren möchten, heraussuchen und unter der Angabe eines Rücksendegrundes die Retoure erfassen. Wenn die Retoure von uns akzeptiert wurde, kann der Kunde direkt im Shop seinen Rücksendeschein und den Paketaufkleber drucken. Außerdem besteht die Möglichkeit, dass der Paketdienstleister beauftragt wird, das Paket im Geschäft des Kunden abzuholen.
Patrice: Im Frontend ist das nur eine Funktion von vielen und mit wenigen Klicks hat der Kunde seine Retoure aufgegeben. Aber im Backend haben wir hier wirklich sehr viel Arbeit reinstecken müssen. Je nachdem welche Produkte der Kunde retournieren möchte, werden diese automatisch genehmigt oder erst einer Prüfung durch einen Mitarbeiter des Kundenservice unterzogen. Hier war also auch noch eine interne Ansicht für unsere Kollegen im Kundenservice notwendig, um die eingehenden Anfragen schnell bewerten zu können. Außerdem musste die Schnittstelle zum Paketdienstleister integriert werden, um Paketaufkleber und Abholung der Pakete im Geschäft für den Kunden komfortabel über unseren Shop abbilden zu können.
Das klingt technisch anspruchsvoll. Welche Ausbildung muss man haben, um bei Euch arbeiten zu können?
Felix: Wichtig ist, dass man im Team arbeiten kann, sich gegenseitig unterstützt und natürlich ist es auch hilfreich eine Programmiersprache verstehen zu können. Eine wichtige Fähigkeit, egal ob als Backend- oder Frontend-Entwickler ist das logische Denken, damit es uns gelingt bestehende Prozesse zu digitalisieren und für den Kunden intuitiv aufzubereiten. Das geht mit einem Informatikstudium genauso gut wie mit einer Ausbildung als Fachinformatiker, wie sie Patrice absolviert hat.
So organisiert sich das Team:
Im Team Software Engineering Java wird das Modell der agilen Softwareentwicklung genutzt.
Das bedeutet, dass es keine langen Planungsphasen gibt, weil es sich um komplexe Themen handelt und dadurch häufig neue Anforderungen erst während der Entwicklungsphase auftreten. Es wird daher in Drei-Wochen-Zyklen gearbeitet. In einem „Sprint-Planning“ setzen sich alle Entwickler zusammen und strukturieren dann für die kommenden drei Wochen die jeweiligen Aufgaben. An Fragestellungen wird gemeinsam in täglichen Abstimmungen gearbeitet. Nach drei Wochen folgt dann ein gemeinsamer „Review“ mit den Fachabteilungen bei dem das Entwicklungsteam die Ergebnisse der letzten drei Wochen vorstellt. Anschließend resümiert das Team was gut und was nicht so gut funktioniert hat, leitet daraus Verbesserungen ab und plant den nächsten Drei-Wochen-Zyklus.