TalkAbout

Softwareengineering: Was machen Entwickler, Tester und DevOps?

Von Alexandra Mesmer

12. April 2022

Melanie, Daria und Emna sind als Softwareentwicklerin, Testerin und DevOps unterwegs. Drei Einblicke in ihre Arbeit an IoT-Plattformen, mit Testautomatisierung und Kubernetes.

Entwicklerin Melanie: An der Schnittstelle zwischen Software und Kunde

Melanie Schweiger sammelte ihre erste Erfahrung mit Computern schon in der Grundschulzeit, programmierte im Gymnasium, entschied sich nach dem Abitur für ein Informatikstudium an der TU und begann im dritten Semester als Werkstudentin bei MaibornWolff. Nach dem Studium arbeite sie in Vollzeit und ist mittlerweile zur Senior Entwicklerin aufgestiegen. 

Als Frontend-Entwicklerin agiert sie an der Schnittstelle zwischen Software und ihren Nutzer:innen - von den Designer:innen bekommt sie Screen-Designs, holt sich die Daten aus dem Backend und implementiert neue Funktionalitäten im Frontend. 

Melanie arbeitet in einem Vorzeige-Scrum-Projekt. Nicht nur am Anfang eines Projekts, in der so genannten Explorationsphase, wird hinterfragt, was die Anwendung, etwa eine IoT-Plattform, können muss. “Das hört danach nicht auf”, sagt Melanie Schweiger. “Im Zuge des Scrum-Prozesses kommen immer wieder neue Anforderungen hinzu, die mit den Product Ownern und dem Team abgestimmt und spezifiziert werden müssen. “ Dabei hilft Melanie mit, moderiert die dazugehörigen Refinement Meetings mit dem Kunden.

Eine Woche mit zahlreichen Meetings und Absprachen mit Designer:innen, Backend-Entwickler:innen, Business Analyst:innen und den Product Ownern wechselt sich mit einer Woche mit Fokus auf das Entwickeln ab.

Melanie Schweiger, MaibornWolff

Frontend-Entwicklerin Melanie Schweiger begann bereits als Werkstudentin für MaibornWolff zu arbeiten.

Von den drei großen Web Application  Frameworks, die im Frontend eingesetzt werden, hat sie sich auf Angular spezialisiert. Welches Framework in den einzelnen Projekten verwendet wird, entscheidet der Kunde oder MaibornWolff als Dienstleister. 

Wenn Melanie die einzige Frontend-Entwicklerin im Projekt ist, trifft sie auch Architekturentscheidungen. Einen IT-Architekten zieht sie aber dann zu Rate, wenn es viele Schnittstellen gibt. 

Das Team sitzt verteilt in München, Augsburg, Berlin und Detmold, darum findet die Arbeit remote statt. Die ersten acht Monate hatte Melanie komplett von zuhause aus gearbeitet. Mittlerweile trifft sie sich im Münchner Büro mit anderen aus ihrem Team, was Absprachen erleichtert und natürlich auch für den Teamzusammenhalt gut ist.

Softwaretesterin Daria: „Ich versuche, die Software zum Crashen zu bringen.“

Daria Widmann studierte Kartografie und Geomatik und wollte schon immer eine technische Laufbahn einschlagen. Während ihres Masterstudiums arbeitete sie als Werkstudentin in einem großen Verlag, sammelte dort Testerfahrung.

Bei MaibornWolff ist die Softwaretesterin aktuell Teil eines über 20köpfigen Projektteams, das sich unter anderem aus Frontend- und Backend-Entwickler:innen, iOS- und Android-Expert:innen sowie Requirement Engineers zusammensetzt. Für die 15minütigen Dailys eignet sich eine solche Teamgröße weniger, so dass sich im aktuellen Projekt Teilteams zur täglichen Absprache treffen. „Bis zu neun Personen sind die optimale Größe für Scrum“, weiß Daria aus verschiedenen Projekten.

Daria ist im Projekt für die Testautomatisierung verantwortlich. Mit dem Framework Appium lassen sich Tests für mobile Anwendungen automatisieren. „ Um sicherzustellen, dass ein Produkt eine gewisse Qualität hat, simuliere ich gängige Userflows oder ich versuche, die Software zum Crashen zu bringen.“ Zu automatisierten Tests kommen manuelle Testverfahren, die Daria entwickelt. Code muss Daria als Testerin mehr schreiben als man vermuten würde. Bis zu 70 Prozent ihrer Zeit schreibt Daria Code für die automatisierten Tests, in der restlichen Zeit testet sie die Apps manuell.

Daria Widmann, MaibornWolff

Daria Widmann ist als Softwaretesterin Teil eines 20köpfigen Projektteams.

Mit der cloudbasierten Testplattform BrowserStack kann Daria testen, ob Webseiten und mobile Apps auf verschiedenen Webbrowsern und den mobilen Betriebssystemen Android und iOS laufen. Die verschiedenen Plattformen beziehungsweise die unterschiedlichen Implementierungen der Software auf diesen bedingen viele Anpassungen. Und vor dem Test muss sie sich die App aus der Perspektive der Nutzer:innen anschauen und alle Möglichkeiten des Gebrauchs ausloten.

Mit der Testautomatisierung schafft Daria die Grundlage, um alle Funktionalitäten einer Anwendung zu prüfen. Es gibt aber auch Projekte, in denen die Softwareentwickler selbst diese Aufgabe übernehmen.

Täglich trifft sich Daria zum Austausch mit Entwickler:innen und Architekt:innen, bei Bedarf auch mit der Product Ownerin, dem Designer und weiteren Ansprechpartnerinnen. Kommen Fragen oder Themen auf, die das gesamte Team betreffen, diskutieren sie alle in einer Art “Sprechstunde”.  .

Vor Corona arbeitete Daria in einem klassischen Projektbüro, der gemeinsame Ort erlaubte eine spontane Abstimmung über den Schreibtisch hinweg. Heute ist eine über mehrere Standorte verteilte Remote-Arbeit angesagt, die mittlerweile eingespielt ist. Die spontanen Zurufe von früher sind auch in Microsoft Teams möglich, indem man die andere Person spontan in einen Call dazu holt.

Ein Wechsel zwischen den Projekten ist möglich, Daria wendet sich da an ihre Führungskraft, die einen Überblick über potenzielle neue Projekte hat. Gibt es ein passendes Projekt, wird ein weiteres Gespräch mit dem Projektleiter beziehungsweise ein Kennenlernen mit dem Kunden vereinbart. Solche Wechsel benötigen aber einen gewissen Vorlauf.

DevOps Emna: Mit Kubernetes Hochverfügbarkeit sicherstellen

In Paris studierte Emna Marzougui Cloud Networking Engineer, vor einem Jahr hat sie im Hamburger Büro von MaibornWolff begonnen. Ihr Interesse für die IT war schon früh ausgeprägt, insbesondere für die Cloud-Technologie und den Devops-Ansatz, der Softwareentwicklung und IT-Betrieb verbindet.

Emna arbeitet als DevOps Platform Engineer. Cloud-native Anwendungen für die Plattformen von AWS beziehungsweise Microsoft Azure zu bauen sind für sie ebenso wichtige Themen wie die CI/CD-Pipeline (Continuous Integration/Continuous Delivery). Ziel ist es, mit automatischen Workflows, etwa in der Integrations- und Testphase, die Anwendungsentwicklung an sich zu verbessern.

Emna Marzougui, MaibornWolff

Emna Marzougui studierte in Paris Cloud networking Engineering, bevor sie bei MaibornWolff als DevOps Platform Engineer einstieg.

Emna empfindet es als Chance, dass sie nicht nur auf einer Cloud-Plattform arbeiten, sondern sich in unterschiedlichen Technologieumgebungen bewegen kann. Der technologische Aspekt ist es auch, der für Emna bei der Wahl des nächsten Projekts wichtig ist. 

Ausgangspunkt sind für Emna und ihr Team immer die Anforderungen des Kunden, nach denen sie cloud-native Anwendungen entwickelt, aber auch immer im Blick behält. Die hohe Leistungsfähigkeit einer Anwendung ist in vielen Projekten eine der wichtigsten Anforderungen. 

Emna arbeitet mit der Docker Software, um Anwendungen mithilfe von Containern zu erstellen, bereit zu stellen und auszuführen. Mit diesen Containern kann sie eine Anwendung mit allen Teilen zusammenpacken und als Paket versenden. Die Container wiederum orchestriert sie mithilfe der Open-Source-Plattform Kubernetes, die die Softwarepakete auf Servern und Endgeräten verteilt und konfiguriert. Das kommt vor allem zum Einsatz, wenn eine Anwendung jederzeit verfügbar sein muss.

„Von außen schaut es nach harter Arbeit aus. Aber es ist eine gute Arbeit“, sagt Emna, auch wegen des hohen Lernbudgets, das eineinhalb Bruttomonatsgehälter umfasst. „Und wir bekommen die Zeit und die Chance zu lernen.“ Etwa eine weitere Programmiersprache, die auch für DevOps wichtig ist.