Zum Inhalt springen

Leitender Softwareentwickler, eine Rolle, für die Altuon einstellt

Leitender Softwareentwickler

Der Ingenieur, der ein Hauptbuch verschiebt, während das Unternehmen weiter handelt, und der an jedem beliebigen Tag nachweisen kann, dass Alt und Neu übereinstimmen.

Der leitende Softwareentwickler erstellt und migriert die Kernsysteme, von denen alles andere in einem Unternehmen abhängt, während das Unternehmen seinen Betrieb aufrechterhält. Die Rolle entwirft und implementiert die Kompatibilitätsebenen, das Dual-Running und die Abstimmung, die es ermöglichen, einen Kern für jeden Verbraucher zu ersetzen, schreibt die Tests, die spezifizieren, was das System verspricht, und übergibt ein System, das das eigene Team des Kunden ohne uns ausführen kann. Es handelt sich um eine Rolle als einzelner Mitwirkender mit weitreichendem Aufgabenbereich: Der leitende Ingenieur ist für die Komponenten durchgängig zuständig, vom Datenmodell bis zum Runbook, bei Aufträgen, bei denen für eine Regulierungsbehörde ein falscher Schritt erkennbar ist.

Auf diese Stelle bewerben
Region
Alle Regionen
Beschäftigung
Vollzeitanstellung oder langfristiges Engagement nach Vereinbarung.
Standort
Remote innerhalb Europas, des Nahen Ostens oder Nordamerikas, mit Reisen zu Kundenstandorten in der Region des Engagements.
Arbeitssprachen
Englisch; Zusätzlich Deutsch, Französisch oder Arabisch, sofern das Engagement dies erfordert.

Verantwortung

  1. 01Lesen Sie das bestehende System so, wie es ist, und nicht so, wie es in der Dokumentation beschrieben wird: den Code, das Schema, die Batch-Jobs, die undokumentierten Verbraucher und die Leute, die wissen, wohin es führt. Erstellen Sie die Abhängigkeitskarte, auf der der Migrationsplan aufbaut, und halten Sie sie wahr, wenn sich herausstellt, dass Teile davon falsch sind.
  2. 02Erstellen Sie die Kompatibilitätsschicht, die jedem Verbraucher die bestehenden Verträge des Altsystems mitteilt, während sich die Implementierung dahinter ändert. Kein Verbraucher wird aufgefordert, Änderungen vorzunehmen, bevor der neue Kern dafür bereit ist, und bei jeder Umstellung erfolgt ein Rollback, das bereits in der Probe durchgeführt wurde.
  3. 03Entwerfen und führen Sie Dual-Running und Reconciliation durch. Der neue Kern arbeitet neben dem alten, jeder Datensatz wird jeden Tag verglichen und jeder Unterschied wird erklärt oder behoben, bis der Zähler Null ist und dort bleibt. Der Abstimmungsbericht ist das Dokument, das der Prüfer des Kunden liest.
  4. 04Schreiben Sie die Tests als Spezifikation: Vertragstests von beiden Seiten jeder Integration, aufgeschriebene und durchgesetzte Invarianten und eine Pipeline, die eine Änderung ablehnt, die die Tests nicht akzeptieren. Ein Verhalten ohne Test ist noch kein von uns versprochenes Verhalten.
  5. 05Erstellen Sie die Integrationsschicht, versionierte APIs, Ereignisströme und Adapter mit schriftlich niedergelegten und in der Pipeline durchgesetzten Verträgen, sodass die Teams, die auf dem Kern aufbauen, ohne unsere Aufforderung umziehen können.
  6. 06Arbeiten Sie innerhalb des regulatorischen Rahmens des Kunden. Unter HIPAA bedeutet das, zu wissen, welche Daten geschützte Gesundheitsinformationen sind, und die Zugriffskontrolle und den Prüfpfad zu entwerfen, die die Regel erfordert; Gemäß den Outsourcing-Erwartungen eines Finanzverwalters bedeutet dies, dass der Kunde die Kontrolle über das, was wir aufbauen, nachweisen und daraus aussteigen kann. Entwerfen Sie so, dass die Verpflichtung durch die Architektur und nicht durch ein Richtliniendokument erfüllt wird.
  7. 07Lassen Sie den Kunden unabhängig. Dokumentation für den Ingenieur, der nach unserem Weggang hinzukommt, Beobachtbarkeit, die zeigt, was das System in der Produktion macht, und eine Übergabe, die damit endet, dass das Team des Kunden das System ändern und Nein zu uns sagen kann.

Die ersten neunzig Tage

Der erste Monat wird mit einer Live-Migration verbracht, zusammen mit der technischen Leitung des Auftrags, dem Lesen der Abhängigkeitskarte, der Kompatibilitätsschicht und den Abgleichsberichten, bevor diese geändert werden. Ziel ist es herauszufinden, warum jede Umstellung so sequenziert wurde, wie sie war, und diejenige zu finden, die neu sequenziert werden sollte.

Der zweite Monat ist die erste Komponente, die Ende-zu-Ende im Besitz ist: Ein Verbraucher wechselte auf die Kompatibilitätsschicht oder eine Abstimmungslücke wurde geschlossen, entworfen, getestet, mit dem Rollback geprobt und unter den Toren des Auftrags freigegeben, wobei die Ingenieure des Kunden von der Entwurfsüberprüfung an beteiligt waren. Am Ende präsentiert der leitende Ingenieur die Abstimmungsposition dem Lenkungsausschuss des Kunden.

Der dritte Monat ist der erste Übergang vom Plan zur Fertigstellung, wobei der technische Leiter als Gutachter und nicht als Autor im Raum ist. Die Probe, das Rollback, die Abstimmung und das Runbook gehören ab dem neunzigsten Tag dem leitenden Ingenieur.

Was geprüft wird

Migrationsurteil
Eine Entwurfsübung für einen realistischen Kernaustausch mit benannten Verbrauchern, einem Regler und keinen zulässigen Ausfallzeiten. Wir suchen nach einer Reihenfolge mit einem einstudierten Rückweg bei jedem Schritt, nicht nach einer Zielarchitektur mit Boxen.
Versöhnungsdisziplin
Ein Gespräch über eine Migration, bei der Alt und Neu uneinig waren und es eine Woche lang niemandem auffiel. Wir möchten hören, wie der Unterschied am ersten Tag festgestellt worden wäre und was Sie damit gemacht hätten.
Ingenieurstiefe
Eine Überprüfung des Codes, den Sie geschrieben haben und auf den Sie stolz sind, und eine Überprüfung des von uns geschriebenen Codes, der ein Problem enthält. In beiden Gesprächen geht es sowohl um Geschmack als auch um Korrektheit.
Tests als Spezifikation
Eine kurze Übung zum Schreiben der Tests für ein Verhalten, bevor der Code existiert. Wir suchen nach Tests, die der Prüfer eines Kunden als Versprechen lesen könnte.
Regulierungskompetenz
Eine Diskussion darüber, was HIPAA oder die Outsourcing-Erwartungen einer Finanzaufsichtsbehörde an ein bestimmtes Design erfordern würden. Die Kenntnis der Verpflichtung ist wichtiger als das Zitieren des Abschnitts.
Klarheit auf dem Prüfstand
Das Gespräch sollte Entscheidungen, Rahmenbedingungen, geprüfte Alternativen und die Bewertung der Ergebnisse anhand eines praktischen Beispiels behandeln.

Worauf wir achten

  • Jahrelange Erfahrung beim Erstellen und Betreiben von Systemen in der Produktion, einschließlich mindestens einer Migration, die durchgeführt wurde, während das Unternehmen den Geschäftsbetrieb aufrechterhielt, und mindestens einer, bei der ein Rollback durchgeführt werden musste.
  • Tiefe in mindestens einem gängigen, gut unterstützten Stack und ausreichend Breite, um eine in einem anderen geschriebene Legacy-Codebasis zu lesen; Die Rolle liest in den ersten Wochen mehr Code als sie schreibt.
  • Eine Angewohnheit, Dinge aufzuschreiben: Tests, Runbooks, Entscheidungsaufzeichnungen und die Dokumentation, die ein Nachfolger tatsächlich verwenden würde.
  • Ein Beweis dafür, dass Sie einen Kunden oder ein Team unabhängig von Ihnen verlassen und sich darüber freuen.
  • Komfort im Zimmer des Kunden. Die Rolle wird den Betriebsleitern, Prüfern und dem Lenkungsausschuss vorgelegt und danach beurteilt, wie gut der Plan ihre Fragen übersteht.
  • Arbeitsenglisch; Darüber hinaus wird in den Regionen, in denen das Unternehmen tätig ist, auch Deutsch, Französisch oder Arabisch geschätzt.

Offene Stellen

Für dieses Profil ist derzeit keine Stelle ausgeschrieben. Bewerbungen darauf werden das ganze Jahr gelesen.

Wir stellen entsprechend diesen Profilen ein, wenn es die Anforderungen erfordern. Bewerbungen werden ganzjährig gelesen.

Auf diese Stelle bewerben

Ein kurzes Formular und Ihr Lebenslauf. Jede Bewerbung wird von der Person gelesen, die Ihre Arbeit leiten würde, und jede Bewerberin, jeder Bewerber erhält eine Antwort.

Zwei oder drei Absätze. Konkret schlägt poliert.

PDF, bis 3,5 MB.

Leitender Softwareentwickler