Ich hatte einen 12-monatigen Vertrag (ich lebe in einem Land, in dem dies für neue Entwickler nicht üblich ist), bis mir das Management meines Unternehmens vor ein paar Wochen ein Angebot machte und eine Gehaltserhöhung für sie anstellte. Ich mag es, meinen Lebenslauf immer auf dem neuesten Stand zu halten (insbesondere bei COVID), also habe ich gegoogelt, um ihn in meinem Lebenslauf aufzulisten.
Der Rat, den ich fand, war, dass ich im Allgemeinen auflisten sollte, welche Leistung die Einstellung veranlasste. Meinetwegen.
Das Problem ist, dass die Leistung immer zu engen Kundenfristen erbracht wurde, und ehrlich gesagt habe ich entschieden, dass das Engineering in bestimmten Fällen weniger als herausragend sein kann (dem das Management zugestimmt hat).
Ich bin ein relativ junger Entwickler in einem Team von 6 Entwicklern. Ich bin jedoch schnell zu einem der Entwickler geworden, dem das Management am meisten vertraut, um Dinge zu liefern, wenn ich sage, dass ich sie liefern und sie über die relativen Kompromisse auf dem Weg dorthin auf dem Laufenden halten werde. In meiner zugegebenermaßen kurzen Zeit hier war ich immer in der Lage, etwas zu versenden, wenn ich gesagt habe, dass ich es versenden kann.
Ich hatte einige Fälle wie diesen, aber dies ist der Fall, den ich kurz vor dem Angebot einer Festanstellung gemacht habe. Eines unserer Produkte ist eine Batch-API, die einmal täglich von einem einzelnen Client aufgerufen wird. Es muss nichts zurückgegeben werden, außer einer CSV fehlgeschlagener Einträge per E-Mail. Sie wollten eine neue Funktion hinzufügen, und der Verkäufer hatte vertraglich zugestimmt, sie bis Ende des Monats für sie bereitzustellen. Aus verschiedenen Gründen hat uns diese Funktionsanfrage erst am Montag der letzten Woche des Monats erreicht.
Der leitende Entwickler teilte dem Manager mit, dass die Entwicklung nicht ordnungsgemäß durchgeführt werden könne, und teilte dem Kunden mit, dass die Entwicklung nicht ordnungsgemäß durchgeführt werden könne. Ich widerspreche den älteren Entwicklern in Sprint-Planungsmeetings nicht, aber vielleicht war es offensichtlich, dass ich mit dem älteren Mann nicht einverstanden war. Wie nicht nicht einverstanden, aber es gab eine Option mit bestimmten Kompromissen. Die anderen Entwickler sind ebenfalls ziemlich passiv, so dass ihm auch niemand widersprach. Der Manager war darüber nicht erfreut, da der Kunde bereits wütend auf uns ist, dass wir nicht liefern, wenn wir dies versprechen. Der Manager rief mich dann nach dem Treffen in sein Büro, um zu fragen, ob ich eine Alternative sehe. Ich sagte ihm, dass ich etwas zum Laufen bringen könnte, aber es würde wahrscheinlich die Verarbeitungszeit der API verdoppeln (was 4 Minuten hinzufügen würde), da ich keine speziellen SQL-Kenntnisse habe. Der Manager stimmte zu und anscheinend bemerkte der Kunde es nicht einmal.
Ich bin mir nicht sicher, welche Konsequenzen das Versäumen der Frist gehabt hätte, aber sie waren so hoch, dass der CEO unseres 1000-Personen-Unternehmens mir eine Dankes-E-Mail für die Zustellung geschickt hat.
Ein anderer Fall erregte nicht so viel Aufmerksamkeit, aber es gab einen Prozess, den wir für eine Datenbank ausführen mussten. Der richtige Weg wäre gewesen, einen richtigen Batch-Prozess in das von uns verwendete Mega-Java-System zu schreiben, ihn durch alle regulären QS-Prozesse zu senden und ihn zwei Wochen später am Ende herausspringen zu lassen. Ich bot dem Manager ein Python-Skript an, das manuell ausgeführt werden musste und fürchterlich ineffizient war (es musste über Nacht ausgeführt werden), aber wenn es einmal im Monat ausgelöst wurde, würde es das Problem in Schach halten, bis eine dauerhafte Lösung eintraf. Dies war ein Produktionsproblem, daher stimmte er dem als Notlösung zu. Dies war im Grunde nur eine billige for-Schleife, die Zeilen auf einen bestimmten Typ fehlerhafter Daten überprüfte und neu formatierte.
Gibt es eine Möglichkeit, diese Art von Dingen in meinem Lebenslauf aufzulisten, die mich nicht wie einen Hack-Programmierer aussehen lassen, der ältere Entwickler untergräbt? Ich gebe zu, dass meine Lösungen technisch nicht solide sind, aber sie waren für die damaligen Geschäftsanforderungen solide und der Kompromiss zwischen Ineffizienz war in den meisten Fällen weitgehend irrelevant.