Research Software Engineer, Distributed Systems, Artificial Life, Pi - Google Careers
- Tipo di contratto
- Tempo pieno
- Luogo
- Zürich
- Prima pubblicazione
Requisiti minimi: ###
- Laurea triennale in Computer Science, un campo tecnico correlato o esperienza pratica equivalente.
- 2 anni di esperienza nello sviluppo di software, con un focus sul calcolo distribuito e l'infrastruttura parallelizzabile.
- Esperienza nel passaggio di sistemi da esecuzioni su singola CPU a ambienti distribuiti.
- Esperienza nell'ottimizzazione dell'infrastruttura e nella gestione delle risorse.
Requisiti preferenziali: ###
- Laurea magistrale o PhD in Computer Science, Artificial Intelligence o un campo correlato.
- Esperienza con algoritmi evolutivi, ricerca nel machine learning o simulazioni di vita artificiale.
- Esperienza nella costruzione di infrastrutture che si interfacciano con benchmark di programmazione del mondo reale (ad es. LeetCode, code golf).
- Dimostrata capacità di gestire l'aumentata complessità e la segregazione geografica delle popolazioni all'interno di ecosistemi digitali.
Informazioni sul lavoro ###
Gli ingegneri del software di Google sviluppano le tecnologie di prossima generazione che cambiano il modo in cui miliardi di utenti si connettono, esplorano e interagiscono con le informazioni e tra di loro. I nostri prodotti devono gestire le informazioni su scala massiccia ed estendersi ben oltre la ricerca web. Cerchiamo ingegneri che portino idee fresche da tutte le aree, tra cui l'information retrieval, il calcolo distribuito, la progettazione di sistemi su larga scala, il networking e l'archiviazione dati, la sicurezza, l'intelligenza artificiale, l'elaborazione del linguaggio naturale, la progettazione UI e il mobile; la lista continua e cresce ogni giorno. Come ingegnere del software, lavorerai su un progetto specifico critico per le esigenze di Google, con opportunità di passare ad altri team e progetti man mano che tu e il nostro business in rapida evoluzione crescerete. Abbiamo bisogno che i nostri ingegneri siano versatili, dimostrino qualità di leadership e siano entusiasti di affrontare nuovi problemi su tutto lo stack mentre continuiamo a spingere la tecnologia in avanti.
Con la tua competenza tecnica gestirai le priorità del progetto, le scadenze e i risultati. Progetterai, svilupperai, testerai, distribuirai, manterrai e migliorerai soluzioni software.
Paradigms of Intelligence (Pi) è un team di ricerca interdisciplinare che esplora i blocchi fondamentali dell'intelligenza. Uno dei nostri principali progetti mira a sviluppare sistemi di vita artificiale radicalmente aperti per l'evoluzione dei programmi per dimostrare l'emergere della evoluzione fondamentale.
In questo ruolo, applicherai la tua esperienza nelle simulazioni distribuite per gestire ambienti su scala massiccia per la ricerca all'avanguardia nel machine learning. Costruirai un'infrastruttura modulare ed efficiente per eseguire e analizzare simulazioni di vita artificiale, supportando sistemi autoriproducenti che imparano a risolvere problemi complessi all'interno della loro nicchia ecologica.
Google Research affronta le sfide che definiscono la tecnologia di oggi e di domani. Dal condurre ricerche fondamentali all'influenzare lo sviluppo dei prodotti, i nostri team di ricerca hanno l'opportunità di impattare la tecnologia utilizzata da miliardi di persone ogni giorno.
I nostri team aspirano a fare scoperte che impattino tutti, e al centro del nostro approccio c'è la condivisione delle nostre ricerche e dei nostri strumenti per alimentare il progresso nel campo: pubblichiamo regolarmente su riviste accademiche, rilasciamo progetti come open source e applichiamo la ricerca ai prodotti Google.
Responsabilità ###
- Costruire simulazioni su larga scala e gestire l'infrastruttura di calcolo distribuito per scalare ecosistemi e esperimenti digitali.
- Creare un'infrastruttura modulare capace di eseguire esperimenti con trilioni di programmi generati e interazioni complesse.
- Ottimizzare l'uso del calcolo e gestire in modo efficiente i significativi requisiti di risorse CPU attraverso l'infrastruttura condivisa.
- Implementare uno scheduling efficiente, risolvere i fallimenti dei job e garantire che le esecuzioni su scala massiccia avvengano in modo affidabile.
- Fornire supporto ingegneristico dedicato per accelerare l'analisi dei dati e il lancio di nuovi esperimenti.
Tradotto automaticamente dall’originale.
Pubblicato 2 giorni fa