Und was machen die Entwickler? – Praktikumswoche 5

Ihr habt die Möglichkeit mir wöchentlich in meiner Kolumne durch mein Praktikum zu folgen und erfahrt was ich in der jeweils vergangen Woche bei bold ventures so gelernt habe.
Jetzt ist schon mehr als die Hälfte meines Praktikums hier bei bold ventures um und ich hab auch echt schon eine ganze Menge gelernt. Bis letzte Woche habe ich mich hauptsächlich mit der SEO-Thematik befasst, dabei ist der Teil der Software-Entwicklung ist bisher eindeutig zu kurz gekommen.

Bold ventures bietet die Entwicklung von Websites und Portalen an, dabei handelt es sich meistens um die Systeme, die sich hinter einer Webseite verstecken, auf denen der Nutzer z.B. die Möglichkeit hat, eine Suche nach bestimmten Kriterien zu starten oder Filter auf seine Suche anzuwenden. Ein Beispiel wären Webseiten, die Bekleidung anbieten: Dort hat man meist die Möglichkeit, wenn man einem Mantel haben möchte seine Suche nach Farbe, Größe, Material und dem Betrag, den man maximal ausgeben möchte, einzugrenzen.
Je nach Webseite hat der Nutzer verschiedene Anforderungen, um die Seite optimal nutzen zu können, dementsprechend sind die Anforderungen ans System, das dahinter liegt, auch immer unterschiedlich und müssen spezifisch entwickelt werden.

Entwickler ist nicht gleich Entwickler

Dass man die Entwickler hier bei bold ventures auf keinen Fall als Nerds abstempeln kann und dass die tägliche Arbeit im Software-Bereich hier spannender ist, als erwartet, habe ich ganz schnell gemerkt. Aber was genau hinter den Bildschirmen hier so passiert kann ich mir dennoch nicht so richtig vorstellen.
Es fällt aber scheinbar nicht nur mir schwer das Berufsfeld des „Entwicklers“ richtig einzuordnen. Selbst Wikipedia sagt zum Software-Entwickler, dass der Begriff nicht scharf definiert werden kann und zählt dann etliche Berufsformen auf. Da gibt es Back- und Frontendentwickler, Datenbank-Entwickler, Mobile-Entwickler und und und (besonders nett fand ich bei meiner Recherche den Softwarearchäologen, der in meinem Kopf nach Urzeit-Tieren im Internet forscht).

Unterschiede zwischen Front- und Backend-Entwicklern

Da es bei bold ventures hauptsächlich Front- und Backend-Entwickler gibt, möchte ich mich erstmal darauf konzentrieren. Wer aus dem Team wofür zuständig ist, könnt ihr im Beitrag zu meiner 2. Praktikumswoche nachlesen.
Bei der Frontend-Entwicklung dreht sich alles um das Screendesign und die Nutzerfreundlichkeit, also alles was der Nutzer einer Webseite später sehen und benutzen kann.
In der Backend-Entwicklung geht es dann schon tiefer in die Systeme, hier geht es um Datenbanken, Schnittstellen und die Systeme, die hinter einer Webseite liegen.
Bei bold ventures haben die meisten Entwickler besondere Fachgebiete oder Zusatzqualifikationen in bestimmten Bereichen, so dass ein Großteil aller möglichen Anforderungen im Team abgedeckt werden.
Am Ende stehen dann noch Software-Tester, die dafür zuständig sind die Seiten später auf ihre Funktionalität zu überprüfen. Dieser Vorgang kann sowohl manuell, als auch durch die Erstellung geeigneter Programme passieren.

In den ersten Tagen hier habe ich mich echt gewundert, denn was hier über die Bildschirme flackert sieht wirklich aus wie im Film. Grüne Codes auf schwarzen Hintergründen, die Dinge bewirken, die man sich als Außenstehender absolut nicht vorstellen kann.

Aber was genau passiert da eigentlich?

Die grünen oder häufig auch bunten Codes, die man auf den Bildschirmen sieht, sind der so genannte Quelltext. Alles was hier verändert wird, hat später eine Auswirkung auf das Endprodukt. Als Laie kann man diesen Quelltext meist nicht verstehen, weil dieser in so genannten Programmiersprachen geschrieben wird, also einfach gesagt einer Sprache, in der der Entwickler mit dem Computer kommunizieren und dem System Anweisungen geben kann. Programmiersprachen gibt es einige, manche erfüllen ähnliche Zwecke, manche sind für ganz unterschiedliche Bereiche geeignet. Im Frontend wird zum Beispiel häufig mit JavaScript programmiert, im Backend eher mit Sprachen wie PHP, C++ oder wie hier bei bold ventures Java.

Und wie funktioniert die Praxis?

An einem Projekt arbeiten mehrere Entwickler an unterschiedlichen Funktionen (Features). Um das überhaupt möglich zu machen, wird bei bold ventures eine Versionsverwaltung angewendet, wodurch die Features unabhängig voneinander entwickelt werden können. Um das verstehen zu können sollte man erstmal ein paar Vokabeln klären:

Am Anfang steht der Master, quasi die Grundlage an der weiter gearbeitet wird. Um diesen Master in einer Art Urzustand zu lassen, kopieren die Entwickler diesen Master, sie erstellen einen Development Branch. Branchen kann man also mit kopieren oder klonen übersetzen.
Um dann nochmal auf Nummer sicher zu gehen, erstellt der Entwickler einen weiteren Branch, an dem er dann arbeitet, einen so genannten Feature Branch. Die einzelnen Arbeitsschritte die nun am Quelltext vorgenommen werden nennen sich Commits, also jede Änderung entspricht einem Commit. Ist der Entwickler nun fertig mit seiner Arbeit am Feature Branch, merged er seinen Arbeitsstand in den Development Branch, das heißt er fügt seinen Arbeitsstand in die Kopie des Masters ein. Wenn nun alles in Ordnung ist und die gesamte Arbeit abgeschlossen ist, kann der fertige Stand in den Master gemerged werden und dieser wird dann deployed, was man mit veröffentlichen oder publizieren erklären könnte.

In Fällen, wo z.B. ein Fehler, also ein Bug auftritt, gibt es auch die Möglichkeit einen kürzeren Weg zu gehen. Der Entwickler erstellt auf direkten Wege Hotfix Branch vom Master, löst das bestehende Problem und merged den fehlerfreien Arbeitsstand dann direkt wieder in den Master.

Ich hab mal versucht anhand einer Grafik zu erklären, in welcher Reihenfolge diese Arbeitsschritte notwendig sind, um auf ein gemeinsames Ergebnis zu kommen, obwohl mehrere Entwickler gleichzeitig an verschiedenen Stellen gearbeitet haben.

Wirklich nicht einfach zu verstehen

Wenn man sich eine Zeit lange damit beschäftigt, denkt man irgendwann, dass man zumindest den Arbeitsablauf jetzt verstanden hat, leider kommt aber auch immer wieder der Punkt, wo man einsehen muss, dass so ein komplexes Gebilde nicht so schnell zu durchschauen ist. Auf jeden Fall habe ich wahnsinnigen Respekt davor, was hier täglich so geleistet wird.

Schreibt gerne mal in die Kommentare, ob dieser Artikel euch das Berufsfeld des Entwicklers ein bisschen näher gebracht hat.

Nächste Woche ist hier in Köln der absolute Ausnahmezustand, es ist Karneval. Passend zum Thema werde ich nächste Woche mal nachforschen, wie jeck man hier im Büro so ist und euch ein paar lustige Fakten zu Mitarbeitern und dem Büroalltag zusammenstellen.

Das könnte dir auch gefallen

Kommentar hinterlassen

Deine E-Mail Adresse wird nicht veröffentlicht.

Keine Kommentare vorhanden