Ich glaube, ich habe anfangs zugestimmt, ein neues Framework zu verwenden, aber nach Risikoanalysen und Audits der aktuellen Software zögere ich, ein neues Framework (z. B. Angular) für kritische Systeme zu verwenden.
Ich habe sie darauf aufmerksam gemacht, aber sie verstehen es immer noch nicht. Sie sind ein besserer Entwickler als ich, und sie sagen, dass ein "neues Framework" eine "schnellere" Entwicklung ermöglichen wird. Aber aus meiner Sicht ist eine solide Auslieferung und Wartbarkeit wichtiger. Vor allem, wenn sich das Personal ändert.
Ich habe sie einige Apps im "neuen Framework" (Dashboards/Widgets) entwickeln lassen, da ich verstehe, dass es einige Karriereentwickler geben sollte, aber für kritische Systeme ist es zu riskant.
Ist der Entwickler nur um sich selbst besorgt und nicht um das Team/Projekt? Wenn sie hier nicht glücklich sind, soll ich sie drängen zu gehen?
Unter „schnell“ versteht er aus seiner Sicht die Implementierung, die Codierung und die Fähigkeit, sich an zukünftige Änderungswünsche anzupassen – das sehe ich. Aber für mich ist es nicht nur die Codierung, wir haben Tests und Dokumentation, neue Fehler durch den Wechsel zu einem neuen Stack usw. Die alten Tools/aktuellen Stacks, die wir haben, haben wir ausgebügelt - sie sind "ausgereift". Mit einem neuen Set gibt es neue Probleme zu lösen – genau wie beim Wechsel zum aktuellen Stack gab es Probleme zu lösen.
Update - Mir wurde von diesem Entwickler gesagt, dass das, was ich gesagt habe, Bull*** ist, laut im Korridor, ähnlich in einem Gemeinschaftsbereich vor Menschen. Ich verstehe, dass es Konflikte gibt, aber ist das ein guter Weg, um mit Ihrem Vorgesetzten oder sogar mit jemandem, den Sie leiten, umzugehen? Es fühlte sich an, als hätte man es mit einem Kind/Teenager zu tun. Wenn ich dem COO nicht zustimme, habe ich ihm ein paar Links und Quellen geschickt.
Ist der Entwickler nur um sich selbst besorgt und nicht um das Team/Projekt?
Dies ist eine gängige Denkweise für geschäftsorientierte Menschen. In meiner langen Erfahrung war es nie wahr. Entwickler kümmern sich um das System: Das Geschäft hängt davon ab, dass das System funktioniert, also wollen sie ein Qualitätssystem erstellen. Sie erwarten auch, in Zukunft viele Male über einen langen Zeitraum nach neuen Dingen gefragt zu werden. Da sie diejenigen sind, die die Anforderungen tatsächlich umsetzen müssen , sind sie sich genau bewusst, was dies erschweren könnte. Der Entwickler versucht natürlich, Lösungen für diese erwarteten Probleme zu finden. Sie versuchen, sich auf geschäftliche Anforderungen vorzubereiten.
Sie sind ein besserer Entwickler als ich und sagen, dass ein "neues Framework" eine "schnellere" Entwicklung ermöglichen wird.
Sie zitieren hier "schneller". Ich bin mir nicht sicher, ob Sie dem Entwickler in diesem Punkt nicht glauben oder an seinem Wert zweifeln.
Aber aus meiner Sicht ist eine solide Auslieferung und Wartbarkeit wichtiger.
Dies stellt eine falsche Dichotomie mit schneller dar. Der Entwickler hält diese Dinge wahrscheinlich für implizit. Mit anderen Worten: Aktuell können wir eine solide Liefer- und Wartbarkeit bieten. Wenn wir auf das neue Framework umstellen, können wir schneller eine solide Bereitstellung und Wartbarkeit bereitstellen .
Andererseits heben Sie gültige technische Punkte hervor. Der Plattformwechsel ist wirklich ein großes Unterfangen. Ich würde es mir nicht leicht machen.
Ich schlage vor , den Entwickler nach bestimmten Schmerzpunkten im aktuellen System zu fragen. Gehen Sie davon aus, dass sie gute Gründe haben, darüber nachzudenken, was sie tun, und fragen Sie danach. Wurden sie gezwungen, hässliche Hacks zu verwenden, die sich im ganzen System häufen? Verbringen sie Zeit damit, Fähigkeiten zu schaffen, die bereits in modernen Systemen vorhanden sind? Ist das aktuelle System schlecht strukturiert und sie müssen damit kämpfen, um Dinge zu erreichen, die einfach sein sollten?
Wenn es spezifische Probleme gibt, wollen sie diese Probleme lösen. Wenn der Plattformwechsel zu viel ist, fragen Sie, ob sie weniger drastische Wege zur Lösung vorschlagen können. Vielleicht haben sie ein paar Ideen. Oder Sie stellen fest, dass die Probleme wirklich erheblich sind und das Verbleiben beim aktuellen System das größere Risiko darstellt.
Wenn Sie der Personenmanager sind, treffen Sie die Entscheidung. Es ist schön, wenn sich alle einig sind, wichtig ist, dass alle die Entscheidung respektieren .
Sie sollten die Entscheidung treffen, die für das Unternehmen am besten ist. Es ist gut, Code zu haben, der bei Bedarf von Ihnen oder von einem neuen Entwickler ohne Spezialkenntnisse gehandhabt werden kann. Andererseits ist es gut, ein Framework zu verwenden, wenn es wirklich hilft und nicht nur in Mode ist. Alles, was eine Änderung Ihres bestehenden Codes erfordert, ist negativ. Es ist gut, einen begeisterten Mitarbeiter zu haben, der bestrebt ist, gute Ergebnisse zu erzielen, um zu beweisen, dass er Recht hat. Es ist Ihre Aufgabe, die Vor- und Nachteile abzuwägen, zu entscheiden, was am besten ist, und die Entscheidung zu treffen.
Wie wäre es, wenn Sie gemeinsam mit allen eine Liste mit Vor- und Nachteilen der verschiedenen Frameworks erstellen. Es sollte technische Aspekte enthalten, was mit den Frameworks getan oder nicht getan werden kann, wie schnell Dinge erledigt werden können, Stabilitätsprobleme, Geschichte (ein Framework ist vielleicht stabil, das andere ist brandneu und hat vielleicht noch einige Fehler). usw.
Ich denke, es ist am besten, dies zusammen mit dem Team in einer mehr oder weniger zufälligen Reihenfolge zu erstellen. Vielleicht wollen die Entwickler zuerst über die guten Dinge am neuen Framework sprechen und später fragen Sie sie nach Stabilitätsproblemen usw. In diesem Stadium geht es nur darum, Informationen zu sammeln.
Und nachdem das erledigt ist, können Sie sich die Prioritäten ansehen. Dh für ein Projekt oder einen Teil des Projekts sollte das Interface vielleicht trendy aussehen und vielleicht ist das mit dem neuen Framework einfacher zu bewerkstelligen. Und für einen anderen Teil ist es vielleicht wichtiger, dass alles 100% stabil ist, auch wenn es länger dauert usw.
Wenn Sie dies gemeinsam mit dem Team tun, sollten Sie alle zu dem gleichen Schluss kommen, welches Framework wofür verwendet werden sollte.
Aber am Ende des Tages sind Sie der Manager und dafür verantwortlich. Es ist also dein Kopf, wenn etwas schief geht. Sie müssen entscheiden, am besten mit dem Team, aber notfalls auch gegen deren Rat (nachdem Sie alle die Vor- und Nachteile kennen).
Ist der Entwickler nur um sich selbst besorgt und nicht um das Team/Projekt?
Professionals sind immer um sich und ihre Karriere besorgt, und wenn das Projekt / Team dazu passt, umso besser. Das ist vollkommen akzeptabel. Ihr Kollege möchte irgendwohin gehen, wo er diese neuen Technologien einsetzt, und wahrscheinlich viel besser bezahlen als Sie.
Wenn sie hier nicht glücklich sind, soll ich sie drängen zu gehen?
Sie drängen niemanden zu gehen. Sie sprechen mit ihnen über ihre zukünftige Karriere in Ihrem Unternehmen, setzen Erwartungen, hören Beschwerden und sprechen darüber, wie sie als Führungskraft besser für sie arbeiten können. Wenn der einzige Weg, wie jemand glücklich sein wird, darin besteht, dorthin zu gehen, wo die glänzende und sexy Technologie verwendet wird, ist das etwas, was Sie aus ihm heraus erahnen müssen, nicht etwas, das Sie ihm sagen.
Es hört sich so an, als würden Sie den Entwickler bereits seine Fähigkeiten in neuen Projekten üben lassen, und Sie haben den Grund erklärt, warum Sie das sensible System nicht auf neuere Technologien migrieren. Vielleicht haben sie es nicht verstanden, vielleicht hast du es nicht richtig erklärt. Betonen Sie unbedingt, dass dies wenig mit der tatsächlichen Entwicklungszeit zu tun hat und alles mit externem Druck.
Sie haben zwei Probleme, die miteinander in Konflikt stehen könnten
Die Verwaltung des „technischen Stacks“ entscheidet darüber, welche Sprachen, Tools, Frameworks und Testsysteme das Unternehmen verwendet – insbesondere für kritische Produktionsaufgaben. Kein Entwickler sollte berechtigt sein, diesen Stack zu ändern. Dies ist eine Entscheidung, die in der Befehlskette nach oben geht, da sie die Compliance und Auditierung Ihres Unternehmens betrifft. Viele Entwickler sind sich nicht aller Kosten bewusst, die ins Spiel kommen. Wenn Ihr Top-Management vorher nicht beteiligt war, empfehle ich, ihm eine Präsentation darüber zu machen, was die Probleme wirklich sind – warum Sie den aktuellen Technologie-Stack haben, wie hoch die Kosten für Änderungen sind und wie Sie Änderungen präsentieren werden sie in der Zukunft. Kurz gesagt, Sie ziehen Ihre gesamte Managementkette, um Sie bei Ihren Entscheidungen zu unterstützen. "Entwickler, dies ist der technische Stack des Unternehmens XYZ.
Hat sich ein Unternehmen nun für den „technischen Stack“ entschieden, geht es um den Umgang mit einem Entwickler, der ein neues Framework einsetzen möchte. Sicherlich können solche für unkritische Aufgaben verwendet werden, um herauszufinden, wie hoch die gesamte Bandbreite der Kosten sein könnte. Ich empfehle jedoch, einen schriftlichen Prozess zur Bewertung neuer Technologien zu haben, die für kritische Produktionsarbeiten in Betracht gezogen werden könnten. Auch hier müssen die Ergebnisse dieser Bewertung mit einer Kosten-Nutzen-Analyse in der Befehlskette nach oben gehen, um das Top-Management von einem Wechsel zu überzeugen.
Ich sage das, nachdem ich ein Entwickler war, der neue Technologien in Projekten versteckte und solche Dinge benutzte, um zu versuchen, das Management auf solche neuen Technologien umzustellen. Ich kannte nicht alle Kosten, die ich dem Unternehmen aufbürden wollte. Ich habe mich geirrt. Das ist ein Verhalten, das nicht bei kritischen Projekten vorkommen muss.
Als Software-Profi, der in diesem Geschäft seit ... (koff, koff, keuch) ... "schon eine ganze Weile" ist, ist die Grundsituation, die Sie jetzt beschreiben, "Legacy -Systeme".
Zum Beispiel: „Mein jetziger Arbeitgeber stellt seit mehr als 85 Jahren Sofas her.“ Als IBM das „ System/36 “ zum ersten Mal vorstellte, kauften sie eines. Als "RPG" die beste Sprache der Wahl war, haben sie Berge von Code damit geschrieben ... und sie verkaufen immer noch Sofas!" (Und: "Diese Sofas sind immer noch bequem - wetten, Sie kennen jemanden, der eines besitzt.")
Daher gibt es und wird es immer eine „Dichotomie“ geben zwischen den Technologien, für deren Verwendung wir uns entschieden haben, und den Technologien, die wir heute lieber verwendet hätten, wenn sie schon erfunden worden wären. Aber wir können niemals erwarten, dass "neue Programmierer" dies verstehen ... noch nicht. 🤷♂️
gnasher729
Walfrat
Dan
Nelson
Moby Disk
irgendein_coder