Présentation du poste

Coris, plateforme d’IA dédiée aux risques financiers, recherche un ingénieur backend (AI‑Native) basé à Palo Alto. Le salaire indiqué se situe entre 160 000 $ et 175 000 $, avec une participation de 0,25 % à 0,50 % d’équité. Le candidat doit justifier d’au moins trois ans d’expérience en Python/Django et PostgreSQL, et être à l’aise avec les API, les webhooks et les flux de fichiers batch provenant de processeurs de paiement tels que Stripe, Adyen, Fiserv, TSYS ou Repay.

Architecture et stack technique

Le cœur du système repose sur Django, Python et PostgreSQL, complété par TypeScript et Next.js pour les parties orientées produit. Les traitements asynchrones sont orchestrés par Celery, tandis que Sentry assure la surveillance des erreurs. La description du rôle mentionne explicitement la conception de schémas PostgreSQL, d’index, de partitions et d’agrégations capables de rester performants sur des tables contenant des milliards de lignes. La stack inclut également des agents d’IA (Claude Code, Codex, Cursor) intégrés dans le flux de revue de code et de génération de PR.

Défis d’ingestion et d’échelle

Coris traite « des centaines de millions d’événements par mois », ce qui se traduit par plusieurs dizaines de milliards de lignes stockées. Les intégrations doivent gérer des fichiers SFTP arrivant hors séquence, des horodatages parfois exprimés en UTC et parfois en heure locale sans indication, ainsi que des colonnes de codes de refus non conformes aux spécifications. Un exemple cité est le « backfill worker qui s’épuise en mémoire sur une table de 40 B de lignes ». Le poste requiert donc la mise en place d’opérations idempotentes, observables et conformes aux exigences PCI, ainsi que la résolution de problèmes de verrouillage, de deadlocks et de latence dans un environnement à forte charge.

IA comme outil de développement

Le texte insiste sur une approche « AI‑native » où chaque PR bénéficie d’une revue automatisée par un modèle de langage, complétée par une validation humaine. Les ingénieurs sont encouragés à recourir à des agents de codage pour les brouillons et les refactorisations, tout en conservant la responsabilité finale du code en production. Cette pratique s’étend aux fonctionnalités produit, notamment les agents de litige, l’extraction de documents et la structuration de données via des LLM. Le poste implique également de définir les standards d’utilisation de ces outils au sein de l’équipe.