Anspruchsvolle Zeit für Continuous Delivery als Bedingung für die Auftragsannahme [geschlossen]

Ich wurde um ein Vorstellungsgespräch als Softwareentwickler bei einem E-Commerce-Unternehmen gebeten. Da ich mich sehr für Testautomatisierung und Continuous Integration / Continuous Delivery interessiere, habe ich sowohl in meiner aktuellen als auch in meiner früheren Firma Systeme dafür eingerichtet, mit teilweisem Erfolg.

Das neue Unternehmen hat derzeit keine Testautomatisierung, was für mich so etwas wie ein Warnsignal ist. Im ersten Telefoninterview wurde mir jedoch versichert, dass dies etwas ist, was das Unternehmen möchte, und es kein Problem für mich wäre, als starker Verfechter der technischen Praktiken von CI/CD und XP aufzutreten, wenn ich angeboten und angenommen würde die Arbeit.

Bei dieser Frage geht es darum, wie ich mich vor dem Risiko schützen könnte, ohne diese Dinge in einem Softwareteam arbeiten zu müssen, wo es nie so recht an der Zeit scheint, sie einzurichten. Wäre es eine gute Idee, während des Vorstellungsgesprächs das Management zu bitten, eine schriftliche Erklärung wie die folgende abzugeben und sie innerhalb des Unternehmens als Bedingung dafür zu verteilen, dass ich die Stelle annehme:

Das Unternehmen **** erkennt die Bedeutung der Testautomatisierung als Teil eines Continuous-Integration-/Continuous-Delivery-Prozesses an, um Softwarefunktionen zeitnah und zuverlässig auf den Markt zu bringen.

Wir erkennen auch, dass es ein Problem ist, dass unsere Software derzeit nicht in der Lage ist, sich selbst zu testen.

Daher ermutigen wir jeden internen Entwickler, am Aufbau und der Verbesserung von Testautomatisierungs- und Softwarebereitstellungssystemen zu arbeiten, soweit er der Meinung ist, dass diese Arbeit im Interesse des Unternehmens liegt. Das Unternehmen verpflichtet sich, die Zeit, die ein Entwickler für solche Arbeiten aufwenden darf, nicht auf weniger als 20 % seiner wöchentlichen Arbeitszeit bis April 2019 zu beschränken.

Dies gilt für aktuelle Entwickler und alle, die während dieser Zeit in das Unternehmen eintreten.

Antworten (3)

Es gibt einen großen Unterschied zwischen „wir sind damit einverstanden, dass Sie sich für CI/CD einsetzen“ und „wir stellen Sie ein, um CI/CD für uns zu implementieren“.

Ich glaube nicht, dass Ihre vorgeschlagene Erklärung diese Lücke schließt. Es ist nur ein weiteres Memo, das in ein oder zwei Monaten leicht ignoriert werden kann, da andere Probleme Vorrang haben.

Vielleicht wäre es eine bessere Idee, das Management zu fragen, welche expliziten Schritte sie unternommen oder geplant und budgetiert haben, um dies in den nächsten 3 Monaten zu tun, um dies zu erreichen.

Taten sagen mehr als Worte.

Auch "Demand" wird nicht gut ankommen
Das ist die Antwort. Viele Unternehmen sprechen über die Implementierung von CI/CD-Praktiken (das ist heutzutage ein Schlagwort), aber relativ wenige (meiner Erfahrung nach) nehmen tatsächlich die notwendigen Änderungen vor, um sie zum Laufen zu bringen. Fragen Sie sie besser, was sie tatsächlich getan haben, und schätzen Sie Ihr Interesse daran ein, sich ihnen anzuschließen, anstatt Dekrete zu erlassen, "dafür zu sorgen, dass es erledigt wird", nur um einige Monate später von der allgemeinen Trägheit im Team enttäuscht zu werden.

Das Schreiben von Tests, wie das Schreiben und Pflegen von Code, kostet Geld. Die Zuweisung von Ressourcen ist eine Geschäftsentscheidung , die von technischen Erwägungen getragen wird.

Mir wurde versichert, dass dies etwas ist, was das Unternehmen möchte, und es wäre kein Problem für mich, als starker Verfechter von CI/CD aufzutreten

Übersetzung: Sie haben gehört, dass es schlecht ist, keine automatisierten Tests zu haben, aber sie konnten bisher kein Buy-in erhalten, um Entwicklerzeit als Teil der regulären Feature-Entwicklung zuzuweisen.

Wenn Sie eingestellt werden, wird es Ihre Aufgabe sein, dem Management diesen Fall vorzulegen.

Es ist keine Einladung, die Unternehmenspolitik als Bedingung für Ihre Anstellung zu diktieren.

(Beachten Sie, dass ich sicherlich denke, dass automatisierte Tests eine gute Sache sind.)

Ich kann die Unternehmenspolitik nicht diktieren, aber ich kann sicher entscheiden, dass die Politik diktiert, ob ich den Job will. Wenn ich diesen Fall nach meiner Einstellung aufbauen müsste und nicht sicher wäre, dass ich erfolgreich sein würde, glaube ich nicht, dass ich den Job annehmen möchte.
Stellen Sie sich als Entwickler oder CTO vor?
Entwickler. Wenn ich mich als CTO bewerben würde, müsste ich eine solche Bedingung nicht haben, da ich in der Lage wäre, die Richtlinien festzulegen, sobald ich im Job bin. Da ich es nicht bin, muss ich wissen, ob ich Bedingungen hätte, unter denen ich arbeiten möchte.

Sie werden wahrscheinlich kein Druckmittel haben, um diese Dinge zu fordern oder das Engagement des Managements zu erzwingen, es sei denn, Sie werden technischer Leiter, eine Art Manager oder Führungskraft. Und selbst dann könnte es ein langer Weg sein. Das Ändern von Prozessen ist oft eine strategische Entscheidung, und das Unternehmen möchte wahrscheinlich einen Entwickler anstelle von jemandem einstellen, der die Prozessänderung überwacht.

Sie haben jedoch möglicherweise die Möglichkeit, die Dinge zu beeinflussen. Wenn das Unternehmen es ernst meint mit automatisierten Tests und CI/CD, könnten Sie mit Ihrem zukünftigen Chef einen Plan ausarbeiten.

Beginnen Sie damit, die kritischsten Teile der Lösung zu identifizieren, die am meisten von automatisierten Tests profitieren würden. Identifizieren Sie die Teile im Bereitstellungsprozess, die durch die Verwendung von CI/CD erheblich verbessert werden könnten.

Das Ziel könnte schließlich eine 100-prozentige Abdeckung sein, aber realistisch gesehen wird das äußerst selten erreicht. Aber wenn Sie zeigen können, dass das Unternehmen Geld sparen, weniger Fehler haben, die Kundenzufriedenheit verbessern, Ressourcen freisetzen usw. würde, indem Sie selbst diese kleinen Schritte unternehmen, würden Ihre persönlichen Interessen mit den Geschäftsinteressen des Unternehmens übereinstimmen.

Wenn dies gut angenommen wird, könnten Sie versuchen, sich auf einige x Stunden pro Woche/Monat zu einigen, die Sie für diese Sache aufwenden könnten.

Ich verstehe, dass ich keinen nennenswerten Einfluss habe, um Engagement zu fordern oder zu erzwingen. Mein ideales Ergebnis aus der Forderung nach Engagement wäre, dass das Management zustimmt, weil es das ist, was es bereits will. Wenn sich herausstellt, dass es nicht das ist, was sie bereits wollen, dann bleibe ich wahrscheinlich besser fern.