Vous avez l'idée produit d'un terminal de trading, un budget, et pas d'équipe d'ingénierie. Recruter cette équipe et contracter avec un partenaire pour la construire ne sont pas deux prix pour la même chose : ils répartissent le temps, la connaissance et le risque différemment. Voici ce que chaque voie vous facture, ce qui doit figurer dans la passation, et ce que vous détenez le jour où le travail s'arrête.
Vous avez l'idée d'un terminal de trading, un budget pour le faire, et pas d'équipe d'ingénierie. La question qui suit est presque toujours posée comme une comparaison de prix : combien coûte le recrutement d'ingénieurs, et combien coûte le fait de confier la construction à une société qui vous la remet ensuite.
Ce cadrage cache la décision. Les deux voies finissent par du code qui tourne. Elles diffèrent par le moment où existe la première version utilisable, par qui comprend le système un an plus tard, par ce qui se passe quand une personne clé part, et par ce que vous détenez si le travail s'arrête.
La réponse courte : comparez les deux voies sur quatre choses plutôt que sur un tarif - le délai jusqu'à une version que vous pouvez mettre devant un trader, l'endroit où vit la connaissance du système, ce qui survit à un départ, et ce que vous possédez le jour où le travail s'arrête. Une voie qui gagne sur le tarif et perd sur les quatre est la plus chère.
Un terminal de trading n'est pas un système. C'est un chemin de données de marché, un chemin de saisie d'ordres, des contrôles de risque pre-trade, la connectivité aux places de marché ou aux brokers, l'état des positions et des comptes, un écran qui doit continuer à se redessiner pendant que le carnet bouge, et un back office qui réconcilie tout cela après la clôture.
Quand vous recrutez, vous n'achetez pas ce système. Vous construisez l'organisation qui le produira, et la connaissance de son fonctionnement part de zéro et s'accumule dans la tête des gens que vous employez. C'est un actif tant qu'ils restent, et c'est tout le risque quand ils partent.
Quand vous contractez avec un partenaire, vous achetez un système plus un historique de décisions qui existe déjà ailleurs. La connaissance démarre plus haut et se trouve hors de votre entreprise dès le premier jour. Qu'elle entre un jour à l'intérieur est une clause de contrat et une pratique de travail, pas quelque chose qui arrive tout seul.
Il vaut mieux être concret sur ce que veut dire ici la connaissance du système, car ce n'est pas le code source :
Rien de tout cela ne vit dans un dépôt par défaut. Cela vit dans une personne jusqu'à ce qu'un processus le force à l'écrit, que cette personne soit votre salarié ou un ingénieur du partenaire.
La voie du recrutement a devant elle une file d'attente que le budget n'enlève pas. Vous rédigez un poste que vous pouvez défendre techniquement, vous sourcez sur un marché où les ingénieurs de trading sont rares, vous faites passer des entretiens sur des compétences que personne chez vous ne sait encore évaluer, vous attendez les préavis, puis vous passez la première période à regarder une nouvelle équipe débattre d'une architecture au lieu d'en construire une.
La voie du partenaire commence au périmètre plutôt qu'au sourcing, et c'est de là que vient l'écart de temps. Ce qu'elle n'enlève pas, c'est le travail que vous seul pouvez faire : décider à quoi sert le terminal, quels instruments et quelles places de marché comptent d'abord, et qui sont les premiers utilisateurs.
Et une partie du calendrier n'appartient à aucune des deux voies. Ces éléments avancent à leur propre rythme, peu importe qui écrit le code :
La comparaison honnête n'est donc pas une course entre deux dates de livraison. C'est la question de savoir quelle voie met le moins de choses hors de votre influence devant le travail, et laquelle démarre plus tôt les parties que vous pouvez influencer.
Posez la même question aux deux voies. Si l'ingénieur qui a écrit le handler de données de marché arrête lundi, que se passe-t-il mardi, et que se passe-t-il le trimestre suivant.
Dans une petite équipe que vous avez recrutée, la réponse tient en général à un seul nom. Les équipes du début concentrent la connaissance par construction : une personne possède le hot path, une autre la connectivité, et la roadmap se réorganise discrètement autour de qui est encore là. Chez un partenaire, cela dépend de si plus d'un ingénieur y a lu le code, et de si votre contrat le dit.
Aucune des deux structures n'est sûre en soi. Un partenaire avec un seul ingénieur sur votre compte est exposé exactement comme une équipe interne de deux personnes, et la défense est la même dans les deux cas : une connaissance écrite au moment où elle se crée, plutôt que reconstruite après coup.
Un test de recette qui marche sur les deux voies : prenez un ingénieur qui n'a jamais vu le système, donnez-lui la documentation et une machine vierge, et demandez-lui de lancer le terminal dans un environnement de test et de passer un ordre. Tout ce qu'il doit demander à un être humain est une connaissance que vous ne détenez pas encore.
Le mot passation recouvre deux événements très différents. L'un est un transfert de fichiers. L'autre est un transfert de la capacité à continuer sans les gens qui ont construit le système, et seul le second vaut d'être payé.
Écrivez le second dans le périmètre sous forme d'une liste d'artefacts, avec un test de recette attaché à chacun. Une liste raisonnable ressemble à ceci :
Une passation jamais répétée est un plan, pas un livrable. Répétez-la au milieu du projet, pas après la dernière facture, et la répétition est simple : vos ingénieurs déploient un changement puis le rollback pendant que ceux qui ont écrit le système regardent.
La propriété est une question distincte de la passation, et elle se règle dans le contrat avant le début du travail plutôt qu'elle ne se découvre à la fin. Notre propre réponse tient en une phrase, et nous ne la raccourcissons dans aucune version d'aucun document.
Le client conserve la pleine propriété du produit et du code, à l'exception de nos composants réutilisables. Cette exception est la partie à lire de près chez n'importe quel partenaire, le nôtre compris : demandez quels sont les composants réutilisables, à quelles conditions vous continuez de les utiliser, si le système se construit sans quoi que ce soit que vous ne puissiez reconstruire vous-même, et ce qu'il advient de ces composants si vous cessez de travailler ensemble.
La question est en général posée en binaire - recruter une équipe ou confier le tout à quelqu'un d'autre. En pratique, la plupart des projets se situent entre ces deux pôles, et cette position a le droit de changer à mesure que le système mûrit.
Trois formats : prestation complète, équipe dédiée, ou ingénieurs intégrés à votre équipe. C'est ainsi que nous décrivons notre propre côté, et la différence entre les trois n'est pas la facture - c'est qui tient le plan, qui tient les priorités, et qui répond du résultat.
Ce dernier point dissout l'essentiel de la question de départ. La meilleure version de la voie partenaire prévoit votre propre équipe dès le début : vous recrutez face à un système qui existe déjà, vos entretiens sont éclairés par le code que le candidat maintiendra, et la première chose que lit un nouvel arrivant est une décision consignée plutôt qu'un dépôt vide.
La comparaison des tarifs est le chiffre le moins utile de cette décision, parce que les deux voies vous facturent dans des unités différentes. Mettez les deux listes côte à côte et chiffrez-les honnêtement.
La voie du recrutement vous facture :
La voie du partenaire vous facture :
Chiffrez ensuite les sorties, car les deux voies en ont une. La voie du recrutement se termine en réduisant une équipe que vous avez bâtie, et la connaissance s'en va dans ces têtes-là. La voie du partenaire se termine par une passation que vous avez répétée ou non, et la distance entre ces deux fins, c'est le risque de la voie.
Avant de signer quoi que ce soit, passez les deux options par une seule question : si tout s'arrêtait vendredi, que détiendrions-nous encore lundi. Répondez en artefacts - dépôts, environnements reproductibles, documentation, et gens capables de reconstruire le système à partir de tout cela - parce que les intentions ne survivent pas à un départ, et les artefacts si.
Ce qu'amBrain peut étayer publiquement : nous construisons des logiciels à Erevan, en Arménie, depuis 2019, avec les hot paths écrits en Rust, nous avons construit le terminal de trading Spectre Trade, et une mini-bourse que nous avons construite tourne en production en colocation MOEX. Si vous pesez un recrutement contre un partenaire pour votre propre terminal, emmenez la liste de passation ci-dessus dans la première conversation et demandez à celui qui est en face, nous compris, d'y répondre ligne par ligne.
Apportez votre architecture actuelle et le mode de défaillance qui vous inquiète : nous les passerons en revue ensemble en une demi-heure.