Ich bin kürzlich in ein Unternehmen eingetreten, um als Ingenieur/Entwicklung für die Software- und IT-Lösungen zu arbeiten, die sie haben. Während meiner Interviews haben sie mir alles so präsentiert, dass es ziemlich schick und trendy aussah. Nach einigen Wochen hier habe ich jedoch verstanden, dass es genau das Gegenteil ist:
Außerdem scheint der Trend nicht aufzuhören. Sie scheinen sich dessen bewusst zu sein und haben im Hintergrund einige Pläne, es zu verbessern, aber nichts wird Wirklichkeit.
Ich habe seit meinem Eintritt in das Unternehmen aktiv und passiv darüber kommuniziert. Sie glauben, dass das meiste in der To-Do-Phase liegt. Es ist jedoch seit Ewigkeiten in ihrem To-do und das Ganze ist völlig festgefahren. Ich kann sehen, dass sie vor langer Zeit einige Probleme eingereicht haben und wirklich nichts passiert ist, um all die technischen Schulden zu beheben.
Ich frage mich, ob ich in dieser Firma bleiben könnte und nichts gegen die technischen Schulden tun könnte. Oder kämpfen Sie weiter, um es zu reduzieren. Es wäre viel besser für meine Zukunftsaussichten, wenn ich zeigen könnte, dass ich an modernen Sachen gearbeitet habe, im Gegensatz zu veralteten Technologien.
Was kann ich tun, um mein Unternehmen dazu zu ermutigen, sich seiner eigenen Aufgabe zu widmen und das Produkt zu bereinigen?
Wenn Sie gehen müssen, gehen Sie.
Aber solange du dort bist, wähle die gewinnbaren Schlachten. Widersprechen Sie der Technologie nicht nur, weil sie „alt“ ist, sondern versuchen Sie, sich auf die schrittweise Verbesserung des Prozesses zu konzentrieren . Mit uralten Werkzeugen kann man großartige Arbeit leisten, wenn man sie klug einsetzt. Und ehrlich gesagt ist es ziemlich üblich, mit den neuesten Tools schreckliche Arbeit zu leisten, sie aber sorglos zu verwenden – insbesondere wenn etablierte Lösungen blindlings herausgerissen werden, ohne wirklich zu verstehen, was sie dem Unternehmen bieten.
Wenn Sie eine Technologie ersetzen möchten, konzentrieren Sie sich speziell darauf, welchen Wert eine neuere Lösung für das Unternehmen bringen kann. Finden Sie Wege, es in die bestehende Infrastruktur einzufügen, und implementieren Sie alte Schnittstellen neu, sodass eine neue Lösung ein Drop-in-Ersatz im gesamten Ökosystem sein kann. Das kann bedeuten, etwas zunächst nicht einmal zu einem Bruchteil seines potenziellen Vorteils zu nutzen, aber es bedeutet, die Tür zu Möglichkeiten zu öffnen.
Denken Sie daran, dass Sie eingestellt werden, um Probleme zu lösen, nicht um sie zu schaffen. Wenn die Probleme, die sie lösen müssen , nicht diejenigen sind, die Sie lösen können oder an denen Sie nicht interessiert sind, ist es an der Zeit, weiterzumachen und einen Ort zu finden, an dem die Probleme, die sie gelöst haben möchten, und die Probleme, die Sie lösen möchten, besser übereinstimmen .
Ich denke, wenn Sie sich festgefahren fühlen und das Unternehmen Sie nicht erfüllt, ist Ihre einzige Wahl, den Job zu wechseln. Vielleicht sogar mit einer Herabstufung der Vergünstigungen usw., aber mit Karrierepotenzialen
Ich war dort. Dies ist häufiger als Sie denken.
Die oberste Priorität eines Unternehmens ist es, einen Gewinn für seine Eigentümer (Aktionäre usw.) zu erzielen. Wenn die aktuelle Technologie die geschäftlichen Anforderungen erfüllt, warum sollten sie dann in etwas Trendiges und Neues investieren?
Ich selbst habe 1994 als COBOL (ugh) Programmierer in der IT angefangen. Die Firma, für die ich arbeitete, war eine sehr erfolgreiche Maklerfirma. Der Code wurde in COBOL68 geschrieben und einige der Quellen waren fast 25 Jahre alt. Es war uralt, aber funktionierte. Wir wurden gebeten, die Version von COBOL zu aktualisieren und die für das Jahr 2000 erforderlichen Änderungen vorzunehmen.
Der Wechsel in eine modernere Umgebung geschah aufgrund geschäftlichen Drucks – nicht, weil ich (als Entwickler, der sich mit C, C++ usw. auskannte) die neuesten Tools verwenden wollte.
Was also in der Zwischenzeit tun? Für mich bestand mein erstes VB6-Projekt darin, eine Keypunch-Maschine durch eine Desktop-Anwendung zu ersetzen, die Kartenbilder (ASCII-Text) erzeugen konnte, die Y2K-kompatibel waren. Ich kann scherzen, dass ich eine Y2K-konforme Kartenstanzmaschine (1999!) Entwickelt habe.
Der größere Punkt dabei ist, dass ich in der Lage war, etwas „Neues“ (das war vor .NET und moderneren Sachen) zu verwenden, um eine Geschäftsanforderung zu lösen. Ihre beste Option besteht darin, festzustellen, wie Sie dem Unternehmen helfen können, seine Ziele zu erreichen, indem Sie die neuere Technologie verwenden. Sprechen Sie in geschäftlichen Begriffen.
In meiner vorherigen Firma war definitiv nicht alles großartig (hej, deshalb bin ich ausgezogen!), aber wir haben modernste Technologien und Tools verwendet, und das vermisse ich. Ich erwarte nicht, ständig modernste Technologien einzusetzen. Aber die hier ist wirklich veraltet.
Für mich klingt es so, als würden Sie Ihren früheren Job vermissen. Sind Sie sicher, dass es nicht wirklich darum geht, dass Sie es bereuen, aufgehört zu haben und das zu verpassen, woran Sie gearbeitet haben?
Was kann ich einem potenziellen Arbeitgeber sagen? Ich habe die letzten 2 Jahre damit verbracht, veraltete Sachen zu reparieren? Oder hat grundlegende Einrichtung von modernen Sachen?
Es ist schwer zu bestimmen, wofür Sie eingestellt wurden? Wurden Sie eingestellt, um Legacy-Software zu reparieren oder als allgemeiner Full-Stack-Entwickler? Wenn Sie speziell eingestellt wurden, um veraltete Software zu reparieren, würde ich das Beste versuchen. Ansonsten erzählst du deinem nächsten Job dasselbe: Du warst Full-Stack-Entwickler und was du getan hast, um sie in Modernisierung und aktuelle Trends zu pushen.
So sehr die Entwicklerwelt Sie zum Nachdenken anregt, es wird nicht erwartet, dass Sie in jede Organisation gehen und zu einer Art Code-Ninja werden, der herumläuft, Dinge repariert und eine große Veränderung bewirkt, und jetzt suchen Sie nach neuen Jobs. Ihr letzter Job hatte ein Umfeld, in dem neue Trends verwendet wurden, nicht dass Sie irgendetwas anderes damit zu tun hatten, als dort zu arbeiten, das neue Umfeld scheint selbstgefällig zu sein, aber zu verstehen, dass es neuere Trends und Möglichkeiten gibt, das zu tun, was sie sind. Wenn Sie eine einzige Sache erreichen können, wie z. B. das Pushen von Unit-Tests, wäre das im Gegensatz zu dem, was ich oben beschrieben habe, eine große Leistung. Unternehmen suchen Teamplayer und Menschen, die sich einbringen und ebenso viel einbringen wie neue Ideen verbreiten können. Sie sind daran interessiert, Geld zu verdienen, nicht Leute, die hereinkommen und alles ändern und es ihnen dann überlassen, es herauszufinden.
Sie würden nicht die technischen, sondern die Soft Skills betonen. Wie Sie ein ständiger Fürsprecher waren. Vielleicht Workshops oder Präsentationen zu neuen Tools für die Mitarbeiter (oder das Management) durchführen. Mit Kosten-Nutzen-Analyse.
Und wenn das Unternehmen ein Budget hat, trainieren. Oder wenn sie Zeit für Ermittlungsarbeit geben, untersuchen Sie.
Soft Skills. Verfahren. Protokolle. Wenn das Management in Ihrer Nähe ist. Dies würden Sie potentiellen neuen Arbeitgebern/Kunden hervorheben.
Vielleicht haben sie Sie deshalb eingestellt – indem sie den schickeren/neueren Sachen zeigten, die sie einschätzen wollten, wo Sie mit Technologien stehen, und jetzt möchten, dass Sie den aktuellen, täglichen Produktionsstapel verbessern.
Es kommt aber darauf an und das ist reine Spekulation meinerseits. Warum erwähnen Sie dies nicht Ihrem Vorgesetzten und versuchen, einen Plan auszuarbeiten (falls es noch keinen gibt – fragen Sie danach!)?
Nicht jeder ist bereit, Tech-Schulden anzugehen, und viele werden schreiend davonlaufen wollen, aber zu einem gewissen Grad hat jede Codebasis ein gewisses Maß an Tech-Schulden. Ich sehe dies als eine Gelegenheit, die neue Architektur und Prozesse von Grund auf zu definieren.
Da Sie sowohl auf der technischen als auch auf der nicht-technischen Seite gearbeitet haben, ist Ihr Argument, dass alles "veraltet" ist, nicht stark. Es klingt wie Schimpfen und nicht durch Zahlen untermauert. Gibt es einen guten Business Case für die Aufteilung der Codebasis in mehrere Repositories? Oder verursacht es nur mehr Wartung, weil keine kontinuierliche Integration/kontinuierliche Bereitstellung (CI/CD) vorhanden ist? Wie viel schneller könnten Sie Kunden bereitstellen, wenn Sie CI/CD hätten? Wie können Fehler im Build- und Deployment-Prozess minimiert werden?
Wenn Sie beispielsweise kein oder ein schlechtes CI/CD haben, führen Sie einen Proof-of-Concept durch und messen Sie die potenziellen Gewinne. Präsentieren Sie das Ihrem Vorgesetzten oder demjenigen, der entscheidet, woran Sie arbeiten sollen, und machen Sie es zu Ihrem Projekt. Sie können sich sogar dafür einsetzen, an Konferenzen für DevOps/SRE teilzunehmen und von anderen zu lernen.
Dan
IDrinkandIKnowThings
ZufälligUs1r
Juha Untinen
Rat
Eintauchen
Arbeiter