Das Wissensportal für IT-Professionals. Entdecke die Tiefe und Breite unseres IT-Contents in exklusiven Themenchannels und Magazinmarken.

SIGS DATACOM GmbH

Lindlaustraße 2c, 53842 Troisdorf

Tel: +49 (0)2241/2341-100

kundenservice@sigs-datacom.de

Diese Skills benötigen Entwickler heute

In der IT ist es nicht nötig, jedem Hype um neue Arbeitsmethoden oder Technologien hinterherzurennen. Trotzdem sollten Entwicklerinnen und Entwickler up to date bleiben, wenn es um ihre Fähigkeiten geht: Ein Set aus technischen, organisatorischen und kommunikativen Skills sichert nachhaltig den Erfolg in der schnelllebigen Tech-Branche.

  • 24.03.2023
  • Lesezeit: 6 Minuten
  • 135 Views

Ob Business oder Privatleben: Wohin man auch blickt, Software bestimmt unseren Alltag – so sehr, dass das Statement „Software is eating the world“ schon lange nicht mehr akkurat ist. Eigentlich müsste es lauten: „Software has swallowed the world whole“. Kein Wunder also, dass die Nachfrage nach technologisch versiertem Personal – insbesondere nach Entwicklern – geradezu explodiert.

Für Coder ist dieser Umstand natürlich vorteilhaft. Doch die immer komplexeren IT-Umgebungen, die heute in Unternehmen zum Einsatz kommen, erfordern von Entwicklerinnen und Entwicklern mehr als nur reine Programmiersprachenkenntnisse: Um ihren Erfolg nachhaltig zu sichern, müssen sie ihr Ohr am Puls der Zeit halten und kontinuierlich neue Kompetenzen erlernen, denn eine Wahrheit ist unumstößlich: Die IT wandelt sich stetig. Für Coder ist es obligatorisch, sich einen guten Filter dafür anzutrainieren, Wichtiges von Unwichtigem zu unterscheiden. So gibt es immer wieder Vordenker, die Hypes auslösen, zum Beispiel rund um produktivere Arbeitsmethoden. Andere kreative Köpfe erschaffen hingegen neue Technologien, die sich anschicken, die Branche zu revolutionieren. Es ist für Entwicklerinnen und Entwickler daher umso entscheidender zu wissen, worauf es wirklich ankommt.

Erfolg fußt auf einem starken Wissensfundament

Der erste Punkt auf der langen Liste von hilfreichen oder in diesem Fall notwendigen Fähigkeiten ist, ein möglichst umfangreiches Informatik-Basiswissen anzuhäufen. Vor allem der sichere Umgang mit Algorithmen und Datenstrukturen ist essenziell. Überdies sollten Entwicklerinnen und Entwickler sich auch mit der Datenmodellierung vertraut machen. Der Architekturansatz Domain-Driven Design und das Saga-Pattern für die Orchestrierung von Business-Prozessen in Microservices-Landschaften runden den Wissensschatz von IT-Experten ab. Gerade für Berufseinsteiger ist es überdies sicher nicht verkehrt, auch die Grundlagen objektorientierter Programmierung (unter Einsatz geeigneter Entwurfsmuster) zu erlernen.

Zum kleinen Coding-Einmaleins gehört zudem ein tiefes Architekturverständnis. In der Anwendungsentwicklung existieren zwei maßgebliche Stile: Monolithen und Microservices. Früher hatten Apps in der Regel einen monolithischen Aufbau, bei dem die Programmierer die gesamte Funktionalität in einer Code-Basis definieren. Mit der Komplexität einer Anwendung steigt auch die Unhandlichkeit eines Monolithen, weshalb sich Microservices-Architekturen in der modernen Entwicklung immer mehr durchsetzen.

Auf die Theorie folgt die Praxis

Cloud-native Entwicklung ist mittlerweile der Standard und entsprechende Anwendungen, beziehungsweise deren Microservices, sind in der Regel in Container verpackt. Aber auch die lokale Softwareentwicklung profitiert von ihnen, denn sie sorgen dafür, dass die Anwendung auf jedem System gleichermaßen funktioniert – im Zweifel auch hybrid. Dafür sind Tools wie Docker und Kubernetes hilfreich, die Entwicklerinnen und Entwickler unbedingt kennen sollten.

Docker ist das am weitesten verbreitete Tool, um Container zu erstellen und zu verwalten. Kubernetes (K8s) hingegen bietet umfangreiche Funktionen für die Orchestrierung von Containern und avanciert immer mehr zum „Betriebssystem in der Cloud“. Leider ist K8s sehr komplex, weshalb viele Cloud-Provider Managed Kubernetes auf ihrer Plattform anbieten. Wer sich allerdings gut mit dem Orchestrierungstool auskennt, hat definitiv einen gewaltigen Vorsprung vor der Konkurrenz.

Das Ökosystem von Cloud- und Container-Software ist umfangreich, weshalb es schwierig sein kann, den Überblick zu behalten. Viele Standard-Werkzeuge sind allerdings nicht nur quelloffen, sondern auch dank großzügiger Spenden von Unternehmen, Organisationen und Einzelpersonen Teil der Cloud Native Computing Foundation. Auf deren Webseite finden Entwicklerinnen und Entwickler alle Tools, die sie für das Cloud-native Zeitalter benötigen.

Die Kompetenz in zwei weiteren Gebieten gehört ebenfalls in den Werkzeugkasten: Sicherheit und Testing. Weder ausführliche Tests noch die Sicherheit dürfen in der Softwareentwicklung zweitrangig sein. Um das zu verhindern, eignet sich zum Beispiel Test-driven Development, bei dem Coder die (Sicherheits-)Tests für neue Komponenten noch vor den neuen Funktionen erstellen. Und da Künstliche Intelligenz und Machine Learning in Zukunft immer größeren Stellenwert bekommen, sollten Entwickler ihr praktisches Wissen auch in diesem Bereich ausbauen – das geht schon jetzt. Gute Startpunkte sind – neben der Programmiersprache Python – Frameworks wie TensorFlow und Keras.

Bitte die Softskills nicht vergessen

Abb. 1: Die Skill-Checkliste für Entwickler: Mit diesen Fähigkeiten ist Erfolg im Beruf garantiert. (Quelle: Consol)

Die Frage nach dem „Wie“ bezieht sich in der Softwareentwicklung nicht nur auf die technologische Expertise. Saßen Coder früher allein im Keller oder in einem sogenannten „Cubicle“, also an einem winzigen abgetrennten Arbeitsplatz im Großraumbüro, ist heute auch beim Programmieren Teamwork angesagt. Agile Softwareentwicklung hat sich in vielen Unternehmen als De-facto-Standard etabliert. Das Set an Methoden des transparenten Ansatzes ist ebenso umfangreich wie die Framework- und Tool-Landschaft. Zu ihm gehören zum Beispiel Daily Stand-ups, die das Team nutzt, um Fortschritte und Aufgaben des Tages zu besprechen.

Auch Retrospektiven sind ein zentraler Aspekt agiler Softwareentwicklung. Darunter verstehen Experten gemeinsame Analysen, was in einem Projekt bereits gut läuft und wo gegebenenfalls noch Verbesserungspotenzial verborgen liegt. Diese Maßnahmen dienen der Beschleunigung sowie Optimierung des Entwicklungsprozesses und der nachhaltigen Verringerung von Fehlern und Sicherheitslücken. Sie ermöglichen es Unternehmen somit, qualitativ hochwertige Software schneller zu deployen.

In der heutigen Arbeitswelt gehört Kommunikation zu den Grundvoraussetzungen. Dennoch schadet es insbesondere als Freelancer oder IT-Dienstleister nicht, die eigenen Fähigkeiten in diesem Bereich zu trainieren und zu schärfen. Entwicklerinnen und Entwickler müssen heutzutage fähig sein, Kunden und Mitarbeitern vor allem im Management Sachverhalte klar und verständlich zu erklären. So banal es auch klingen mag, gutes Englisch ist dafür oft unablässig, um eine Sprachbarriere gar nicht erst zuzulassen. Die Wünsche von verschiedenen Stakeholdern zu verstehen, sie in technische Anforderungen zu übersetzen und schließlich in Code zu schmieden, ist eine unentbehrliche Kompetenz – und gleichzeitig oft der schwierigste Teil des Entwicklerlebens.

Karrierebooster: GitHub und StackOverflow

Zum Abschluss noch ein Karrieretipp: Auch in der Softwareentwicklung haben soziale Netzwerke einen immensen Einfluss, wenn es um die berufliche Entwicklung geht. Plattformen wie Git-Hub und StackOverflow sind nicht nur gute Anlaufstellen, um sich neues Wissen anzueignen oder seine eigenen Projekte der Öffentlichkeit zu präsentieren. Der Community-Aspekt lädt überdies dazu ein, anderen zu helfen und so zusätzlich die eigene Fachkompetenz zu beweisen. Eine solche „Visitenkarte“ steigert die Sichtbarkeit und kann im Bewerbungsvorgang um eine neue Stelle einen immensen Vorteil bringen. Zudem eröffnen diese Plattformen Quereinsteigern die Möglichkeit, überhaupt in der Branche fußzufassen.

. . .
Vorheriger Artikel
Mehr als ein Jahr ChatGPT
Nächster Artikel
Kostenfalle Cloud-Datenbanken?

Author Image
Zu Inhalten
Dr. Christoph Ehlers ist Leiter DevOps bei ConSol. Als Projektleiter, agiler Coach und Softwarearchitekt sorgt er für den erfolgreichen Abschluss von IT-Projekten. Nach dem Studium der Informatik an der Universität Passau, wo er auch promovierte, fand Christoph Ehlers vor mehr als sieben Jahren den Weg zu ConSol. Sein besonderes Interesse gilt der Software-Architektur und Datenbanken.

Artikel teilen

Nächster Artikel
Kostenfalle Cloud-Datenbanken?