Suche
Code-Overload

Welche Sprachen braucht man, um ein Spitzenentwickler zu sein?

Henri Dubois-Ferriere

© Shutterstock.com/Vector3D

Die Liste der heutzutage zur Verfügung stehenden Sprachen ist ellenlang – und zu jeder gehört eine Vielzahl von Tools und Plattformen, die sich wiederum in verschiedenen Stadien der Adoption befinden. Die Sprachenlandschaft hat sich maßgeblich verändert – was Fluch und Segen zugleich ist.

Es war einmal … eine Zeit, in der es recht einfach war zu sagen, welche Sprachen ein Entwickler kennen muss. Oftmals reichte es, sich lediglich mit ein bis zwei Sprachen auszukennen. In den heutigen, dynamischen und datengetriebenen Web-Klimata fällt es hingegen schwer, mit den Veränderungen Schritt zu halten, vor allem wegen ihres stetig zunehmenden Tempos. Wie viele Sprachen benötigt ein Entwickler also heutzutage, um erfolgreich bleiben zu können? Und welche Programmierkenntnisse wünschen sich Unternehmen von ihren potentiellen Mitarbeitern?

Was gehört dazu, ein guter Entwickler zu sein?

Die offensichtlichste Antwort lautet: Die Sprachen, die man lernt, hängen davon ab, welche Art von Entwickler man sein möchte. Wollen Sie ein Front-End-Entwickler sein? Dann sollten Sie sich mit HTML, CSS und JavaScript auskennen. Oder doch lieber Back-End? In diesem Fall brauchen Sie Java, Ruby oder Python. System-Entwickler hingegen sollten sich eher auf C und C++ konzentrieren. Und das ist nur ein kleiner Teil der Liste.

Zudem ist es wichtig, die Karriere eines Entwicklers auf andere Weise zu betrachten, als dies für den Großteil der anderen Jobs auf dem Markt gilt. Zumeist werden potentielle Kandidaten anhand der Dauer ihrer Arbeitserfahrung bewertet. In der Entwicklerwelt hingegen kann jemand mit 20 Jahren Erfahrung in einer einzelnen Sprache als deutlich weniger wertvoll eingestuft werden als jemand, der zwar deutlich weniger Jahre Berufserfahrung vorzuweisen hat, dafür aber über Kenntnisse in mehreren Sprachen verfügt. Denn letzterer ist potentiell anpassungsfähiger an das heutige Klima des raschen Wachstums und Wandels.

Lesen Sie auch: Programmiertalent – gibt es das überhaupt?

Die äußerst lesenswerte Abhandlung „The Structure and Interpretation of the Computer Science Curriculum“ schlägt vor, dass Studenten sich im ersten Jahr mit zwei Sprachtypen vertraut machen sollten: Ein erstes Seminar sollte sich der Vermittlung einer einfachen funktionalen Sprache widmen (die Verfasser empfehlen Scheme), ein zweites hingegen eine komplexe objektorientierte Sprache angehen (vorzugsweise eine im Berufsleben gut nutzbare wie C# oder Java).

Diese Methode basiert auf der Idee, Sprachen aus fundamental verschiedenen Kategorien zu erlernen – statt mehrere Sprachen innerhalb einer einzigen Kategorie (die sich alle sehr ähneln). Sobald diese zwei Sprachtypen gemeistert wurden, sollte sich die Erlernung weiterer etwas einfacher gestalten, da viele der Konzepte – zumindest auf einem hohen Level – nunmehr vertraut sind. Doch Sprachgewandtheit ist erst der Anfang.

Was gehört dazu, ein Spitzenentwickler zu sein?

Die Kenntnis mehrerer Sprachen, die verschiedene Lösungsmöglichkeiten eröffnen, bildet ein solides Fundament für eine vielversprechende und profitable Karriere. Das, was einen wirklich überragenden Entwickler ausmacht, geht jedoch weit darüber hinaus. Zu den Fähigkeiten eines Spitzenentwicklers zählt nicht nur eine Kenntnis der Sprache, mit der er arbeitet, sondern auch ein Verständnis für das jeweilige Unternehmen bzw. Projekt. Ein solches höheres Denkniveau versetzt einen in die Lage, Fragen à la „Sollte ich eine neue Sprache verwenden? Würde das dem Unternehmen helfen? Würden meine Kollegen sie auch annehmen?“ zu stellen.

Achten Sie darauf, alle Facetten und all jene Probleme, die in ihren Tools behoben werden müssen, zu berücksichtigen. Versäumen Sie zudem nicht, sich auf all die unvorhergesehenen Dinge, die zweifellos eintreten werden, vorzubereiten. Bereits existierende Sprachen mögen zwar all Ihre Bedürfnisse befriedigen – was großartig ist –, doch in zunehmendem Maße erschaffen Projekte und Teams eingebettete DSLs, um im Endeffekt maßgeschneiderte, spezialisierte „Mini-Sprachen“ innerhalb einer existierenden zu schaffen.

Lesen Sie auch: Was ist der Unterschied zwischen einem Junior- und einem Senior-Entwickler?

Auch eine proaktive Rolle innerhalb Ihres Teams bietet sich an. Denken Sie darüber nach, welche Tools erforderlich sind, um ihre Organisation analytisch aufschlussreich und reibungslos zum Erfolg zu führen. Sie müssen verstehen, wie Ihre Mitentwickler denken; wie sie für verschiedene Plattformen entwickeln. Auf diesem Weg können Sie daran mitwirken, Tools zu erstellen, die sowohl Ihr eigenes Leben als auch das Ihrer Kollegen erleichtern.

Des Weiteren denkt ein sehr guter Entwickler zunächst über das Problem und die Ziele nach, bevor er überlegt, welche die beste Sprache ist und wie diese zur Realisierung der bestmöglichen Lösung genutzt werden kann. Bei Jut haben wir diesen Ansatz auf die Spitze getrieben, indem wir mit Juttle eine Sprache entworfen haben, die speziell für die Stream-Verarbeitung gedacht ist.

Unsere User hatten spezielle Bedürfnisse im Bereich der Analyse von Betriebsdaten (Logs, Metriken, Events). Eine etablierte Sprache zur einfachen Definierung der Datenfluss-Berechnung in diesem Framework existierte nicht. Anstatt eine API oder DSL innerhalb einer existierenden Sprache bereitzustellen, entschieden wir uns für eine zweckgerichtete Speziallösung. Da Juttle eine imperative (Datenfluss-)Sprache ist, die an JavaScript oder UNIX-Pipe-Befehle erinnert, gingen wir davon aus, dass die User den Dreh schnell genug heraus haben dürften, um sie sinnvoll einsetzen zu können und den Aufwand des Erlernens zu rechtfertigen.

Fazit

Im Grunde läuft alles Genannte auf eine Sache hinaus: Um ein wirklich guter Entwickler zu sein, kommt es nicht darauf an, sich in dieser oder jener speziellen Sprache auszukennen. Die Technologie entwickelt sich mittlerweile in wöchentlichen Abständen weiter. Bis man zu einem Experten in einer bestimmten Technologie geworden ist, ist sie möglicherweise schon wieder obsolet.

Zwar wird es einen stetigen Zustrom neuer Sprachen geben. Wenn er erst einmal mit den Grundlagen vertraut ist, wird ein guter Entwickler sie jedoch lediglich als Mittel zum Zweck betrachten: Als Werkzeug, dass ihm dabei hilft, seine Arbeit besser zu erledigen, sein Unternehmen voranzubringen und großartige Produkte zu erschaffen.

Aufmacherbild: Vector Cartoon Confuse Businessman von Shutterstock.com / Urheberrecht: Vector3D

Verwandte Themen:

Geschrieben von
Henri Dubois-Ferriere

Henri Dubois-Ferriere is Director of Technology at Jut, an operations data hub based in San Francisco, as well as a regular author on ReasearchGate.

Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: