#import "@preview/modern-resume:0.1.0": * #show: modern-resume.with( author: "Xavier Morel", job-title: "Developer (15 years of experience)", // 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], ), ) // == Skills Skills: #pill("Software", fill: true) #pill("Data", fill: true) #pill("CI/CD", fill: true) #pill("Git", fill: true) #pill("Infra-as-Code", fill: true) // === Programming Languages #pill("Rust ★⯪☆ ♥︎♥︎♥︎") #pill("Scala ★★☆ ♥︎♥︎♡") #pill("Haskell ★☆☆ ♥︎♥︎♡") #pill("Python ★★★ ♥︎♡♡") // === Languages Languages: #pill("French (Native)", fill: true) #pill("English (Fluent)", fill: true) == Work Experience #experience-work( title: "Senior Data Engineer", subtitle: "Prophesee", date-from: "Sept 2023", date-to: "Present (1yr+)", task-description: [ - Design & development of the whole data infrastructure to process, store and restitute data for ML training - Development of some GUI tooling for data validation - Help with setting up industry-standard development practices #pill("Python") #pill("Rust") #pill("Github Actions") #pill("PyQT") #pill("AWS S3") #pill("MongoDB") #pill("API") #pill("Full Remote: Paris, France") ] ) #experience-work( title: "Senior Data Engineer", subtitle: "CybelAngel", date-from: "May 2019", date-to: "Sept 2023 (4yr 5mo)", task-description: [ - Migration of an unscalable ML monolithic app to more adapted micro-services - Integration of a Data Warehouse on BigQuery to collect company data using Airflow and Pub/Sub + Apache Beam (Dataflow) - Transformation on BigQuery with Airflow and DBT - Dashboards using Data Studio (Looker Studio) to give back data to different shareholders #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("Full Remote: Paris, France") ] ) #v(30pt) #experience-work( title: "Data Engineer", subtitle: "Hellowork", date-from: "June 2017", date-to: "May 2019 (2yr)", task-description: [ - Data collection pipelines using Airflow on Azure Cloud - Setup of a small Hadoop cluster (YARN+HDFS) to run local transform Spark pipelines #pill("Scala") #pill("Python") #pill("Airflow") #pill("Apache Spark") #pill("Azure") #pill("Hadoop Setup") #pill("Apache YARN") #pill("HDFS") #pill("Cassandra") #pill("Puppet") #pill("Hybrid Remote: Rennes, France") ] ) #experience-work( title: "Software Engineer", subtitle: "Keyade (GroupM/WPP)", date-from: "July 2012", date-to: "June 2017 (5 yr)", task-description: [ - Integrating remote API data into the company infra - Writing ad-revenue attribution engine - Migration to "Big Data" tech on Hadoop (HDFS/HBase) with Apache Storm & MapReduce using Java #pill("PHP") #pill("Java") #pill("Apache Storm") #pill("MapReduce") #pill("MySQL") #pill("HBase") #pill("HDFS") #pill("API") #pill("On-site: Paris, France") ] ) #experience-work( title: "Web Developer", subtitle: "RegimeCoach", facility-description: "Intern Nov 2008 ~ Sept 2009 (11mo)", date-from: "Sept 2009", date-to: "July 2012 (2yr 11mo)", task-description: [ - Joomla! CMS maintenance - Development of some rule engine using logic programming (Smodels + Lparse) - Backend PHP development and task balancing using Gearman - Website maintenance and HTML/CSS integration - Initiation to professional project management (teamwork, ticketing, versioning 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)