Ingénieur logiciel senior, un poste pour lequel Altuon recrute
Ingénieur logiciel senior
L'ingénieur qui déplace un grand livre pendant que l'entreprise continue ses activités et peut prouver à tout moment que l'ancien et le nouveau s'accordent.
L'ingénieur logiciel senior construit et migre les systèmes de base dont dépend tout le reste d'une organisation, pendant que cette organisation continue de fonctionner. Le rôle conçoit et implémente les couches de compatibilité, le double fonctionnement et la réconciliation qui permettent de remplacer un noyau un consommateur à la fois, écrit les tests qui spécifient ce que le système promet et remet un système que la propre équipe du client peut exécuter sans nous. Il s'agit d'un rôle de contributeur individuel avec un large mandat : l'ingénieur senior possède les composants de bout en bout, du modèle de données au runbook, sur des missions où une mauvaise étape est visible pour un régulateur.
Postuler à ce poste- Practice
- Ingénierie logicielle
- Région
- Toutes les régions
- Emploi
- Emploi à temps plein ou engagement à long terme, sur accord.
- Lieu
- À distance en Europe, au Moyen-Orient ou en Amérique du Nord, avec déplacements sur les sites clients dans la région de l'engagement.
- Langues de travail
- anglais; Allemand, français ou arabe en plus là où l'engagement l'exige.
Responsabilités
- 01Lisez le système existant tel qu'il est, et non tel que sa documentation le décrit : le code, le schéma, les tâches par lots, les consommateurs sans papiers et les personnes qui savent où il se trouve. Produisez la carte des dépendances sur laquelle le plan de migration est construit et gardez-la vraie car certaines parties s'avèrent erronées.
- 02Créez la couche de compatibilité qui communique les contrats existants du système existant à chaque consommateur pendant que la mise en œuvre sous-jacente change. Aucun consommateur n'est invité à modifier avant que le nouveau noyau ne soit prêt, et chaque basculement comporte une restauration qui a déjà été exécutée en répétition.
- 03Concevoir et exécuter le double fonctionnement et la réconciliation. Les nouveaux processus de base côtoient les anciens, chaque enregistrement est comparé chaque jour et chaque différence est expliquée ou corrigée jusqu'à ce que le décompte soit nul et y reste. Le rapport de rapprochement est le document que lit l'auditeur du client.
- 04Écrivez les tests comme spécification : des tests contractuels des deux côtés de chaque intégration, des invariants écrits et appliqués, et un pipeline qui refuse un changement que les tests n'acceptent pas. Un comportement sans test n’est pas encore un comportement que nous avons promis.
- 05Créez la couche d'intégration, les API versionnées, les flux d'événements et les adaptateurs avec des contrats écrits et appliqués dans le pipeline, afin que les équipes qui s'appuient sur le noyau puissent se déplacer sans nous le demander.
- 06Travailler dans le cadre réglementaire du client. En vertu de la HIPAA, cela signifie savoir quelles données sont des informations de santé protégées et concevoir le contrôle d'accès et la piste d'audit requis par la règle ; selon les attentes d'un superviseur financier en matière d'externalisation, cela signifie que le client peut démontrer qu'il contrôle ce que nous construisons et peut en sortir. Concevoir de manière à ce que l'obligation soit respectée par l'architecture plutôt que par un document de politique.
- 07Laissez le client indépendant. Documentation rédigée pour l'ingénieur qui nous rejoint après notre départ, observabilité qui montre ce que fait le système en production et un transfert qui se termine avec l'équipe du client capable de changer le système et de nous dire non.
Les quatre-vingt-dix premiers jours
Le premier mois est consacré à une migration en direct, aux côtés du responsable technique de l'engagement, à lire la carte des dépendances, la couche de compatibilité et les rapports de rapprochement avant de les modifier. Le but est de comprendre pourquoi chaque basculement a été séquencé tel quel, et de trouver celui qui doit être reséquencé.
Le deuxième mois est le premier composant détenu de bout en bout : un consommateur est passé à la couche de compatibilité, ou un écart de réconciliation est comblé, conçu, testé, répété avec sa restauration et publié sous les portes de l'engagement, avec les ingénieurs du client impliqués dès la revue de conception. À la fin, l'ingénieur principal présente la position de rapprochement au comité de pilotage du client.
Le troisième mois est le premier passage du plan à l'achèvement, le responsable technique dans la salle étant un réviseur plutôt qu'un auteur. La répétition, la restauration, le rapprochement et le runbook appartiennent à l'ingénieur principal au quatre-vingt-dixième jour.
Ce qui est évalué
- Jugement migratoire
- Un exercice de conception sur un remplacement réaliste du cœur avec des consommateurs nommés, un régulateur et aucun temps d'arrêt autorisé. Nous recherchons une séquence avec un retour en arrière répété à chaque étape, pas une architecture cible avec des cases.
- Discipline de réconciliation
- Une conversation sur une migration où anciens et nouveaux étaient en désaccord et où personne ne l'a remarqué pendant une semaine. Nous voulons savoir comment la différence aurait été détectée le premier jour et ce que vous en auriez fait.
- Profondeur d'ingénierie
- Une révision du code que vous avez écrit et dont vous êtes fier, et une révision du code que nous avons écrit et qui présente un problème. Les deux conversations portent autant sur le goût que sur l’exactitude.
- Tests comme spécification
- Un court exercice d'écriture des tests d'un comportement avant que le code n'existe. Nous recherchons des tests que l'auditeur d'un client pourrait considérer comme une promesse.
- Connaissances en matière de réglementation
- Une discussion sur ce que la HIPAA ou les attentes d'un superviseur financier en matière d'externalisation exigeraient d'une conception spécifique. Connaître l’obligation compte plus que citer l’article.
- La clarté sous surveillance
- L’entretien doit comprendre une discussion pratique de vos décisions, contraintes, options envisagées et méthodes d’évaluation du résultat.
Ce que nous recherchons
- Des années de création et d'exploitation de systèmes de référence en production, y compris au moins une migration effectuée pendant que l'entreprise poursuivait ses activités et au moins une que vous avez dû annuler.
- Profondeur dans au moins une pile grand public bien prise en charge et suffisamment étendue pour lire une base de code existante écrite dans une autre ; le rôle lit plus de code qu’il n’en écrit au cours de ses premières semaines.
- Une habitude d'écrire les choses : les tests, les runbooks, les enregistrements de décisions et la documentation qu'un successeur utiliserait réellement.
- Preuve que vous laissez un client ou une équipe indépendant de vous et que vous en êtes satisfait.
- Confort avec la chambre du client. Le rôle est présenté aux chefs des opérations, aux auditeurs et au comité directeur, et est jugé en fonction de la façon dont le plan survit à leurs questions.
- Anglais de travail ; L'allemand, le français ou l'arabe sont également valorisés dans les régions où l'entreprise travaille.
Postes ouverts
Aucun poste n’est ouvert pour ce profil en ce moment. Les candidatures spontanées sont lues toute l’année.
Nous embauchons pour ces profils selon les engagements requis. Les candidatures sont lues toute l’année.