Sammeln Sie Erfahrung!

Was ist der Unterschied zwischen einem Junior- und einem Senior-Entwickler?

Natali Vlatko

© Shutterstock.com/Firma V

Sind Sie ein Junior- oder ein Senior-Entwickler? Oder liegen Sie irgendwo dazwischen? Beziehungsweise: Woher wissen Sie überhaupt, wo Sie sich einzuordnen haben? Der Artikel untersucht, in welchen Belangen sich die verschiedenen „Kategorien“ unterscheiden und welche Rolle die Erfahrung bei der Festlegung der Position und der Zuständigkeitsbereiche eines Entwicklers spielt.

Unternehmen, die groß genug sind, um überhaupt eine solche Unterscheidung vorzunehmen, suchen häufig nach Junior- oder Senior-Entwicklern. Die Kategorien unterscheiden sich dabei durch die Erfahrung der jeweiligen Programmierer. Allerdings sind diese Definitionen nicht in Stein gemeißelt, denn: Je nach Arbeitsumgebung sind sie offen für Interpretationen. Eine maßgebliche Autorität, die eine entsprechende Einstufung vornehmen könnte, existiert nicht. Allerdings haben sich schon einige auf vielfältigste Weise daran versucht, die für die jeweilige Kategorie notwendige Erfahrung bzw. das notwendige Wissen abzustecken.

Sijin Joseph, Chief Software Architect bei Cegment Inc., entwickelte beispielsweise die sog. Programmer Competency Matrix, die Entwicklern und Arbeitgebern gleichermaßen ein Messsystem für die verschiedenen Erfahrungsstufen an die Hand gibt. Die Matrix deckt dabei alle nur denkbaren Facetten der Informatik, Softwaretechnik und Programmierung ab und skizziert somit verschiedene Ebenen kumulierten Wissens.

Das Dreyfus Model of Skill Acquisition existiert bereits seit 1980 und dient der Einordnung von Schülern/Studenten in eine von fünf Kompetenzstufen, die im Rahmen formalen Unterrichts bzw. formaler Übungen erworben werden: „Neuling“, „fortgeschrittener Anfänger“, „Kompetenter“, „Gewandter“ und schließlich „Experte“. Das Modell wurde in einigen Fällen auch schon dazu genutzt, das von Programmierern erreichbare Expertenwissen in Stufen einzuteilen und zu beschreiben.

Worauf beide hinweisen: Die Erfahrung spielt in den Augen der Personaler zwar eine große Rolle, entscheidend ist jedoch, welcher Art diese Erfahrung ist.

Was es heißt, ein Junior-Entwickler zu sein

Die Frage nach dem Erfahrungsunterschied zwischen Junior- und Senior-Entwicklern war und ist auch ein Thema auf StackOverflow, Quora, Hacker News, sowie in den Ars Technica-Foren – immerhin alles Anlaufstellen für Programmierer, die auf der Suche nach Hilfe beim Knacken der härteren Nüsse des Jobs sind.

Als Junior-Entwickler gilt demnach – grob gesagt – wer weniger als 2 bis 3 Jahre Erfahrung in einer gegebenen Technologie mitbringt. Bezüglich der Wichtigkeit der Definition im Hinblick auf verschiedene Fachgebiete bringt der Blogger Duane Nickull ein gutes Argument vor:

A developer may be considered “senior” with respect to the .NET development platform while at the same time be considered “junior” at HTML5 and some of the more recent related technologies.

Ein Junior-Entwickler zu sein impliziert auch, dass die meisten Aufgaben überwacht bzw. kontrolliert werden: Man erhält die am wenigsten komplexen Aufträge zugewiesen, während sich die Senior-Entwickler mit der Supervision oder dem Aufpäppeln der nächsten Entwicklergeneration beschäftigen. Der Kundenkontakt oder das Sammeln von Produktanforderungen steht für Junior-Entwickler gewöhnlich nicht auf der Tagesordnung.

Was erwarten Unternehmen von einem Senior-Entwickler?

Die Senior-Entwickler finden sich im Grunde am anderen Ende des Spektrums. Als Experte für einen bestimmten Technolgie-Stack sind sie für das Mentoring der Junior-Teammitglieder zuständig, während sie gleichzeitig in der Lage sind, innerhalb der vorgegebenen Deadlines ein funktionierendes Produkt abzuliefern.

Abhängig vom jeweiligen Arbeitsplatz können sie auch als Projektleiter, von denen erwartet wird, einen Beitrag zu Architekturfragen zu leisten, betrachtet werden. Unter Umständen ist auch die Entwicklung von Lösungen Teil ihres Repertoires; die entsprechenden Vorschläge bedürfen allerdings noch einer Analyse und Genehmigung, bevor sie umgesetzt werden.

Die Fehlerbehebung ist für Senior-Entwickler schon fast so etwas wie ein Sport. Immerhin haben sie Jahre damit zugebracht, die gleichen Probleme, auf die die Junior-Entwickler stoßen, auszumerzen – und wissen deshalb ganz genau, wo sie suchen müssen. Ihre langjährige Erfahrung wird in der Regel im zweistelligen Bereich gemessen.

Gibt es eine Zwischenstufe?

Die Bezeichnung als „Intermediate-Entwickler“ bietet ihm Hinblick auf die Definition und die potentiell getragene Verantwortung den größten Spielraum. Folgt man den Ausführungen des StackOverflow-Mitglieds HLGEM, so fallen recht viele Programmierer unter diese Kategorie:

They have more than two years experience and generally less than ten, although some can stay at this level their whole careers.

Entwickler auf diesem Erfahrungslevel sind sowohl fähig, auf sich allein gestellt produktiv zu sein, als auch in der Lage, abzuschätzen, wann sie sich nach Hilfe umsehen müssen. Vor diesem Hintergrund könnte man HLGEMs Aussage, dass manche Entwickler sich nie über dieses Stadium hinaus entwickeln, auch so deuten, dass diese sich schlicht in ihrem Habitus eingerichtet und keine Lust auf Veränderungen haben.

Ein in den zahllosen Definitionen immer wieder auftauchender Punkt ist, dass Entwickler sich bewusst machen müssen, was bzw. wie viel sie tatsächlich wissen. Man könnte also sagen, dass ein Intermediate-Entwickler genug gelernt hat, um zu wissen, was er (noch) nicht weiß, wohingegen einem Junior-Entwickler ein derartiges Bewusstsein gewöhnlicherweise abgeht.

Nichts ist in Stein gemeißelt

Personaler sind nicht ganz zu unrecht dafür bekannt, bestimmte Schlagworte zu verwenden, um die Merkmale, die ein Bewerber aufweisen soll, zu definieren. Dabei könnte ein Kandidat, der in dem einen Unternehmen als Senior-Entwickler durchgeht, im nächsten als der ideale Junior-Entwickler betrachtet werden – die Definition ist also abhängig vom jeweiligen Arbeitsumfeld.

Metriken und Messsysteme können zwar bis zu einem gewissen Grad nützlich sein. Allerdings legen sie für jede Wissenkategorie gewisse Idealwerte fest, die in der Realität vermutlich kaum alle zu erfüllen sind.

Stimmen Sie dem zu? Teilen Sie uns Ihre Gedanken für bzw. wider der Kategorisierung von Entwicklern in den Kommentaren mit!

Aufmacherbild: boy is looking stupefying in to the computermonitor von Shutterstock / Urheberrecht: Firma V

Verwandte Themen:

Geschrieben von
Natali Vlatko
Natali Vlatko
An Australian who now calls Berlin home, via a two year love affair with Singapore. Natali was an Editorial Assistant for JAXenter.com (S&S Media Group).
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: