Neuer Software-Ingenieur: Sollte ich mir neue Projekte/Arbeitsplätze suchen, wenn ich mit veralteter Technologie arbeite?

Ich habe vor eineinhalb Jahren mein Studium abgeschlossen und arbeite seitdem als Ingenieur bei einem Softwareunternehmen. Es war für mich ein gutes Umfeld, um Erfahrungen zu sammeln.

Eine Sorge, die ich in letzter Zeit hatte, ist jedoch, dass meine einzige berufliche Erfahrung mit der veralteten Sprache sein würde, die ich hauptsächlich verwende, wenn ich unerwartet meinen Job verlieren würde. Obwohl ich weiß, dass jede Erfahrung mit einer großen Codebasis gut ist, habe ich bemerkt, dass viele Stellenausschreibungen für Spieleentwicklung/Softwareentwicklung nach „x Jahren Berufserfahrung mit Technologie y“ verlangen, was darauf hinzudeuten scheint, dass allgemeine Programmiererfahrung möglicherweise nicht vorhanden ist genug für mich, um in Zukunft eine andere Stelle zu finden. Der „professionelle“ Teil dieses Satzes scheint auch persönliche Projekte mit relevanteren Technologien außer Acht zu lassen.

Ist diese Paranoia vernünftig? Haben die spezifischen Tools, die Sie zu Beginn Ihrer Softwarekarriere verwenden, langfristige Auswirkungen darauf, welche Möglichkeiten sich Ihnen in Zukunft bieten?

Stellen Sie zunächst sicher, dass Ihr Benutzername nicht mit Ihrem tatsächlichen Namen übereinstimmt. Sie wollen nicht, dass Ihr Arbeitgeber erfährt, dass Sie das denken. Zweitens ändert sich die Technologie sehr, sehr schnell. Meiner Meinung nach könnten Sie neue Softwaresprachen und -technologien empfehlen, aber erwarten Sie nicht, dass sie schnell angenommen werden - und stellen Sie sicher, dass Sie nicht sagen, dass der Hauptgrund dafür darin besteht, dass Sie befürchten, dass Ihre Fähigkeiten veraltet sind der Arbeitsmarkt. Recherchieren Sie, ob/wie Ihr Unternehmen davon profitieren würde.
Kümmern Sie sich nicht um die "x Jahre mit Y-Technologie". Ich habe Anforderungen für 5 Jahre Erfahrung in zweijähriger Technologie gesehen.
Ich stimme zwar den knappen Abstimmungen zum Buchstaben der Formulierung zu, bin aber anderer Meinung, dass diese Frage geschlossen werden sollte. OP berührt einen wichtigen Teil der Karriereentwicklung: Stagnation. Die Frage kann anders formuliert werden als "Was soll ich tun?" und mehr in Richtung "Ist Stagnation gefährlich für die berufliche Entwicklung", ohne die Kernfrage zu ändern.

Antworten (4)

Mir ist aufgefallen, dass in vielen Stellenausschreibungen für Spieleentwicklung/Softwareentwicklung nach „x Jahren Berufserfahrung mit Technologie y“ gefragt wird.

Ich bin auf Stellenangebote gestoßen, in denen nach mehr als 5 Jahren Erfahrung mit Visual Studio 2019 gefragt wird. Denken Sie eine Sekunde darüber nach.

Stellenanforderungen sind oft nicht so präzise, ​​wie Sie sich das vorstellen. Vielleicht ist es ein Kopier-/Einfügefehler (sie meinten nur Visual Studio), vielleicht ist es eine Jäten-Taktik, um zu vermeiden, dass Einstiegsentwickler erfolglos interviewt werden müssen. Was auch immer der Grund sein mag, die meisten Arbeitgeber werden Sie eher nach dem Wert beurteilen, den Sie einbringen können, als nach den Kästchen, die Sie ankreuzen.

Natürlich gibt es Ausnahmen, aber ich schätze, Sie würden sowieso nicht für diese Arbeitgeber arbeiten wollen, um nicht zu verlieren.


was zu implizieren scheint, dass allgemeine Programmiererfahrung möglicherweise nicht ausreicht, um in Zukunft eine andere Position zu finden

Die allgemeine Fähigkeit, analytisch und algorithmisch zu denken, schlägt jedes Mal die Kenntnis eines bestimmten Rahmens . Ein guter allgemeiner Entwickler ist in der Lage, jede Bibliothek aufzugreifen und in kurzer Zeit Arbeitskenntnisse aufzubauen. Ein Framework-Wizard kann für eine beträchtliche Zeit vollständig in einem völlig anderen Framework verloren gehen.

Es ist jedoch viel einfacher, Framework-Kenntnisse zu testen (z. B. Bewerber zu bitten, einfache Syntaxfragen zu beantworten), als allgemeine Programmierkenntnisse zu messen. Viele Interviewer tappen in die Falle, einfache Fragen zu stellen. Doppelt so für Junior-Entwickler, da ihnen normalerweise nur einfache Fragen gestellt werden, was dazu führt, dass Sie anstelle von abstrakten Denkübungen Fragen zur Syntax/spezifischen Rahmenbedingungen erhalten.

Es ist vollkommen verständlich, dass ein Interviewer, der kein Programmierer ist, nicht in der Lage ist, allgemeine Programmierkenntnisse anhand von etwas anderem als ausgeschnittenen Antworten einzuschätzen. aber Sie sollten es als das sehen, was es ist: eine schnelle Kostprobe Ihres Wissens.

Ich persönlich erinnere mich nicht sehr gut an die Syntax. Ein Teil davon ist, dass ich mein eigenes Snippet-Repository und StackOverflow zur Verfügung habe. Was ich habe, ist die Fähigkeit zu beurteilen, was in einem bestimmten Rahmen/in einer bestimmten Situation vernünftigerweise möglich ist, und schnell abzuschätzen, wie man ein Problem in seine einzelnen Schritte zerlegt (die ich dann jeweils in SO oder einem Snippet-Repository nachschlage).
Wenn Interviewer spezifische Syntaxfragen stellen, leite ich um, um etwas in der Art von zu sagen:

„Ich weiß nicht, wie man ein XSD-Dokument auswendig schreibt, aber ich weiß, dass es eine einfach konfigurierbare Validierung einer XML-Datei ermöglicht, sowohl in Bezug auf das Vorhandensein bestimmter Elemente als auch der darin enthaltenen spezifischen Werte. Ich müsste das nachschlagen spezifische Syntax, aber ich weiß, dass ich [X und Y und Z] konfigurieren kann, um die Validierung zu erreichen, die Sie benötigen."

Im Allgemeinen besteht dies den Test, da es die Kernfähigkeit zeigt, ein Problem aufzuschlüsseln, die Unbekannten zu isolieren und eine genaue Erwartung zu ihrer Lösung zu haben.

Ihre Laufleistung kann bei verschiedenen Unternehmen variieren, aber ich komme auf meinen früheren Punkt zurück, dass ein Unternehmen, das den Wald vor lauter Bäumen nicht sehen kann, kein gutes Unternehmen ist, in dem man (langfristig) arbeiten kann. Wenn das Unternehmen Scheuklappen aufsetzt, werden sie wahrscheinlich auch Scheuklappen aufsetzen, wenn es um Ihre tägliche Arbeit und Ihr Arbeitsumfeld geht.


Eine Sorge, die ich in letzter Zeit hatte, war, dass ich, wenn ich unerwartet meinen Job verlieren sollte, meine einzige berufliche Erfahrung mit der veralteten Sprache/Engine machen würde, die ich hauptsächlich verwende.

Dies ist der Hauptgrund, um Stagnation zu vermeiden.

Arbeitsstandards und Technologien entwickeln sich nicht nur viel schneller als noch vor ein paar Jahrzehnten (vierfach so für Softwareentwicklung), sondern die Menschen neigen auch dazu, häufiger als in der Vergangenheit von einem Job zum nächsten zu wechseln. Vorbei sind die Zeiten, in denen Sie erwarteten, Ihr ganzes Leben lang für denselben Arbeitgeber zu arbeiten. Wieder viermal so für Software-Engineering.

Es gibt ein Gegenargument, das jedoch situativ ist: Mit zunehmendem Alter einer Technologie wird es weniger Entwickler geben, die bereit sind, damit zu arbeiten, was Ihren Einfluss sowohl auf die Verfügbarkeit von Arbeitsplätzen als auch auf das Gehalt erhöht. Ich kenne einen COBOL-Entwickler, der hoch bezahlt wird, weil er einer der wenigen ist, der die veraltete Infrastruktur von Unternehmen am Laufen halten kann.

Abgesehen davon ist es im Allgemeinen ratsamer, sich mit dem Markt zu bewegen, als nach veralteten technischen Möglichkeiten zu fischen – aber ich bin mir ziemlich sicher, dass es Randausnahmen gibt.


Ist diese Paranoia vernünftig?

Ich möchte Sie auch davor warnen, ein ewiger Pionier zu werden, dh jemand, der immer nach der neuesten Technologie sucht, mit der er arbeiten kann. Unternehmen, insbesondere große Unternehmen, neigen dazu, sich langsamer zu bewegen und stehen nie an der Spitze des technologischen Fortschritts, weil sie speziell darauf warten, dass eine Technologie erprobt und getestet wird, bevor sie sich dazu verpflichten.

Vor ein paar Jahren gab es einen wahren Feuersturm neuer Frontend-JS-Bibliotheken, die so schnell aussterben würden, wie sie populär wurden. Andekdotisch ist mein eigenes Unternehmen von Präsentationen zu "Tech X ist die Zukunft!" zu Vorträgen zu "X ist veraltet, Y ist die Zukunft!" innerhalb von 1-2 Monaten (Ich sehe dich an, KnockoutJS ...). Es war einfach unmöglich, mit neuen Technologien Schritt zu halten, wenn sie so schnell die Szene betreten und verlassen.

Ich bin ein .NET-Entwickler, und .NET wird allgemein als ein sich langsam entwickelndes Framework angesehen, das Innovationen zu einem vernünftigen Preis ermöglicht, damit Unternehmen mithalten können, ohne große Risiken bei neuen Frameworks einzugehen und ob sie es erleben würden der nächste Monat.
Ich bleibe speziell bei .NET, weil es im Tech-Stack eine Menge Arbeitsplatzsicherheit gibt, da Unternehmen, die mit .NET arbeiten, dazu neigen, bei .NET zu bleiben.

Deshalb möchte ich Sie dringend bitten, hier eine Balance zu finden. Bleiben Sie nicht bei veralteter Technologie, aber seien Sie auch nicht zu restriktiv bei dem, was Sie als „moderne“ Technologie bezeichnen. Sehen Sie, welche Technologien auf dem Arbeitsmarkt, der Sie interessiert, am häufigsten vorkommen.


Ist diese Paranoia vernünftig, und wenn ja, wäre es ratsam, mit dem Management über diese Bedenken zu sprechen?

Einige Arbeitgeber sind vernünftig und Sie können auf jeden Fall mit ihnen sprechen. Sie stimmen möglicherweise zu, dass sie Ihnen auch erlauben müssen, sich über moderne Technologien auf dem Laufenden zu halten, um Sie auf dem Laufenden zu halten, sei es, indem sie Sie in Teilzeit für Projekte mit moderner Technologie einsetzen oder Ihnen Schulungsressourcen zur Verfügung stellen, um sich auf dem neuesten Stand zu halten.

Wenn das Unternehmen nicht fest entschlossen ist, immer nur die veraltete Technologie zu verwenden (und schließlich mit dem Schiff untergeht), müssen sie innovativ sein, und Mitarbeiter zu haben, die in der Lage sind, innovativ zu sein, ist ein enormer Vorteil. Nutzen Sie dies zu Ihrem Vorteil, um Ihren Arbeitgeber davon zu überzeugen, dass es auch dem Unternehmen zugute kommt, Ihre Fähigkeiten zu verbessern und auf dem neuesten Stand zu halten .

Einige Arbeitgeber sind nicht vernünftig, aber angesichts der Frage, die Sie stellen, würden Sie sowieso nicht glücklich sein, langfristig für sie zu arbeiten, also verlieren Sie auch hier nicht wirklich, wenn Sie mit Ihrem Arbeitgeber sprechen, um abzuschätzen, ob sie vernünftig sind. Wenn sie negativ reagieren, können Sie Ihre Beschäftigung jederzeit neu bewerten.

Mir ist aufgefallen, dass in vielen Stellenausschreibungen für Spieleentwicklung/Softwareentwicklung nach „x Jahren Berufserfahrung mit Technologie y“ gefragt wird, was darauf hinzudeuten scheint, dass allgemeine Programmiererfahrung möglicherweise nicht ausreicht, um in Zukunft eine andere Stelle zu finden. Der „professionelle“ Teil dieses Satzes scheint auch persönliche Projekte mit relevanteren Technologien außer Acht zu lassen.

Beschäftigen Sie sich nicht zu sehr mit der Formulierung von Anforderungen. Und lassen Sie sich dadurch nicht davon abhalten, mit anderen Spiel-Engines/Sprachen zu experimentieren.

Ich habe vor anderthalb Jahren mein Studium abgeschlossen

Eineinhalb Jahre sind nicht lang. Versuchen Sie, mindestens zwei Jahre zu warten, bevor Sie versuchen, zu einem neuen Arbeitgeber zu wechseln.

Ist diese Paranoia vernünftig, und wenn ja, wäre es ratsam, mit dem Management über diese Bedenken zu sprechen?

Sie möchten Ihrem jetzigen Chef sagen, dass Sie befürchten, für andere Arbeitgeber nicht attraktiv zu sein? Ich halte das für keine gute Idee...

Oder, wenn ich in Zukunft mit Unternehmen arbeiten möchte, die modernere Technologien einsetzen, wäre es dann am besten, die Nase am Schleifstein zu behalten?

Ich finde, man sollte in seiner Freizeit immer wieder neue Technologien ausprobieren.

Nehmen Sie ein kleines Hobbyprojekt auf, um an ein oder zwei Abenden pro Woche mit einer anderen Plattform oder Programmiersprache zu arbeiten. Fühlen Sie sich frei, Projekte abzubrechen oder sie zu verstauen, um noch etwas anderes auszuprobieren. Das Ziel ist nicht, eine bestimmte Zweitsprache zu beherrschen, sondern etwa alle zwei Monate neue Dinge auszuprobieren.

Eine weitere Möglichkeit ist, auf Meetup nach Veranstaltungen in deiner Nähe zu suchen. Zumindest in meiner Gegend gibt es einige Gruppen, die für ihre neue Sprache/Plattform werben und Demos an Leute geben, die es ausprobieren möchten. (Es ist wahrscheinlich auch eine gute Möglichkeit, beiläufig für potenzielle neue Arbeitgeber sichtbar zu bleiben.)

Es besteht jedoch die Möglichkeit, dass es sich erst nach etwa der 3-Jahres-Marke auf Ihre zukünftigen Stellenangebote auswirkt. - Fähigkeiten sollten übertragbar sein, Sie wissen das, ich weiß das, ein zukünftiger Arbeitgeber kümmert sich nicht darum und will jemanden mit den bereits vorhandenen Fähigkeiten. Dies gilt für die Mittel- und Oberstufe, oft werden Ausnahmen für Junioren gemacht.

Junioren werden mit der Erwartung beschäftigt, dass sie lernen werden. Mittlere/höhere Mitarbeiter werden mit der Erwartung eingestellt, den Job erledigen zu können.

Ich steckte einige Jahre an einem Ort fest, an dem ich VB machte. Danach einen Job bei einem C#-Unternehmen zu bekommen, war fast unmöglich. Obwohl ich die C#-Syntax kannte, zählten meine 7+ Berufserfahrung mit VB nichts.

Ich würde das Management jedoch nicht beunruhigen, ich würde mich in Ihrer Freizeit mit den neuen Technologien befassen. Machen Sie sich Notizen über die Vor- und Nachteile und sprechen Sie dann mit Ihrem Management und schlagen Sie vor, diese neue Technologie auszuprobieren, und erklären Sie, warum dies ein guter Schritt für das Unternehmen wäre.