À propos de Yves
Anglais
Capacité professionnelle complète
Français
Bilingue ou natif
Expériences
- FreelanceAudit et expertiseCONSEIL & AUDITjanvier 2017 - Aujourd'hui (9 ans et 5 mois)Juin 2020 – Logiciel pour orthophonistes – Optimisation d’un traitement TR de datas audios dans une application Python (Bibliothèques python externe sounddevice, soundcard, audioop)Python 3.7Méthodologie de travail :• Etude et mesures en « temps passé » des routines cibles du traitement◦ Analyse statique du code et isolation des traitements gourmands en CPU et/ou mémoire◦ Mise en place de sondes (marqueurs de temps) avec enregistrements fichiers en fin de traitements pour analyse différée• Réécritures de ces routines:◦ Suppression des calculs redondants par la mise en place de constantes (Ne jamais oublier que Python est interprété)◦ Conservation des calculs longs en temps d’exécution par la mise en place de cache mémoire, soit à la volée, soit au lancement du programme◦ Ré-écriture de code, ré-agencement des routines→ Résultat : gain en temps d’exécution de 35 % en moyenne→ Temps de travail : 2 journées sur poste de développement à partir du code brute+-------------------------------------------------------+Juillet 2019 – Fournisseur d’énergie - UK - Optimisation de simulations de consommation électrique pour une flotte de véhicules (Bibliothèque python externe numpy, pandas)Python 3.6Méthodologie de travail :• Etude et repérage des routines «consommatrices »◦ Lancement du profiler Python – Analyse du ration temps passé/nombre d’appels pour toutes les routines◦ Etude du code chaque fonction – Isolation des codes suspects• Réécritures des routines candidiates:◦ Suppression des calculs de redondants par la mise en place de constantes◦ Optimisation des traitements Pandas (Suppression d’appel de méthodes .apply, factorisation de traitements)◦ Mise en place de caches mémoires recalculés à la demande ou sauvegarder/charger depuis des fichiers pickles◦ Mise en place d’un mécanisme de multiprocessing via un map/reduce de données pour supprimer des traitements de lots en série.◦ Refactoring de codes→ Résultat : gain en temps d’exécution pour les traitements les plus long de x 40 (De 40 minutes à 1 minute)→ Temps de travail : 5 journées environ sur poste de développement à partir du code et des datas+-------------------------------------------------------+Juin 2018 – Site web marchand - Audit et ré-ingénierie de 4 scripts Python backoffice (Relevage de mails sur différents boites, enregistrements de pièces jointes sur ressources externes, insertion en base de données SQLServer)Python 2.7Méthodologie de travail :• Audit des 4 scripts◦ Etats des lieux au niveau bibliothèques standards, interne, externe◦ Etats des lieux au niveau des fonctions avec arbres d’appels à partir de la procédure principale◦ Etats de lieux des structures de données mise en oeuvre• Ré-ingénérie des scripts◦ Mise en place d’un fichier de configuration par script contenant les ressources externes, compte et mot de passe. Cryptage de ces derniers◦ Suppression des variables globales◦ Reécriture du code sous forme de fonction avec respect de la PEP8◦ Mise en place de fichiers de traces (DEBUG, INFO, ERROR) pour le suivi→ Résultat : Scripts documentés pour la maintenance corrective et évolutive. Scripts portables pour une migration en Python 3. Scripts supervisables→ Temps de travail : 5 journées environ sur poste de développement avec plateforme de tests complète (Ressources, mails et SGBD)+-------------------------------------------------------+Février 2017 – Gestion d’approvisionnements pharmacie – Recherche d’une fuite mémoire dans un script Python (bibliothèque externe raven pour accès Sentry)Python 2.7Méthodologie de travail :• Reproduire la fuite mémoire qui oblige à un redémarrer d’un script au bout d’une semaine.◦ En forçant les appels pour simuler les traitements sur 1 semaine◦ Isoler les fonctionnalités de l’application◦ Tester unitairement, chaque fonctionnalité pour reproduire la fuite mémoire◦ Isoler la fonctionnalité et la fonction qui produit la fuite mémoire→ Résultat : Identification de la fuite dans une bibliothèque externe écrite en C++ appelée depsuis Python (Absence d’un « del» au regard d’un « new ») - Correction effectuée par le client→ temps de travail : 1 journée en situation sur une plate-forme de production
- EDF R&D (Mi-temps)Chef de projet SGBD, Développeur Back-endaoût 2009 - Aujourd'hui (16 ans et 9 mois)Conception et mise en oeuvre d'une base de données pour le suivi des cycles de charges des véhicules électriquesTraitements multiples en backoffice
- Urbanis (Mi-temps)Chef de projetdécembre 2003 - décembre 2012 (9 ans)ParisChef de projetCréation et mise en oeuvre d'une de base de données pour le suivi des opérations de type OPAH, PIG
Recommandations
Soyez le premier à recommander Yves
Contribuez à la réussite de ce freelance en partageant votre expérience de collaboration avec lui.
Ces profils de freelance correspondent également à vos critères
Agatha Frydrych
Backend Java Software Engineer
4.7
(3)
2
Baptiste Duhen
Fullstack developer
4.6
(4)
5
Amed Hamou
Senior Lead Developer
4
(2)
7
Audrey Champion
Web developer
4.3
(3)
4
Formations
- Licence Professionnelle InformatiqueUniversité Paris VI2004