#import "@preview/modern-resume:0.1.0": * #show: modern-resume.with( author: "Xavier Morel", job-title: "Software & Data Engineer (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 #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 #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( [Proficiency #sym.arrow \ vs Affinity #sym.arrow.b], [★☆☆], [★★☆], [★★★], ), [♥︎♡♡], [], [], [Python], [♥︎♥︎♡], [Haskell], [Scala], [], [♥︎♥︎♥︎], [], [Rust], [], ) ) // #pill("Rust ★⯪☆ // ♥︎♥︎♥︎ // ") // #pill("Scala ★★☆ // ♥︎♥︎♡ // ") // #pill("Haskell ★☆ // ☆ // ♥︎♥︎♡") // #pill("Python ★★ // ★ // ♥︎♡♡ // ") // === Languages #pill("French (Native)", fill: true) #pill("English (Fluent)", fill: true) // == Experiences #v(10pt) #experience( title: "Senior Data Engineer", subtitle: "Prophesee", date-from: "Sept 2023", date-to: "Present (1yr+)", label: "", 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( title: "Senior Data Engineer", subtitle: "CybelAngel", date-from: "May 2019", date-to: "Sept 2023 (4yr 5mo)", label: "", 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 stakeholders #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( title: "Data Engineer", subtitle: "Hellowork", date-from: "June 2017", date-to: "May 2019 (2yr)", label: "", 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( title: "Software Engineer", subtitle: "Keyade (GroupM/WPP)", date-from: "July 2012", date-to: "June 2017 (5 yr)", label: "", 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( title: "Web Developer", subtitle: "RegimeCoach", facility-description: "Intern Nov 2008 ~ Sept 2009 (11mo)", date-from: "Sept 2009", date-to: "July 2012 (2yr 11mo)", label: "", 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)