Informazioni sul ruolo
Mercor collabora con un laboratorio di ricerca sull'IA di frontiera per coinvolgere ingegneri del software esperti, con una profonda competenza nella migrazione e nella modernizzazione di codebase legacy. Cerchiamo ingegneri che abbiano eseguito personalmente migrazioni complesse su sistemi di grandi dimensioni e di livello produttivo, in particolare nei servizi finanziari, nel fintech/pagamenti, nelle assicurazioni, nella sanità, nelle telecomunicazioni, nelle grandi aziende tecnologiche e in altre imprese mission-critical. La solida esperienza pratica con migrazioni in produzione è la qualifica principale.
Cosa farà
- Progettare, implementare, rivedere e valutare attività complesse di migrazione e modernizzazione di codebase.
- Analizzare codice legacy, dipendenze, API, database, sistemi di build e infrastruttura per determinare approcci di migrazione sicuri.
- Preservare funzionalità, retrocompatibilità, integrità dei dati, sicurezza e prestazioni durante le migrazioni.
- Sviluppare test e strategie di validazione per individuare regressioni di migrazione e differenze di comportamento.
- Valutare le soluzioni di migrazione generate dall'IA in termini di correttezza, completezza, manutenibilità e prontezza per la produzione.
Esperienza di migrazione rilevante
I candidati devono avere una profonda competenza in uno o più dei seguenti ambiti:
- Linguaggio/versione: Java 8 → 17/21, .NET legacy → .NET moderno, Python 2 → 3, PHP 7 → 8
- Riscritture di linguaggio: COBOL → Java/Python, JavaScript → TypeScript
- Framework: Angular, Rails, Django, Spring/Spring Boot, ASP.NET, Next.js/Astro e altri principali aggiornamenti/sostituzioni di framework
- Database e ORM: Oracle/MySQL → PostgreSQL, SQL → NoSQL, Hibernate → jOOQ, Sequelize → Prisma, SQL puro → ORM
- Infrastruttura: VM/bare metal → container, Docker/Kubernetes, architetture cloud-native
- CI/CD: Jenkins/Travis → GitHub Actions, GitLab CI o pipeline di deployment moderne
- Strumenti di build/pacchettizzazione: Maven → Gradle, Webpack → Vite, CRA → Next.js, npm → pnpm
- API: REST → GraphQL, HTTP/REST → gRPC, SOAP/API legacy → interfacce moderne
- Autenticazione: autenticazione legacy → OAuth/OIDC, SAML/SSO, moderni sistemi di identità e autorizzazione
- Repository: Polyrepo → monorepo con Bazel, Nx, Turborepo o strumenti simili
- Testing: migrazione di framework di test unitari, di integrazione, per browser ed E2E
- Dipendenze/SDK: sostituzione di librerie, API, runtime e SDK dei fornitori deprecati o a fine vita (EOL)
Profilo ideale
- Almeno 5 anni di esperienza professionale nell'ingegneria del software, idealmente a livello Senior, Staff, Principal o equivalente.
- Responsabilità diretta o contributi tecnici sostanziali in migrazioni di produzione su larga scala.
- Esperienza con sistemi maturi caratterizzati da debito tecnico, dipendenze complesse, integrazioni legacy e rischio significativo di regressione.
- Solida conoscenza di compatibilità, test, osservabilità, rilasci graduali, strategie di rollback ed equivalenza comportamentale.
- Capacità di ragionare in profondità su codebase poco familiari e di diagnosticare errori di migrazione sottili.
- Particolarmente apprezzati: ingegneri che hanno modernizzato sistemi di core banking, pagamenti, trading, assicurazioni, sanità, telecomunicazioni o altri sistemi ad alta affidabilità.
- Per la modernizzazione COBOL/mainframe, è particolarmente apprezzata l'esperienza con tecnologie quali z/OS, CICS, JCL, DB2, VSAM, elaborazione batch e migrazioni da COBOL a Java/Python.
Perché unirsi a noi
- Applicare la propria competenza in materia di migrazione per contribuire a plasmare il modo in cui i modelli di IA di frontiera comprendono ed eseguono modernizzazioni software complesse.
- Lavorare su problemi tecnicamente impegnativi, modellati su sistemi legacy reali su scala di produzione.
- Mettere a disposizione la competenza maturata in grandi migrazioni aziendali, senza bisogno di un'esperienza come maintainer open source.
- Opportunità di lavoro continuativo con l'espansione del programma di ricerca.