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 entreprise, 8090 Solutions. Tout le monde pouvait participer. Le défi aurait lieu le jour suivant, ne durerait que 8 heures, et impliquerait l’ingénierie inverse 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 sur 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 de 60 ans qui n’avait ni code source ni documentation. Nous avons reçu quelques artefacts incluant un brief 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 qui pourrait 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é séparé contenant 5 000 cas de test au lieu des 1 000 originaux. Ce jeu privé plus grand est ce qui a finalement 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. C’était 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 :