Acht Fehler, die ich gemacht habe, als ich Junior war

Zu Beginn der Karriere eines Entwicklers ist es oft beängstigend: Unbekannte Probleme treten auf, es gibt viel zu lernen, und man muss schwierige Entscheidungen treffen. In einigen Fällen machen wir Fehler bei diesen Entscheidungen. Das ist völlig normal, und man sollte sich deswegen nicht quälen. Was man jedoch tun sollte, ist, seine Erfahrungen für die Zukunft zu speichern. Ich bin ein Senior-Entwickler, der zu seiner Zeit viele Fehler gemacht hat. Im Folgenden werde ich über die acht schwerwiegendsten davon sprechen, die ich gemacht habe, als ich noch ein Anfänger in der Entwicklung war, und erklären, wie man sie hätte vermeiden können.

Acht Fehler, die ich gemacht habe, als ich Junior war

Ich nahm das erste, was mir angeboten wurde

Wenn man lernt, selbst zu programmieren oder sein Studium an der Universität abschließt, wird es zu einem der Hauptziele, den ersten Job in seinem Fachbereich zu bekommen. So etwas wie das Licht am Ende eines langen Tunnels.

Doch einen Job zu finden, ist nicht einfach. Immer mehr Menschen bewerben sich um Junior-Stellen. Man muss einen beeindruckenden Lebenslauf erstellen, eine ganze Reihe von Vorstellungsgesprächen überstehen, und oft zieht sich der gesamte Prozess erheblich in die Länge. Angesichts all dessen ist es nicht verwunderlich, dass jedes Jobangebot den Wunsch weckt, es mit beiden Händen zu ergreifen.

Dennoch kann es eine schlechte Idee sein. Mein erster Job war alles andere als ideal, sowohl hinsichtlich des beruflichen Wachstums als auch des Vergnügens an der Arbeit. Die Entwickler folgten dem Motto "Das reicht schon", und es war nicht üblich, sich besonders zu bemühen. Alle versuchten, die Schuld aufeinander zu schieben, und ich musste oft Abkürzungen nehmen, um fristgerecht zu liefern. Aber das Schlimmste war, dass ich absolut nichts lärnte.

Bei Vorstellungsgesprächen ließ ich alle Warnsignale links liegen, so verzaubert war ich von der Aussicht, einen Job zu bekommen. Wenn irgendwelche Zweifel aufkamen, verschwanden sie sofort, sobald ich hörte, dass ich eingestellt werde! Und das noch zu einem guten Gehalt!

Und das war ein großer Fehler.

Die erste Arbeit ist von enormer Bedeutung. Sie vermittelt einen allgemeinen Eindruck davon, wie es ist, ein echter Programmierer zu sein, und die Erfahrungen und das Wissen, die Sie daraus gewinnen, können die Grundlage für Ihre gesamte zukünftige Karriere legen. Deshalb ist es wichtig, sich gut über die Stelle und den Arbeitgeber zu informieren, bevor man zusagt. Schmerzhafte Erfahrungen und schlechte Mentoren — das brauchen Sie auf keinen Fall.

  • Suchen Sie Informationen über das Unternehmen. Stöbern Sie auf Bewertungsseiten, besuchen Sie die offizielle Website, durchforsten Sie einfach das Internet und sammeln Sie Bewertungen. So verstehen Sie besser, ob das Unternehmen Ihren Bedürfnissen und Zielen entspricht.
  • Fragen Sie Bekannte. Wenn jemand aus Ihrem Bekanntenkreis bei diesem Arbeitgeber gearbeitet hat oder jemanden aus dem Team kennt, sprechen Sie persönlich mit ihnen. Finden Sie heraus, was ihnen gefallen hat, was nicht und wie sie ihre Erfahrungen insgesamt bewerten.

Habe die richtigen Fragen im Vorstellungsgespräch nicht gestellt.

Das Vorstellungsgespräch ist die beste Gelegenheit, das Unternehmen näher kennenzulernen, also bereiten Sie unbedingt Fragen vor, die Sie den Mitarbeitern stellen möchten. Hier einige Beispiele:

  • Fragen Sie nach dem Entwicklungsprozess (welchen Methoden folgen sie? Wird eine Code-Inspektion durchgeführt? Welche Branching-Strategien werden angewendet?)
  • Fragen Sie nach dem Testen (welche Tests werden durchgeführt? Gibt es spezielle Personen, die sich ausschließlich mit dem Testen befassen?)
  • Fragen Sie nach der Unternehmenskultur (wie informell ist alles? Gibt es Unterstützung für Junioren?)

Habe mich nicht auf einen Werdegang festgelegt.

Der Weg, ein erfahrener Entwickler zu werden, ist zweifellos sehr verschlungen. Heute gibt es die Möglichkeit, aus zahlreichen Programmiersprachen, Frameworks und Tools zu wählen. Mein Fehler am Anfang meiner Karriere war, dass ich versuchte, alles zu meistern. Komischerweise führte das nur dazu, dass ich in nichts wirklich vorankam. Zunächst griff ich zu Java, dann zu jQuery, dann wechselte ich zu C#, danach zu C++ ... Anstatt eine Sprache auszuwählen und all meine Kräfte darauf zu konzentrieren, hüpfte ich je nach Stimmung hin und her. Ich versichere Ihnen, das ist ein äußerst ineffektives Lernschema.

Ich hätte bessere Ergebnisse erzielt und wäre schneller in meiner Karriere vorangekommen, wenn ich mich von Anfang an auf einen bestimmten Weg, d.h. auf einen bestimmten Technologie-Stack, festgelegt und mich darauf konzentriert hätte. Wenn Sie beispielsweise Frontend-Entwickler sind, sollten Sie JavaScript, CSS/HTML und ein Framework Ihrer Wahl meistern. Wenn Sie sich mit Backend beschäftigen, nehmen Sie wieder eine Sprache und studieren Sie sie gründlich.

Fokussieren Sie sich also, legen Sie eine Richtung fest und erstellen Sie einen Plan, der es Ihnen ermöglicht, in dem gewählten Bereich ein Profi zu werden (hier ist eine Roadmap, die Ihnen dabei helfen kann).

Ich habe im Code herum experimentiert

Und so bereiten Sie ein Testprojekt vor, um Ihren Fähigkeiten potenziellen Arbeitgebern zu zeigen, oder haben bereits mit Ihrer ersten Aufgabe in Ihrem ersten Job begonnen. Sie geben Ihr Bestes, um einen Eindruck zu hinterlassen. Wie können Sie am sichersten Ergebnisse erzielen? Wahrscheinlich ist es am besten, während der Ausführung die ausgeklügelte Technik zu demonstrieren, die Sie kürzlich erlernt haben, oder?

Nein. Das ist ein schwerwiegender Fehler, den ich selbst gemacht habe, und den ich bei anderen Juniors viel zu oft sehe. Es ist sehr typisch für sie, das Rad neu zu erfinden oder komplexe Lösungen zu suchen, um mit ihrem Wissen zu glänzen.

Der beste Ansatz beim Schreiben von Code wird im KISS-Prinzipausgedrückt. Wenn Sie nach Einfachheit streben, erhalten Sie verständlichen Code, mit dem zukünftige Entwickler leicht arbeiten können (der Entwickler, der nach Ihnen kommt, wird das zu schätzen wissen).

Ich habe vergessen, dass es ein Leben außerhalb des Codes gibt

Nie „abschalten“ zu können – das ist eine schlechte Angewohnheit, die ich mir sehr früh angeeignet habe. Auf dem Weg nach Hause am Ende des Tages nahm ich regelmäßig mein Arbeitslaptop mit nach Hause und saß stundenlang davor, um eine Aufgabe zu beenden oder einen Bug zu beheben, obwohl beides bis zum Morgen warten konnte. Wie zu erwarten war, verursachte dieser Lebensstil Stress, und ich brannte schnell aus.

Der Grund für dieses Verhalten lag teilweise in meinem Bestreben, alles so schnell wie möglich zu erledigen. In Wirklichkeit hätte ich jedoch verstehen sollen, dass Arbeit ein langfristiger Prozess ist und mit wenigen Ausnahmen werden die heutigen unerledigten Dinge oft auf morgen verschoben. Es ist sehr wichtig, sich gelegentlich umzustellen und sich daran zu erinnern, dass das Leben nicht nur aus Arbeit besteht – es gibt Freunde, Familie, Hobbys, Unterhaltung. Wenn Sie es mögen, bis zum Sonnenaufgang über dem Code zu sitzen, nur zu! Aber wenn es nicht mehr Freude bereitet, halten Sie inne und denken Sie darüber nach, ob es nicht an der Zeit ist, sich mit etwas anderem zu beschäftigen. Wir arbeiten schließlich nicht den letzten Tag!

Ich vermied es zu sagen: „Ich weiß nicht“

In einem Prozess festzustecken, um ein Problem zu lösen oder eine Aufgabe zu erledigen, ist ganz normal, selbst die erfahrensten Senior-Entwickler kommen damit in Berührung. Als ich ein Junior war, sagte ich: „Ich weiß nicht“ seltener, als ich sollte, und das war ein Fehler. Wenn jemand aus der Führung mir eine Frage stellte und ich die Antwort nicht wusste, versuchte ich, im Unklaren zu lassen, anstatt es einfach zuzugeben.

Ich hatte das Gefühl, wenn ich sage: „Ich weiß nicht“, würden die Leute den Eindruck gewinnen, dass ich überhaupt keine Ahnung von dem habe, was ich tue. In Wirklichkeit ist das ganz anders; es gibt keine Allwissenden. Daher, wenn man zu etwas gefragt wird, von dem man nichts weiß, sollte man einfach sagen, was man denkt. Ein solcher Ansatz hat gleich mehrere Vorteile:

  • Es ist ehrlich – Sie führen den Fragenden nicht in die Irre
  • Es besteht die Chance, dass man erklärt bekommt und dann etwas Neues lernt
  • Es erfordert Respekt – nicht jeder kann zugeben, dass ihm etwas unbekannt ist

Ich drängte mich schnell voran

Sie haben wahrscheinlich das Sprichwort gehört: „Bevor du rennst, lerne zu gehen“. Nirgends ist das so aktuell wie im Bereich der Web-Entwicklung. Wenn man sich zum ersten Mal irgendwo als Junior bewirbt, möchte man das Heft in die Hand nehmen und sofort an einem großen, komplexen Projekt arbeiten. Man denkt sogar darüber nach, wie man schneller zum nächsten Level aufsteigen kann!

Ambitionen sind natürlich gut, aber in der Realität wird einem Junior nicht gleich zu Beginn etwas Ähnliches angeboten. Zu Beginn Ihrer Karriere werden Ihnen wahrscheinlich einfache Aufgaben und Bugs zur Behebung zugeteilt. Es ist nicht die aufregendste Beschäftigung der Welt, aber es bleibt nichts anderes übrig. Das gibt Ihnen die Möglichkeit, sich Schritt für Schritt in den Code einzufinden und alle Prozesse zu lernen. Gleichzeitig hat Ihr Vorgesetzter die Möglichkeit zu sehen, wie Sie ins Team passen und was Sie am besten machen.

Mein Fehler bestand darin, dass ich mich über diese Kleinigkeiten ärgerte, was mich von der eigentlichen Arbeit ablenkte. Haben Sie Geduld, machen Sie alles, was Ihnen aufgetragen wird, gewissenhaft, und bald werden Sie etwas Interessanteres bekommen.

Ich war nicht im Gemeinwesen aktiv und hatte keine Kontakte.

Die Entwicklergemeinschaft ist großartig: Sie sind immer bereit zu helfen, Feedback zu geben und sogar aufzumuntern. Programmieren ist eine komplexe Angelegenheit und kann manchmal sehr anstrengend sein. Für mich wäre die Zeit als Junior einfacher gewesen, wenn ich von Anfang an aktiv mit meinen Kollegen kommuniziert hätte.

Die Kontakte zur Gemeinschaft sind zudem sehr hilfreich für die Selbstbildung. Sie können zu Open-Source-Projekten beitragen, den Code anderer studieren und beobachten, wie Programmierer gemeinsam an Projekten arbeiten. All das sind Fähigkeiten, die Sie in Ihrem Hauptjob nutzen können und die Sie im Laufe der Zeit zu einem guten Fachmann machen.

Wählen Sie Gemeinschaften, die Ihr Interesse wecken – ich kann Ihnen freeCodeCamp, CodeNewbies und 100DaysOfCode empfehlen – und bringen Sie sich ein! Sie können auch lokale Meetups in Ihrer Stadt besuchen (suchen Sie auf meetup.com).

Auf diese Weise können Sie schließlich professionelle Kontakte knüpfen. Im Grunde genommen sind Kontakte einfach die Menschen in Ihrer Branche, mit denen Sie kommunizieren. Warum ist das wichtig? Nun, sagen wir, Sie möchten irgendwann den Job wechseln. Wenn Sie sich an Ihre Kontakte wenden, könnte jemand Ihnen eine passende Stelle empfehlen oder Sie sogar dem Arbeitgeber empfehlen. Das gibt Ihnen einen erheblichen Vorteil im Vorstellungsgespräch – für Sie wurde bereits ein gutes Wort eingelegt, und Sie sind nicht mehr „das nächste Lebenslauf aus dem Stapel“.

Das ist alles, vielen Dank für Ihre Aufmerksamkeit!

Quelle: habr.com

60GB SSD 8Gb DDR4