#import "@preview/modern-resume:0.1.0": * #set text(lang: "fr"); #show: modern-resume.with( author: "Xavier Morel", job-title: "Software & Data Engineer (15 ans d'expérience)", // bio: "15 YoE", // avatar: image(...) contact-options: ( email: link("mailto:morelx42@protonmail.com")[morelx42\@protonmail.com], mobile: "(+33)6.63.58.81.45", location: "France (remote)", linkedin: link("https://linkedin.com/in/xavier-morel-08307b261")[linkedin/xavier-morel], github: link("https://github.com/mx42")[github/mx42], ), ) // == Compétences #pill("Logiciel", fill: true) #pill("Data", fill: true) #pill("CI/CD", fill: true) #pill("Git", fill: true) #pill("Infra-as-Code", fill: true) // === Langages de programmation #block( stroke: black, radius: 5pt, table( columns: (1.3fr, 1fr, 1fr, 1fr), align: (center + horizon), stroke: (x, y) => ( top: if y > 0 { black }, left: if x > 0 { black }, ), table.header( [Efficacité #sym.arrow \ vs Affinité #sym.arrow.b], [★☆☆], [★★☆], [★★★], ), [♥︎♡♡], [], [], [Python], [♥︎♥︎♡], [Haskell], [Scala], [], [♥︎♥︎♥︎], [], [Rust], [], ) ) // #pill("Rust ★⯪☆ // ♥︎♥︎♥︎ // ") // #pill("Scala ★★☆ // ♥︎♥︎♡ // ") // #pill("Haskell ★☆ // ☆ // ♥︎♥︎♡") // #pill("Python ★★ // ★ // ♥︎♡♡ // ") // === Languages #pill("Français (Natif)", fill: true) #pill("Anglais (Professionnel)", fill: true) // == Experiences #v(10pt) #experience( title: "Senior Data Engineer", subtitle: "Prophesee", date-from: "Sept 2023", date-to: "Présent (1an+)", label: "", task-description: [ - Design & développement de l'infrastructure pour traîter, stocker et restituer les données pour l'entraînement ML - Développement d'outils et IU pour la validation des données - Assistance à la mise en place de pratiques de développement standard pour l'industrie #pill("Python") #pill("Rust") #pill("Github Actions") #pill("PyQT") #pill("AWS S3") #pill("MongoDB") #pill("API") #pill("Télétravail complet: Paris + Grenoble, France") ] ) #experience( title: "Senior Data Engineer", subtitle: "CybelAngel", date-from: "Mai 2019", date-to: "Sept 2023 (4 ans 5 mois)", label: "", task-description: [ - Migration d'une application monolithique ML en micro-services mieux adaptés - Intégration d'un Data Warehouse sur BigQuery pour collecter les données de l'entreprise en utilisant Airflow, Pub/Sub et Apache Beam (Dataflow) - Transformations sur BigQuery avec Airflow et DBT - Tableaux de bord Data Studio (Looker Studio) pour restituer la donnée aux décideurs #pill("Python") #pill("Airflow") #pill("BigQuery") #pill("DBT") #pill("Java") #pill("Apache Beam") #pill("BigTable") #pill("Pub/Sub") #pill("RabbitMQ") #pill("Kubernetes") #pill("Terraform") #pill("Google Cloud") #pill("Télétravail complet: Paris, France") ] ) #v(30pt) #experience( title: "Data Engineer", subtitle: "Hellowork", date-from: "Juin 2017", date-to: "Mai 2019 (2 ans)", label: "", task-description: [ - Pipeline de collecte de données utilisant Airflow, sur le Cloud Azure - Mise en place d'un cluster Hadoop (YARN+HDFS) pour exécuter des pipelines de transformations locales avec Spark #pill("Scala") #pill("Python") #pill("Airflow") #pill("Apache Spark") #pill("Azure") #pill("Hadoop Setup") #pill("Apache YARN") #pill("HDFS") #pill("Cassandra") #pill("Puppet") #pill("Télétravail hybride: Rennes, France") ] ) #experience( title: "Software Engineer", subtitle: "Keyade (GroupM/WPP)", date-from: "Juillet 2012", date-to: "Juin 2017 (5 ans)", label: "", task-description: [ - Intégration des données des API externes dans l'infrastructure de l'entreprise - Écriture du moteur d'attribution des revenus publicitaires - Migration sur des technologies Big Data Hadoop (HDFS/HBase) avec Apache Storm et MapReduce #pill("PHP") #pill("Java") #pill("Apache Storm") #pill("MapReduce") #pill("MySQL") #pill("HBase") #pill("HDFS") #pill("API") #pill("Sur site: Paris, France") ] ) #experience( title: "Web Developer", subtitle: "RegimeCoach", facility-description: "Stage Nov 2008 ~ Sept 2009 (11 mois)", date-from: "Sept 2009", date-to: "Juillet 2012 (2 ans 11 mois)", label: "", task-description: [ - Maintenance d'un site sur Joomla! - Développement d'un moteur de règles en utilisant de la programmation logique (Smodels+Lparse) - Développement d'outils backend sur PHP, ordonnancement de tâches en utilisant Gearman - Initiation à la gestion de projets professionnels (travail d'équipe, ticketing, versionnage, etc) #pill("PHP") #pill("Javascript") #pill("HTML/CSS") #pill("MySQL") #pill("Joomla!") #pill("Gearman") #pill("Smodels") #pill("On-site: Paris, France") ] ) // == Education // #experience( // title: "Eq. Master's degree", // subtitle: "Epitech Paris", // date-from: "Sept 2006", // date-to: "Sept 2009", // label: "" // ) // #experience-edu( // title: "Baccalauréat Scientifique", // subtitle: "Lycée Marie-Curie, Nogent-sur-Oise (60)", // date-from: "2003", // date-to: "2006", // task-description: [ // - Maths option // ] // ) // == Languages // #pill("French (Native)", fill: true) // #pill("English (Fluent)", fill: true)