Der Unterschied zwischen "Juni", "Mitte" und "Senior". Und was tun, um eine Ebene höher zu kommen?



Das Niveau des Entwicklers wird nicht unbedingt durch langjährige Programmiererfahrung bestimmt: „Juni“ ist möglicherweise älter als der „Senior“, alles hängt von den beruflichen Fähigkeiten ab. Dies bedeutet nicht, dass der Senior-Entwickler ein Spezialist für alles sein sollte, aber es kann mit Zuversicht gesagt werden, dass seine Fähigkeiten viel weiter entwickelt sind als die der Junior- und Intermediate-Entwickler.

Entwickler verschiedener Ebenen zeichnen sich jedoch nicht nur durch die Fähigkeit aus, tatsächlich zu programmieren. Was genau sind die Unterschiede?

Übersetzt nach Alconost

Wissen


Offensichtlich verfügt ein leitender Entwickler über viel umfangreichere Kenntnisse. Für einen Nachwuchsentwickler ist das Erlernen von Entwurfsmustern, Architektur, Testautomatisierung, Methoden zur Verbesserung der Produktivität und zur Gewährleistung der Sicherheit usw. eine hervorragende Möglichkeit, diese Wissenslücke zu schließen.

Es ist wichtig zu wissen, wie die Software erstellt werden soll. Aber all dies zu wissen bedeutet nicht, ein Entwickler auf höherer Ebene zu sein. Wissen ist kein wesentlicher Unterschied, sondern nur einer der Faktoren.


Fotos - Clem Onojeghuo , Unsplash

Programmierung


Trotz der Meinung der meisten normalen Leute spricht das Programmieren nicht mit einem Computer. Programmieren bedeutet , mit Menschen zu kommunizieren und Computern Anweisungen zu geben . Schließlich wird der Code schließlich kompiliert und in Nullen und Einsen umgewandelt.

Der Code sollte für diejenigen sinnvoll sein, die in Zukunft damit arbeiten werden. Das Team, das das Projekt für eine andere Person ausgewählt hat, sollte in der Lage sein, den Quellcode zu öffnen und an neuen Funktionen oder Fehlerkorrekturen zu arbeiten. Und hier liegt der wesentliche Unterschied zwischen dem „Juni“ und dem „Senior“.

Ich werde Entwickler auf mittlerer Ebene in diesem Vergleich nicht berücksichtigen, was die Programmierkenntnisse betrifft, stellen sie eine Art Übergangsbereich dar - eher näher an der Ebene der leitenden Entwickler. Grundsätzlich wird die "Zwischen" -Position durch Erfahrung bestimmt, da die "Mitte" in der Regel mindestens einmal den gesamten Entwicklungszyklus durchläuft, viele einfache Fehler macht und daraus lernt.

Wie berechnet man "Juni"


Jüngere Entwickler sind unerfahren: Manchmal sind sie Absolventen, die gerade erst anfangen, Vollzeit zu arbeiten. In ihrem Kopf besteht die Hauptaufgabe darin, den Code zum Laufen zu bringen. Wenn die Anwendung funktioniert, ist es gut.

Das Schreiben von einfachem Code ist eine schwierige Aufgabe. Und die jüngeren Entwickler sind dazu nicht in der Lage: Normalerweise ist ihr Code ziemlich eigenartig. Sie erkennen sie an bizarren Einzeilern und übermäßig komplexen Abstraktionen - so bemühen sich die "Jones", sich zu zeigen und anderen verständlich zu machen, wie gut sie programmieren können. Dies ist jedoch der falsche Ansatz.

Junior-Entwickler konzentrieren sich auf den Teil „Computer“ des Codes und übersehen den Teil „Mensch“.

Wie schreibe ich den Code "Senioren"


Wenn Sie sich den Code eines erfahrenen Entwicklers ansehen, denken Sie vielleicht: Ist das alles? Wo ist der Rest? Ein ziemlich erfahrener Entwickler schreibt einfachen, verständlichen und möglicherweise sogar zu einfachen Code - und dies ist eine der wichtigsten Eigenschaften beim Programmieren. "Senior" folgt dem KISS-Prinzip, das besagt, dass der Code einfach und klar sein sollte: "Halte es einfach, dumm"

Daher verfolgt der leitende Entwickler beim Schreiben von Code einen völlig anderen Ansatz: Er berücksichtigt den Komfort weiterer Unterstützung und Skalierbarkeit. Dies unterscheidet sich grundlegend vom Denken des Junior-Entwicklers: Der "Senior" denkt an diejenigen, die mit dem Code arbeiten, und der "Juni" ist in erster Linie wichtig, damit der Code funktioniert.

Ich programmiere keinen


Neben den Programmierkenntnissen gibt es noch andere Faktoren, die Aufschluss darüber geben, welche Art von Entwickler vor Ihnen steht.

Nachwuchsentwickler erledigen in der Regel die einfachsten und wichtigsten Aufgaben; Sie entwickeln keine Architektur. Entwickler auf mittlerer Ebene entwickeln ebenfalls keine Lösungen, sondern führen lediglich Aufgaben aus, sind jedoch weniger kontrolliert - wenn die Aufgabe recht typisch ist. Aber die "Senioren" können die Anwendung völlig unabhängig entwickeln.

Dies bedeutet nicht, dass der Senior-Entwickler unterwegs keine Fragen hat: Jeder von uns hat jeden Tag viele Fragen, und die "Senioren" sind keine Ausnahme.

Der Unterschied besteht darin, dass letztere wissen, wie sie die richtigen Fragen stellen und was sie mit den erhaltenen Antworten tun sollen. Weniger erfahrene Entwickler können die richtigen Fragen stellen, wenn es um ihre üblichen Aufgaben geht, aber in komplexeren Fällen müssen sie Hilfe suchen.

Ein leitender Entwickler ist nie verloren und weiß, wie er richtig handeln muss, nachdem er eine Antwort auf eine Frage erhalten hat. Dies bedeutet nicht, dass er andere nicht um Rat fragen wird - manchmal ist die beste Lösung, Hilfe von denen zu suchen, die mehr Erfahrung auf diesem Gebiet haben.

Ein mittelständischer Entwickler sollte auch in der Lage sein, die richtigen Fragen zu stellen, es sei denn, es ist eine sehr schwierige Aufgabe, die ein tiefes Wissen erfordert.

Im Falle des "Juni" sollte jedoch nicht erwartet werden, dass sie die richtigen Fragen stellen können: Sie haben nicht genug Übung, daher sollten sie von erfahreneren Kollegen geführt werden. Dem Nachwuchsentwickler sollten die notwendigen Ressourcen oder ein guter Schub in die richtige Richtung zur Verfügung gestellt werden.

Gehe zum nächsten Level


Wir alle wollen uns verbessern, auch beruflich. Aber welche Schritte können unternommen werden, um zum nächsten Level zu gelangen?

Von Juni bis Mitte


Anfänger haben nicht viel Erfahrung, daher ist es wichtig, den gesamten Entwicklungszyklus mindestens ein paar Mal zu durchlaufen. Auf diese Weise können Sie auf Ihrem Weg auf viele Fallen stoßen und lernen, diese zu vermeiden.

In Bezug auf die Programmierung sollten Sie lernen, wie man einfachen Code schreibt: Stellen Sie sich vor, dass eine andere Person nach Ihnen an dem Projekt arbeitet. Außerdem müssen Sie lernen, wie man debuggt - dies vertieft Ihr Verständnis dafür, was während des Programms passiert.

Sie müssen sich auch mit den Best Practices vertraut machen und mehr über Architektur, Leistung, Sicherheit usw. erfahren. Schließen Sie die Wissenslücke, die Sie von der mittleren Ebene trennt.

Von "Mitte" - bis "Senior"


Entwickler auf mittlerer Ebene können schwierig sein, höher zu kommen: Einige bleiben während ihrer gesamten Karriere auf diesem Niveau.

Der leitende Entwickler weiß, in welchen Fällen ein Kompromiss eingegangen werden kann und wann dies auf keinen Fall möglich ist - weil er es geschafft hat, ihn anhand seiner eigenen bitteren Erfahrung zu testen.

Um auf die "Senior" -Ebene zu gelangen, müssen Sie darauf vorbereitet sein, Aufgaben zu erledigen, für die niemand eine Ahnung hat, wie er sie angehen soll. Sie müssen wissen und in der Lage sein, mehr zu tun als nur Ihre Arbeit zu erledigen.

Darüber hinaus sollten Sie als leitender Entwickler den weniger erfahrenen helfen: Sie sind im Übrigen eine Lebensader, die Sie ergreifen können, wenn Sie nicht wissen, wie Sie etwas tun sollen.

Vor diesem Hintergrund ist es nicht verwunderlich, dass die "Senioren" ihren technischen Stack vollständig besitzen. Sie müssen nicht nur programmieren können, sondern auch alle Tools und Anwendungen kennen, die in dem Unternehmen verwendet werden, das Sie eingestellt hat.

Fazit


Der Unterschied zwischen „Juni“, „Mitte“ und „Senior“ liegt nicht nur in langjähriger Erfahrung. Ja, man kann mit Sicherheit sagen, dass letztere viel besser entwickelte Fähigkeiten haben als Junior- und Intermediate-Entwickler. Wissen ist jedoch nicht der wichtigste Faktor.

Erfahrene Entwickler schreiben einfacheren Code und gehen ihn anders an. Neben der Programmierbarkeit ist es auch sehr wichtig zu wissen, welche Fragen zu stellen sind und was mit den erhaltenen Antworten zu tun ist. Es ist der leitende Entwickler - diese Person, deren reiche Erfahrung es erlaubt, nicht verwirrt zu werden und in jeder Situation eine Lösung zu finden.

"Juni", um weiter zu wachsen, müssen Sie versuchen zu lernen, wie man einfachen Code schreibt und mehrere vollständige Entwicklungszyklen durchläuft. Um über den Durchschnitt zu steigen, müssen Sie sich darauf konzentrieren, mehr als nur die Routineaufgaben zur Fehlerbehebung zu lernen. Sie sollten bereit sein, die komplexesten Aufgaben zu übernehmen und Ihren technischen Stack vollständig zu beherrschen. Eine weitere Aufgabe eines erfahrenen Entwicklers ist es, weniger erfahrenen Menschen zu helfen.

Um Martin Fowler zu zitieren:

„Jeder Dummkopf kann Code schreiben, den ein Computer versteht. Ein guter Programmierer schreibt Code, den die Leute verstehen können. “

Über den Übersetzer

Der Artikel wurde von Alconost übersetzt.

Alconost lokalisiert Spiele , Anwendungen und Websites in 70 Sprachen. Native Übersetzer, Sprachtests, Cloud-Plattform mit API, kontinuierliche Lokalisierung, Projektmanager rund um die Uhr, jedes Format von Zeichenfolgenressourcen.

Wir machen auch Werbe- und Schulungsvideos - für Websites, die verkaufen, Image, Werbung, Schulung, Teaser, Expliner, Trailer für Google Play und den App Store.

Lesen Sie mehr

Source: https://habr.com/ru/post/de463755/


All Articles