Hilfe zur Karriereplanung

Was macht ein Platform Engineer / AWS DevOps?

21/06/2020
header image

Wie genau hat man sich die Aufgaben eines Platform Engineer vorzustellen?

Der Platform Engineer ist eine besondere Art von DevOps Engineer, der sich nicht nur auf das Produkt, sondern auch (oder vielleicht sogar hauptsächlich) auf die technischen Aspekte und die zugrunde liegenden Mechanismen Ihrer komplexen Anwendung konzentriert. Vor der Cloud-Ära gab es Sysadmins - Leute, die sich um die operative Seite des Produkts kümmerten. Sie lösten Probleme mit überschaubaren, oft quelloffenen Tools.

Dann kamen die Cloud-Dienste auf, und die Dev-Ops-Kultur konnte sich ausbreiten, so dass der Großteil der betrieblichen und infrastrukturellen Wartungslast von den Schultern der Teams genommen wurde. Aber wenn die Produkte wachsen und mehrere Teams zusammenarbeiten müssen, entsteht der Bedarf an einer gemeinsamen Integrationsplattform, einem Raum, in dem alle Beteiligten auf vorhersehbare Weise arbeiten können.

Ein Leben in der Cloud 😉

Der Platform Engineer ist so etwas wie ein Systemadministrator der Cloud-Ära - seine Hauptaufgabe besteht darin, eine gemeinsame Cloud-Infrastruktur und Basiskomponenten zu entwickeln, die von allen anderen Teams genutzt werden können und in der Regel sogar die Integration von Lösungen Dritter ermöglichen. Die so genannte “Plattform” ist in der Regel nur ein weiterer Dienst in einer Microservice-Landschaft, der von allen anderen Abteilungen genutzt wird.

Natürlich leben wir im 21. Jahrhundert und nutzen die Cloud - alles wird in einem DevOps-Ansatz durchgeführt, weshalb der Titel Platform Engineer oft in Verbindung mit DevOps Engineer verwendet wird (in der Regel auch mit der Bezeichnung der Zielplattform - in meinem Fall zum Beispiel: AWS DevOps). Das bedeutet, dass eine solche Plattform vollständig als Code ausgedrückt, mit Tools wie Terraform oder CloudFormation bereitgestellt und mit einer CI/CD-Pipeline vollständig automatisiert wird.

Wie sieht dein typischer Tagesablauf aus?

Im Allgemeinen ähnelt die tägliche Routine derjenigen, die in jeder Dev-Ops-Rolle vorkommt - die Plattform ist in der Regel nur eine Reihe von sehr grundlegenden Microservices und Tools, die in den Automatisierungsprozessen verwendet werden. Wir arbeiten nach Scrum, wir haben Funktionen, an denen wir arbeiten müssen, und wir können unseren Fortschritt messen. Der Hauptunterschied besteht darin, dass der KPI für das Plattformteam normalerweise nicht das Produkt selbst ist, sondern die Produktivität der anderen Teams.

Es ist auch nicht ungewöhnlich, dass wir eine Rolle als interne Berater spielen. Nicht alle Teams sind bereits Cloud-fähig, vor allem, wenn wir über moderne Ansätze wie beispielsweise serverlose Architekturen sprechen. Dann müssen wir mögliche Lösungen für solche Teams analysieren, sie sowohl in unsere Plattform als auch in den Cloud-Anbieter selbst einweisen und ihre Fortschritte überprüfen.

Was sind die Voraussetzungen für einen Platform Engineer

Einen universitären Weg gibt es meines Wissens nach nicht. Erstens ist es ein rein branchenspezifischer Begriff, zweitens ist es eine ziemlich neue und nicht so streng spezifizierte Rolle. Im Allgemeinen ist der Platform Engineer eine Mischung aus einem Systemarchitekten und einer Dev-Ops-Rolle - wir müssen einen tiefen Einblick sowohl in die Dienste des Cloud-Anbieters als auch in den technologischen Stack unseres Projekts haben, in der Lage sein, die gewünschte Architektur zu verfeinern, und sie anschließend implementieren. Jedes Studienfach, das auf solche Aufgaben vorbereiten kann, kann als Ausgangspunkt dienen.

Was hast Du studiert?

Ich habe mit 8 Jahren angefangen, erste Programme zu schreiben, habe an ersten Open-Source-Projekten teilgenommen, als ich noch in der Grundschule war, und habe an ersten kommerziellen Projekten gearbeitet, bevor ich 15 wurde. Ich begann ein Studium an der Zachodniopomorski Uniwersytet Technologiczny in Szczecin (ehemals Politechnika Szczecińska), das ich aber im vierten Semester abbrach - zu diesem Zeitpunkt hatte ich bereits ein ziemlich starkes Portfolio an persönlichen Projekten, wurde im Internet in einigen Bereichen bekannt und bekam Jobangebote von großen Unternehmen. In meinem Fall habe ich mich dafür entschieden, Karriere und Familienleben dem Studium vorzuziehen.

Gibt es zusätzliche Ausbildungsprogramme?

Zertifikate sind mit Sicherheit wichtiger als Studienabschlüsse. Ich persönlich konzentriere mich als AWS DevOps/Platform Engineer auf diese Plattform und mache eine Zertifizierung in diesem Bereich. Die meisten großen Cloud-Anbieter (wenn nicht sogar alle) bieten Zertifizierungswege an. Zertifikate sind sehr wichtig, vor allem, wenn man als Berater arbeiten will - sehr oft werden Unternehmen, die eng mit AWS zusammenarbeiten, von AWS dazu gedrängt, sich zertifizierte Partner zu suchen, um ihre Ziele zu erreichen. Das ist nicht nur aus kommerzieller Sicht sinnvoll - die Wahl zertifizierter Entwickler gibt dem Cloud-Anbieter die Gewissheit, dass er die Ressourcen vernünftig nutzt und entsprechend den Best Practices plant. Ein zufriedener Kunde bleibt mit hoher Wahrscheinlichkeit bei seinem Cloud-Anbieter. Die meisten “Misserfolgsgeschichten”, die ich gelesen oder sogar gesehen habe, waren auf eine schlechte Implementierung und ein unzureichendes Verständnis der in Anspruch genommenen Dienste zurückzuführen.

Welche Kompetenzen und Fertigkeiten gibt es an Deinen Job?

Die Menge der erforderlichen Fähigkeiten hängt in der Regel von der jeweiligen Rolle ab (welcher Cloud-Anbieter, welche Programmiersprachen, welche Tools). Im Allgemeinen gehören jedoch mindestens eine der wichtigsten Programmiersprachen, die sich leicht in die jeweilige Cloud integrieren lassen (im Falle von AWS in der Regel Java oder Node.js), Erfahrung mit Tools für das Infrastrukturmanagement (für AWS - in den meisten Fällen CloudFormation oder Terraform) und Automatisierungstools (hier hängt es stark von der Unternehmenspolitik ab - manchmal ist es möglich, AWS-Dienste zu nutzen, manchmal nutzt das Unternehmen einen Drittanbieter-Service, manche verwenden unternehmenseigene Lösungen). Automatisierung bedeutet auch die Integration mit Build-Tools wie Maven oder NPM, Test-Frameworks und Tools zur Qualitätskontrolle. Zumindest ein gewisses Grundwissen über Sicherheit ist ebenfalls erforderlich.

Auch Softskills spielen eine wichtige Rolle, denn obwohl es sich bei der Rolle des Platform Engineer hauptsächlich um eine technische Rolle handelt, muss er, wie bereits erwähnt, mit verschiedenen Personen auf verschiedenen Ebenen zusammenarbeiten - von der Verfeinerung der Anforderungen bis hin zur Anleitung und Betreuung.

Was ist Deine grundsätzliche Motivation für den Job

Ich bin computerbegeistert, seit ich im Alter von 3 Jahren meinen ersten Computer bekommen habe. Mein Beruf ist mein Hobby - diese Aufgabe kombiniert die meisten Aspekte, die ich in meiner Freizeit immer gerne gemacht habe, mit den neuesten Industriestandards.

Wenn Du nicht Platform Engineer wärst, würdest Du… 

…viel mehr freie Zeit haben :).

Ähnliche Artikel