Du möchtest also Full-Stack-Entwickler werden? Hier sind die Fähigkeiten, die du tatsächlich brauchst.

Du möchtest also Full-Stack-Entwickler werden? Hier sind die Fähigkeiten, die du tatsächlich brauchst.

"Full Stack DevOps" ist einer dieser Titel, die viele Recruiter und Stelleninserate mit großen Gehaltsetiketten herumwerfen. Dann klickst du hinein und schwimmst in einem Meer von Akronymen. Du bist dir vielleicht nicht ganz sicher, ob es wirklich ein schlechter Scherz ist oder ob der Recruiter nur versucht, alle existierenden Programmiersprachen und Cloud-Dienstleister abzudecken.

Dies führt zu der Frage: Was genau brauche ich, um ein hocheffektiver Full-Stack-DevOps-Entwickler zu werden?

Mit den Grundlagen beginnen: Cloud Computing

Wir alle wissen was Cloud Computing ist... aber gleichzeitig wissen wir es nicht. Cloud Computing kann eine dieser mysteriösen, vagen technischen Funktionen sein, die komplexer zu sein scheint, als sie wirklich ist. Cloud Computing bedeutet im Wesentlichen, dass man weiß, wie man Dinge mit mindestens einem der wichtigsten Cloud-Dienstleister macht. AWS ist der größte und beliebteste auf dem Markt, gefolgt von Microsoft Azure und dann Google Cloud. Es gibt auch andere Anbieter wie Digital Ocean und IBM Cloud.

Auch wenn die Art und Weise, wie ihre Dienste bereitgestellt werden, unterschiedlich sein kann, sind die Schlüsselkonzepte wie Regionen, Verfügbarkeitszonen, Rechenzentren, Virtualisierung, VMs und Netzwerke im Wesentlichen gleich.

Das Code-Zeug: HTML5, CSS3 und JavaScript

Du benötigst das grundlegende Trio: HTML, CSS und JavaScript. Wenn du Full-Stack Developer sein willst, führt kein Weg daran vorbei. Du musst zwar kein Genie in der Gestaltung von Front Ends sein um ein Full-Stack-Entwickler zu sein, aber du musst dennoch über ausreichende Kenntnisse im Umgang mit HTML, CSS und JavaScript verfügen, um Schnittstellen zu erstellen.

Cloud-native Anwendungen

Eine einfache App auf AWS bereitzustellen ist eine Sache. Zu wissen, wie man AWS Inside-Out verwendet, ist eine andere.

(Protip: Es muss nicht AWS sein – es kann jeder Cloud-Anbieter wie Google Cloud und Microsoft Azure sein. AWS sei hier aufgeführt, weil es der Größte ist und es daher wahrscheinlich einfacher ist einen Full-Stack-Job zu bekommen, wenn du AWS-Erfahrung hast).

Cloud-Anwendungen mit Node.js und React

Wie bei HTML, CSS und JavaScript wirst du Node.js und React nicht entkommen können. Es ist überall und bei fast jeder Bewerbungsanforderung. Aber es steckt mehr dahinter, als nur eine einfache CRUD-App mit der Node.js- und React-Kopplung zu erstellen.

Container, Kubernetes und OpenShift

Container befassen sich mit dem Prozess der automatischen Bereitstellung. Bloß das manuelle Hochladen deiner App in die Cloud macht dich nicht zu einem echten Full-Stack-Entwickler. Wenn du das tust, ist es so als würdest du sagen, dass du weißt wie man codet, nachdem du ein 15-minütiges Video auf YouTube gesehen hast.

Die wichtigsten Dinge die du wissen und kennen musst sind im Wesentlichen Docker, Kubernetes und OpenShift. Warum diese drei Dinge? Weil sie die beliebtesten Orchestrierungsdienste/-methoden sind, die derzeit in der gesamten Branche verwendet werden.

Python-Grundlagen für Data Science

Python ist keine Modeerscheinung. Früher oder später, wenn du ein Full-Stack-Entwickler mit DevOps-Kenntnissen bist, wirst du Python in irgendeiner Form begegnen – wenn nicht in der KI-Programmierung, dann für datenwissenschaftliche Zwecke oder Microservice-Skripting.

Du benötigst auch eine Art kompilierte Sprache. Python ist am einfachsten zu erlernen und zu verwenden. Tatsächlich ist Python eine lustige Sprache, weil sie sowohl kompiliert als auch interpretiert wird.

Django-Anwendungsentwicklung mit SQL und Datenbanken

Kurz gesagt, Django ist webbasiertes Python. Während Django keine Voraussetzung für Full-Stack-DevOps ist, ist Django ein Beispiel, weil du mindestens eine andere Backend-Programmiersprache mit einer Datenbank benötigst.

Nur Node.js zu haben schadet nicht – aber JavaScript ist keine wirklich kompilierte Sprache. Es ist eine interpretierte Sprache, die sich etwas anders verhält und funktioniert. Es ist gut, eine kompilierte Sprache als Teil deines vollständigen Lebenslaufs zu haben.

Microservices, Serverless, OpenShift

Das sind mehr als nur Schlagworte. Beim Erstellen von Apps lernen wir normalerweise, wie man Monolithen baut. Microservices und Serverless verändern die Struktur der Dinge für eine Cloud-basierte Umgebung.

OpenShift ist im Grunde eine Container-Orchestrierung – du musst mit OpenShift vertraut sein, wenn du die Bereitstellung all der kleinen Microservices automatisieren möchtest, die du (oder jemand anderes in deinem Team) erstellst.

Ein wirkungsvolles Full-Stack-Portfolio

Wenn du neu in der Softwareentwicklungsszene bist, benötigst du eine Art Portfolio. Anstatt mehrere einzelne Teile zu erstellen, die deine Fähigkeiten kaum zur Geltung bringen, fasse lieber alles was du kannst in einem größeres Projekt zusammen.

Es geht darum, einen Halo-Effekt um deine Anwendung herum zu erzeugen, wenn sie nach demselben Job gegen andere Entwickler gepitcht wird. Betrachte es so: Wen würdest du einstellen? Person A, die 12 einfache Projekte hat die jeder machen kann, oder Person B, die ein riesiges Projekt hat, das Tiefe und Können zeigt? Mache also etwas Großes!

Dies ist nur eine Anleitung. Es gibt 101 verschiedene Möglichkeiten, sich als Full-Stack-Entwickler zu vermarkten. Diese Fähigkeiten geben dir jedoch die Tiefe und Breite, die du benötigst, um ein hocheffektiver Full-Stack-Entwickler zu werden. Jeder kann heutzutage eine App in die Cloud stellen. Wenn du aber diese Fähigkeiten beherrschst, kannst du dich von der Masse abheben.