Défi Top Coder de 8090
Publication LinkedIn originale & Dépôt GitHub du projet
Vendredi soir, j’ai vu un post public sur Twitter/X de Chamath Palihapitiya annonçant un Top Coder Challenge ouvert organisé par sa nouvelle société, 8090 Solutions. Tout le monde pouvait participer. Le défi aurait lieu le jour suivant, ne durerait que 8 heures, et impliquerait la rétro‑ingénierie d’un système hérité en boîte noire en n’utilisant que des données historiques et quelques entretiens avec des employés.
J’ai décidé de me lancer.
À la fin de la journée, j’ai eu l’honneur de me classer 7e sur 425 ingénieurs. Vous pouvez consulter le classement ICI et consulter le code de ce défi ICI. Mais je ne vais pas mentir, j’espérais honnêtement simplement terminer quelque chose dans ce court laps de temps, donc apparaître dans le classement a été une surprise et une grande victoire personnelle pour moi.
Le défi était en solo, et l’objectif était de reproduire un système de remboursement de voyage en boîte noire datant de 60 ans, qui n’avait ni code source ni documentation. Nous avons reçu quelques artefacts, dont un cahier des charges produit, des transcriptions d’entretiens avec des employés, et un jeu de données public contenant 1 000 exemples historiques d’entrées et de sorties attendues. À partir de cela, j’ai dû déduire la logique métier derrière le calcul des montants de remboursement et implémenter une version moderne capable de produire les mêmes résultats aussi précisément que possible. Les soumissions ont été évaluées sur un jeu de données caché distinct contenant 5 000 cas de test au lieu des 1 000 initiaux. Ce jeu privé plus grand est finalement ce qui a déterminé votre score final et votre classement. Le système de notation récompensait la précision, où un score plus bas signifiait que votre solution correspondait plus étroitement au comportement caché du système original.
Pour aborder l’incertitude et les motifs dans les données, j’ai utilisé des techniques d’apprentissage automatique classiques ainsi que des heuristiques de base et une logique programmatique. Ce fut un mélange soigneux d’analyse de données, de modélisation de caractéristiques et d’approximation de règles basées sur des indices imparfaits.
Voici mon score eval pour le jeu de données public de 1 000 exemples :
✅ Evaluation Summary
------------------------
Total cases : 1000
Exact matches (<$0.01): 0
Close matches (<$1.00): 17
Average error : $31.15
Score : 3214.93
Développer une solution à un tel défi en 8 heures aurait été presque impossible sans l’aide d’outils alimentés par l’IA qui ont facilité l’exploration, l’intégration et le test rapides d’idées.
Cela ressemblait à de l’archéologie logicielle combinée à un sprint de codage en direct. Facilement l’un des défis techniques les plus intenses et gratifiants que j’ai réalisés.
Merci à Chamath Palihapitiya et Arjun Krishna d’avoir organisé un défi aussi créatif et inspirant.
Liens :