Vous êtes ici : Accueil / Jobs / Ingénieur d'étude Python (CDD 6 mois)

Ingénieur d'étude Python (CDD 6 mois)

Ingénieur d'étude en CDD au sein du Laboratoire d'Informatique de Paris 6 (Université Pierre et Marie Curie, Paris 6). Développement, en Python et un peu de C, d'un outil de génération de code pour du traitement du signal : ré-écriture d'outils internes (sous forme de proof of concepts) pour en faire un outil finalisé, diffusé à terme sous licence libre.
Créé le 31/05/2015 15:06
Ingénieur d'étude Python (CDD 6 mois)

Contexte :

Dans le cadre de d'un projet de recherche, nous recherchons, au sein du Laboratoire d'Informatique de Paris 6 (LIP6, Université Pierre et Marie Curie) un développeur Python (et un peu de C) capable de transformer nos outils internes "Proof of concept" en véritables outils utilisables par tous et diffusés sous licence libre.

Profil technique :

  • Capable d’écrire en Python : un décorateur maison, un web serveur, des tests unitaires. Savoir écrire un outils qui calcule tout un tas de trucs compliqués (ou pas) dont les formules vous sont fournis.
  • Sait faire une branche et un merge git.
  • N'est allergique au maths (algèbre linéaire, analyse d'erreur, etc.) ni l'algorithmique (théorie des graphes)
  • Capable d'écrire du code efficace en C (quelques routines spécifiques, appelées depuis le Python)

Vous serez testé à l’entretien.
Sur place vous travaillerez très certainement avec :

  • un large panel de frameworks Python (bottle, scipy/numpy, gmpy, etc.)
  • de l'arithmétique multi-précision (MPFR) et/ou intervalle (MPFI)
  • du binding C/Python
  • des vieux codes (mais documentés) en Matlab
  • un environnement Unix/Linux

Ces notions ne seront pas testées, vous pourrez les apprendre sur le tas. Un gros plus serait qu'il vous reste des notions de traitement du signal (filtres linéaires, transformées en z, etc.) pour comprendre un minimum ce sur quoi s'appliquent nos outils.

Le projet :
Nous travaillons sur de l'implémentation d'algorithmes (de traitement du signal) sur des architectures embarquées (DSP ou ASIC/FPGA). Nous nous intéressons à des architectures ne comportant pas d'unités en calcul flottant, et où donc les calculs sont fait en virgule fixe (i.e. en faisant des calculs avec des entiers et des décalages pour gérer les alignements de virgule).
Nos outils ont pour but de transformer des algorithmes de traitement du signal/commande (des filtres linéaires pour le moment) en algorithmes virgule fixe en contrôlant l'impact des erreurs de calcul et de quantification.
Ces outils font donc de la génération de code virgule fixe (suite d'additions, multiplications et décalages sur des entiers) à partir d'un filtre donné, au travers tout un tas d'étapes d'optimisation.
Actuellement, une partie des outils est développée en Matlab et il vous sera demandé d'en porter des bouts en Python en les complétant; une autre déjà en Python, mais qu'il faudra consolider/tester/améliorer et continuer. Une dernière partie concerne la réalisation d'une déclinaison web de l'outil (serveur web en Python + un peu HTML/Javascript pour faire beau).
À terme, la suite logicielle complète sera distribuée sous licence open-source.


Travail au sein d'une "team" de quatre personnes (deux chercheurs, une doctorante et vous), elle-même dans une équipe de recherche dynamique (15 pers.) du laboratoire d'Informatique de Paris 6, sur le campus Jussieu à Paris (Université Pierre et Marie Curie).


Contrat CDD de 6 mois, mais peut-être renouvelable.
Salaire à définir selon expérience.
Débutant bienvenus, à condition de savoir montrer que vous savez faire.
Prise en fonction dès que possible.


Laboratoire d'Informatique de Paris 6

LIP6
Case courrier 169
4 Place Jussieu
75252 Paris
Contact: HILAIRE Thibault