Offerta di lavoro
Ingegnere software senior
Il Senior Software Engineer presso Man Group in Cina sviluppa e implementa nuovi algoritmi di trading e soluzioni software in stretta collaborazione con i ricercatori quantitativi e i gestori di portafoglio. Il ruolo richiede almeno 5 anni di esperienza nell'ingegneria del software, conoscenze di Linux, Python e database, nonché esperienza con grandi volumi di dati e infrastrutture scalabili.
Il ruolo
In qualità di Senior Software Engineer nell’organizzazione di ingegneria del front-office presso Man Systematic, lavorerete a stretto contatto con i ricercatori quantitativi e i gestori di portafoglio. Le sfide che dovrete affrontare saranno molteplici e potranno includere:- Sviluppo e implementazione di nuovi algoritmi di trading
- Implementazione di ottimizzazioni delle prestazioni del software
- Ampliamento dei quadri statistici
- Miglioramento della nostra piattaforma di ricerca
- Miglioramento delle prestazioni del codice esistente grazie ad algoritmi numerici efficienti e soluzioni di cluster computing
La nostra tecnologia
Quasi tutti i nostri sistemi funzionano su Linux e la maggior parte del nostro codice è scritto in Python, con lo stack scientifico completo. Utilizziamo anche Java per i sistemi che richiedono la massima velocità di elaborazione dei dati. Per l'archiviazione ci affidiamo in gran parte a MongoDB e H2O. Utilizziamo:- Cassandra e Apache per le pipeline di dati
- Apache per il controllo dei dati
- Jenkins per l'integrazione continua
- Graphite e Prometheus per la raccolta delle metriche
- ELK per l'invio e il monitoraggio dei big data
- Docker per la containerizzazione
- OpenShift per il nostro cloud privato
- Ansible per l'automazione dell'architettura
- SRE per la comunicazione interna
Requisiti
Il nostro obiettivo è assumere solo i tecnici migliori, altamente qualificati e appassionati. I requisiti richiesti sono:- Almeno 5 anni di esperienza professionale nello sviluppo di software, preferibilmente con particolare attenzione alle applicazioni quantitative
- Esperienza nello sviluppo di sistemi e prodotti/tecnologie mission-critical con infrastruttura scalabile (database, livello cache)
- Esperienza nello sviluppo di sistemi di produzione mission-critical, con conoscenza delle best practice relative ai test, alla pianificazione delle prestazioni e della capacità
- Conoscenze pratiche su Git
- Competenza nelle piattaforme Linux e solida conoscenza dei sistemi operativi e dell'IT
- Conoscenze pratiche di una o più tecnologie di livello base, quali MS SQL, Progres o MongoDB e altre
- Esperienza comprovata nel lavoro con grandi quantità di dati, sia strutturati che non strutturati
Vantaggi
I vantaggi sono:- Esperienza nello sviluppo di software quantitativo in un ambiente di front office, ad esempio presso un hedge fund, una società di trading per conto proprio o una banca d’investimento
- Esperienza come architetto di soluzioni tecniche o project manager (con forte orientamento alla realizzazione tecnica, alla creazione di team e al mentoring di ingegneri junior) nell’ambito di progetti
- Esperienza nella creazione e nell'implementazione di sistemi (come Hadoop, Spark)
- Competenza nell'uso di tecnologie di calcolo distribuito quali Spark, Kafka, Kubernetes, Redis Messaging e data warehousing
- Conoscenza delle moderne pratiche di data engineering (compresi gli strumenti per le pipeline di dati e l’ETL, l’archiviazione e l’elaborazione distribuite) e del data warehousing
- Ottima conoscenza dei mercati finanziari e degli investimenti
- Esperienza nella gestione dei dati relativi ai mercati finanziari
- Conoscenze matematiche rilevanti, ad esempio statistica, analisi delle serie temporali
Caratteristiche personali
Cerchiamo persone con:- St
Dettagli sul lavoro