master
Félix Desmaretz 2024-01-23 10:59:27 +01:00
parent cdd21d54b1
commit 6c0abb045c
17 changed files with 1555 additions and 0 deletions

349
cv/cv.typ Normal file
View File

@ -0,0 +1,349 @@
#import "utils.typ"
// set rules
#let setrules(uservars, doc) = {
set text(
font: uservars.bodyfont,
size: uservars.fontsize,
hyphenate: false,
)
set list(
spacing: uservars.linespacing
)
set par(
leading: uservars.linespacing,
justify: true,
)
doc
}
// show rules
#let showrules(uservars, doc) = {
// uppercase section headings
show heading.where(
level: 2,
): it => block(width: 100%)[
#set align(left)
#set text(font: uservars.headingfont, size: 1em, weight: "bold")
#if (uservars.at("headingsmallcaps", default:false)) {
smallcaps(it.body)
} else {
// upper(it.body)
it.body
}
#v(-0.75em) #line(length: 100%, stroke: 1pt + black) // draw a line
]
// name title
show heading.where(
level: 1,
): it => block(width: 100%)[
#set text(font: uservars.headingfont, size: 2em, weight: "bold")
#if (uservars.at("headingsmallcaps", default:false)) {
smallcaps(it.body)
} else {
// upper(it.body)
it.body
}
#v(2pt)
]
doc
}
// set page layout
#let cvinit(doc) = {
doc = setrules(doc)
doc = showrules(doc)
doc
}
// address
#let addresstext(info, uservars) = {
if uservars.showAddress {
block(width: 100%)[
#info.personal.location.city, #info.personal.location.region, #info.personal.location.country
#v(-4pt)
]
} else {none}
}
#let fa(body) = {
set text(font:"FontAwesome")
[#body]
}
#let contacttext(info, uservars) = block(width: 100%)[
#let profiles = (
box(link("mailto:" + info.personal.email)[#fa(" ") #info.personal.email]),
if uservars.showNumber {box(link("tel:" + info.personal.phone)[#fa("") #info.personal.phone])} else {none},
if info.personal.url != none {
box(link(info.personal.url)[#fa(" ") #info.personal.url.split("//").at(1)])
}
).filter(it => it != none) // filter out none elements from the profile array
#if info.personal.profiles.len() > 0 {
for profile in info.personal.profiles {
profiles.push(
box(link(profile.url)[#profile.username])
)
}
}
#set text(font: uservars.bodyfont, weight: "light", size: uservars.fontsize * 1)
#pad(x: 0em)[
#profiles.join([#sym.space.en|#sym.space.en])
]
]
#let cvheading(info, uservars) = {
align(center)[
= #info.personal.name
#addresstext(info, uservars)
#contacttext(info, uservars)
]
}
#let cvwork(info, isbreakable: true) = {
if info.experience != none {block[
== Work Experience
#for w in info.experience {
block(width: 100%, breakable: isbreakable)[
#if w.url != none [
*#link(w.url)[#w.with]* #h(1fr) *#w.where* \
] else [
*#w.with* #h(1fr) *#w.where* \
]
]
// create a block layout for each work entry
let index = 0
for p in w.what {
if index != 0 {v(0.6em)}
block(width: 100%, breakable: isbreakable, above: 0.6em)[
// parse ISO date strings into datetime objects
#let start = utils.strpdate(p.startDate)
#let end = utils.strpdate(p.endDate)
// line 2: position and date range
#text(style: "italic")[#p.what] #h(1fr)
#start #sym.dash.en #end \
// highlights or description
#for hi in p.why [
- #eval(hi, mode: "markup")
]
]
index = index + 1
}
}
]}
}
#let cveducation(info, isbreakable: true) = {
if info.education != none {block[
== Education
#for edu in info.education {
let start = utils.strpdate(edu.startDate)
let end = utils.strpdate(edu.endDate)
let edu-items = ""
if edu.honors != none {edu-items = edu-items + "- *Honors*: " + edu.honors.join(", ") + "\n"}
if edu.why != none {edu-items = edu-items + "- *Courses*: " + edu.why.join(", ") + "\n"}
if edu.highlights != none {
for hi in edu.highlights {
edu-items = edu-items + "- " + hi + "\n"
}
edu-items = edu-items.trim("\n")
}
// create a block layout for each education entry
block(width: 100%, breakable: isbreakable)[
// line 1: institution and location
#if edu.url != none [
*#link(edu.url)[#edu.with]* #h(1fr) *#edu.what* \
] else [
*#edu.with* #h(1fr) *#edu.what* \
]
// line 2: degree and date
#text(style: "italic")[#edu.what] #h(1fr)
#start #sym.dash.en #end \
#eval(edu-items, mode: "markup")
]
}
]}
}
#let cvaffiliations(info, isbreakable: true) = {
if info.affiliations != none {block[
== Leadership & Activities
#for org in info.affiliations {
// parse ISO date strings into datetime objects
let start = utils.strpdate(org.startDate)
let end = utils.strpdate(org.endDate)
// create a block layout for each affiliation entry
block(width: 100%, breakable: isbreakable)[
// line 1: organization and location
#if org.url != none [
*#link(org.url)[#org.with]* #h(1fr) *#org.where* \
] else [
*#org.with* #h(1fr) *#org.where* \
]
// line 2: position and date
#text(style: "italic")[#org.position] #h(1fr)
#start #sym.dash.en #end \
// highlights or description
#if org.highlights != none {
for hi in org.highlights [
- #eval(hi, mode: "markup")
]
} else {}
]
}
]}
}
#let cvprojects(info, isbreakable: true) = {
if info.projects != none {block[
== Projects
#for project in info.projects {
// parse ISO date strings into datetime objects
let start = utils.strpdate(project.startDate)
let end = utils.strpdate(project.endDate)
// create a block layout for each project entry
block(width: 100%, breakable: isbreakable)[
// line 1: project name
#if project.url != none [
*#link(project.url)[#project.name]* \
] else [
*#project.name* \
]
// line 2: organization and date
#text(style: "italic")[#project.affiliation] #h(1fr) #start #sym.dash.en #end \
// summary or description
#for hi in project.highlights [
- #eval(hi, mode: "markup")
]
]
}
]}
}
#let cvawards(info, isbreakable: true) = {
if info.awards != none {block[
== Honors & Awards
#for award in info.awards {
// parse ISO date strings into datetime objects
let date = utils.strpdate(award.date)
// create a block layout for each award entry
block(width: 100%, breakable: isbreakable)[
// line 1: award title and location
#if award.url != none [
*#link(award.url)[#award.title]* #h(1fr) *#award.location* \
] else [
*#award.title* #h(1fr) *#award.location* \
]
// line 2: issuer and date
Issued by #text(style: "italic")[#award.issuer] #h(1fr) #date \
// summary or description
#if award.highlights != none {
for hi in award.highlights [
- #eval(hi, mode: "markup")
]
} else {}
]
}
]}
}
#let cvcertificates(info, isbreakable: true) = {
if info.certificates != none {block[
== Licenses & Certifications
#for cert in info.certificates {
// parse ISO date strings into datetime objects
let date = utils.strpdate(cert.date)
// create a block layout for each certificate entry
block(width: 100%, breakable: isbreakable)[
// line 1: certificate name
#if cert.url != none [
*#link(cert.url)[#cert.name]* \
] else [
*#cert.name* \
]
// line 2: issuer and date
Issued by #text(style: "italic")[#cert.issuer] #h(1fr) #date \
]
}
]}
}
#let cvpublications(info, isbreakable: true) = {
if info.publications != none {block[
== Research & Publications
#for pub in info.publications {
// parse ISO date strings into datetime objects
let date = utils.strpdate(pub.releaseDate)
// create a block layout for each publication entry
block(width: 100%, breakable: isbreakable)[
// line 1: publication title
#if pub.url != none [
*#link(pub.url)[#pub.name]* \
] else [
*#pub.name* \
]
// line 2: publisher and date
Published on #text(style: "italic")[#pub.publisher] #h(1fr) #date \
]
}
]}
}
#let cvskills(info, isbreakable: true) = {
if (info.languages != none) or (info.skills != none) or (info.interests != none) {block(breakable: isbreakable)[
== Skills, Languages, Interests
#if (info.languages != none) [
#let langs = ()
#for lang in info.languages {
langs.push([#lang.language (#lang.fluency)])
}
- *Languages*: #langs.join(", ")
]
#if (info.skills != none) [
#for group in info.skills [
- *#group.category*: #group.skills.join(", ")
]
]
#if (info.interests != none) [
- *Interests*: #info.interests.join(", ")
]
]}
}
#let cvreferences(info, isbreakable: true) = {
if info.references != none {block[
== References
#for ref in info.references {
block(width: 100%, breakable: isbreakable)[
#if ref.url != none [
- *#link(ref.url)[#ref.name]*: "#ref.reference"
] else [
- *#ref.name*: "#ref.reference"
]
]
}
]} else {}
}
#let endnote() = {
place(
bottom + right,
block[
#set text(size: 5pt, font: "Consolas", fill: silver)
Félix Desmaretz #datetime.today().display("[year]-[month]-[day]")
]
)
}

42
cv/utils.typ Normal file
View File

@ -0,0 +1,42 @@
// Helper Functions
#let monthname(n, display: "short") = {
n = int(n)
let month = ""
if n == 1 { month = "January" }
else if n == 3 { month = "March" }
else if n == 2 { month = "February" }
else if n == 4 { month = "April" }
else if n == 5 { month = "May" }
else if n == 6 { month = "June" }
else if n == 7 { month = "July" }
else if n == 8 { month = "August" }
else if n == 9 { month = "September" }
else if n == 10 { month = "October" }
else if n == 11 { month = "November" }
else if n == 12 { month = "December" }
else { result = none }
if month != none {
if display == "short" {
month = month.slice(0, 3)
} else {
month
}
}
month
}
#let strpdate(isodate) = {
let date = ""
if lower(isodate) != "present" {
date = datetime(
year: int(isodate.slice(0, 4)),
month: int(isodate.slice(5, 7)),
day: int(isodate.slice(8, 10))
)
date = date.display("[month repr:short]") + " " + date.display("[year repr:full]")
} else if lower(isodate) == "present" {
date = "Present"
}
return date
}

132
data/education.yaml Normal file
View File

@ -0,0 +1,132 @@
# licence_maths:
# startDate: 2016-09-01
# endDate: 2019-06-01
# fr:
# what: Licence de Mathématiques
# with: Université Paris 7 Diderot
# where: Paris (75)
# why:
# - Mention Bien
# en:
# what: Bachelor of Mathematics
# with: Université Paris 7 Diderot
# where: Paris, France
# why:
# - Honours
# licence_info:
# startDate: 2016-09-01
# endDate: 2019-06-01
# fr:
# what: Licence dInformatique
# with: Université Paris 7 Diderot
# where: Paris (75)
# why:
# - 1ère place à la journée francilienne de programmation 2019
# - Mention Bien
# en:
# what: Bachelor's degree in Computer Science
# with: Université Paris 7 Diderot
# where: Paris, France
# why:
# - 1st place at the JFP2019 contest
# - Honours
# bafa:
# startDate: 2017-05-01
# endDate: 2017-05-01
# fr:
# what: Brevet dAptitude aux Fonctions dAnimateur (BAFA)
# with: UFCV
# where: Paris (75)
# why:
# en:
# what: BAFA ( Youth Work Diploma - French qualification)
# with: UFCV
# where: Paris, France
# why:
#bac:
# startDate: 2013-09-01
# endDate: 2016-06-01
# fr:
# what: Baccalauréat Scientifique Mention Bien
# with: Lycée Michelet
# where: Vanves (92)
# # why:
# # - Membre du commité de rédaction du Zeugma
# # - Élu Académique au Conseil pour la Vie Lycéenne
# en:
# what: Baccalauréat scientifique - with Honours
# with: Lycée Michelet
# where: Vanves, France
# # why:
# # - Member of the editorial board of the high school newspaper 'Zeugma'
# # - Academically Elected to the High School Life Council
master_info:
startDate: 2019-09-01
endDate: 2021-09-01
fr:
what: Master dInformatique - Sciences des données
with: Université de Paris
where: Paris (75)
why:
- Théorie des jeux, Technologies du Big Data, Algorithmique, Base de données, Algorithmique répartie, Data Scraping
- Mention Très Bien
en:
what: Master's degree in computer science - Data Science
with: Université de Paris
where: Paris, France
why:
- Game Theory, Big Data Technologies, Algorithms, Database, Distributed Algorithms, Data Scraping
- Highest Honours
master_maths:
startDate: 2019-09-01
endDate: 2021-09-01
fr:
what: Master de Mathématiques Sciences des données
with: Université de Paris
where: Paris (75)
why:
- Probabilités, Statistiques, Optimisation, NLP, Machine Learning, Deep Learning, Algorithmique Big Data
- Mention Très Bien
en:
what: Master of Mathematics - Data Science
with: Université de Paris
where: Paris, France
why:
- Probabilities, Statistics, Optimization, NLP, Machine Learning, Deep Learning, Big Data Algorithms
- Highest Honours
# master1:
# startDate: 2019-09-01
# endDate: 2020-06-01
# fr:
# what: Master 1 dInformatique, Master 1 de Mathématiques Sciences des données Mention Bien
# with: Université de Paris
# where: Paris (75)
# why:
# - Probablités, Statistiques, Optimisation
# - Théorie des jeux, Technologies du Big Data, Algorithmique
# - Membre actif de lassociation IP7 Aide à la mise en place dun concours de programmation
# en:
# what: 1st year of Master's degree in computer science, 1st year of Master of Mathematics - Data Science - with Honours
# with: Université de Paris
# where: Paris, France
# why:
# - Probabilities, Statistics, Optimization
# - Game Theory, Big Data Technologies, Algorithms
# - Active member of the IP7 association - Help in setting up a programming contest
# master2:
# startDate: 2020-09-01
# endDate: 2021-09-01
# fr:
# what: Master 2 dInformatique, Master 2 de Mathématiques Sciences des données
# with: Université de Paris
# where: Paris (75)
# why:
# - NLP, Machine Learning, Deep Learning, Algorithmique des données massives
# - Base de données, Algorithmique répartie, Méthodes algorithmiques pour l'accès à l'information numérique
# en:
# what:
# with: Université de Paris
# where: Paris, France
# why:
# - NLP, Machine Learning, Deep Learning, Massive Data Algorithms
# - Database, Distributed Algorithms, Algorithmic Methods for Accessing Digital Information

18
data/en/education.yaml Normal file
View File

@ -0,0 +1,18 @@
master_info:
startDate: 2019-09-01
endDate: 2021-09-01
what: Master's degree in computer science - Data Science
with: Université de Paris
where: Paris, France
why:
- Game Theory, Big Data Technologies, Algorithms, Database, Distributed Algorithms, Data Scraping
- Highest Honours
master_maths:
startDate: 2019-09-01
endDate: 2021-09-01
what: Master of Mathematics - Data Science
with: Université de Paris
where: Paris, France
why:
- Probabilities, Statistics, Optimization, NLP, Machine Learning, Deep Learning, Big Data Algorithms
- Highest Honours

32
data/en/experience.yaml Normal file
View File

@ -0,0 +1,32 @@
- where: Paris, France
with: Diggers
url: https://diggers-consulting.com/
what:
- startDate: 2022-02-04
endDate: present
what: Data Engineer Consultant - Natixis
why:
- Management, design and implementation of multi-stream data producer computing and sending up to 1 billion messages per day.
- Implementation of financial data computation in a distributed environment.
- Scala, SQL, Spark, Kafka, Hive, Typelevel
- where: Montrouge, France
with: Crédit Agricole Leasing & Factoring
url: https://www.ca-leasingfactoring.com/
what:
- startDate: 2021-04-16
endDate: 2021-10-16
what: Data Scientist Intern
why:
- "Feature Engineering via network modeling \\& analysis giving a 10\\% score improvement for prediction models"
- Development of a multi-environment pipeline execution program allowing the usage of tools missing in one or another
- Python, Scala, SQL, Spark, Pandas, Hive, XGBoost, iGraph, GraphX
- with: University Association IP7
where: Paris, France
url: http://ip7.informatique.univ-paris-diderot.fr:8080/
what:
- what: Volunteer
startDate: 2018-09-01
endDate: 2021-06-01
why:
- "Help in setting up a programming contest \\& writing algorithmic problems"
- Facilitator for multiple Linux installation parties

101
data/en/interests.yaml Normal file
View File

@ -0,0 +1,101 @@
# content_fr: &interests_content_fr
# - Programmation Compétitive
# - Jeux de société & vidéo
# - Randonnées
# - Guitare
# - Danse Rock
# - Japanimation
# - Cinéma
# content_en: &interests_content_en
# - Competitive Programming
# - Board & Video games
# - Hiking
# - Guitar
# - Rock Dancing
# - Japanese animation
# - Cinema
# fr:
# title: "Centres d'intérêts"
# content: *interests_content_fr
# en:
# title: "Hobbies & Interests"
# content: *interests_content_en
computer:
content_fr: &cfr
- Programmation Compétitive
content_en: &cen
- Competitive Programming
fr:
title: Informatique
content: *cfr
en:
title: Computers
content: *cen
sports:
content_fr: &sfr
- Randonnées
- Course à pied
- Escalade
content_en: &sen
- Hiking
- Running
- Climbing
fr:
title: Sports
content: *sfr
en:
title: Sports
content: *sen
video:
content_fr: &vfr
- Japanimation
- Cinéma
content_en: &ven
- Japanese animation
- Cinema
fr:
title: Vidéo
content: *vfr
en:
title: Video entertainment
content: *ven
games:
content_fr: &gfr
- Jeux de société
- Jeux vidéo
content_en: &gen
- Board games
- Video games
fr:
title: Jeux
content: *gfr
en:
title: Gaming entertainment
content: *gen
music:
content_fr: &mfr
- Guitare
- Math-rock
- Electro-Pop
content_en: &men
- Guitar
- Math-rock
- Electro-Pop
fr:
title: Musique
content: *mfr
en:
title: Music
content: *men
# other:
# type: single
# content_fr: &ofr
# - Jonglage
# content_en: &oen
# - Juggling
# fr:
# title: Autres
# content: *ofr
# en:
# title: Others
# content: *oen

16
data/en/languages.yaml Normal file
View File

@ -0,0 +1,16 @@
french:
type: single
fr:
title: Français
content: Maternelle
en:
title: French
content: Native
english:
type: single
fr:
title: Anglais
content: Courant
en:
title: English
content: Fluent

54
data/en/months.yaml Normal file
View File

@ -0,0 +1,54 @@
long:
en:
- January
February
March
April
May
June
July
August
September
October
November
December
fr:
- Janvier
Février
Mars
Avril
Mai
Juin
Juillet
Août
Septembre
Octobre
Novembre
Décembre
short:
en:
- Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
fr:
- Janv
Févr
Mars
Avr
Mai
Juin
Juill
Août
Sept
Oct
Nov
Déc

15
data/en/personal.yaml Normal file
View File

@ -0,0 +1,15 @@
name: Félix Desmaretz
email: job@felix-desmaretz.eu
phone: (+33) 6 52 93 43 54
url: https://www.felix-desmaretz.eu/en
location:
city: Malakoff
region: Hauts-de-Seine
country: France
profiles:
- network: LinkedIn
username:  felix-desmaretz
url: https://linkedin.com/in/felix-desmaretz
- network: GitHub
username:  firgaty
url: https://github.com/firgaty

154
data/en/skills.yaml Normal file
View File

@ -0,0 +1,154 @@
computer_languages:
content_computer_languages: &content_computer_languages
- Python
- Scala
- SQL
- Java
- Clojure
- R
- C
- C++
- LaTeX
- Bash
- VBA
fr:
title: Langages Informatique
content: *content_computer_languages
en:
title: Computer Languages
content: *content_computer_languages
libraries:
content: &content_data_tools
- Numpy
- Pandas
- Spark/PySpark
- PyTorch
- Spacy
- Jupyter
- scikit-learn
- Tidyverse
- XGBoost
- Typelevel
fr:
title: Librairies
content: *content_data_tools
en:
title: Libraries
content: *content_data_tools
frameworks:
content: &content_frameworks
- Flask
- Hugo
- QT
fr:
title: Frameworks
content: *content_frameworks
en:
title: Frameworks
content: *content_frameworks
data_science:
content_fr: &ds_content_fr
- Analyse de données
- Calcul distribué
- Data Mining
- NLP
- Machine-Learning
- Deep-Learning
- Base de données
- Analyse de réseaux
- Analyse de séries temporelles
content_en: &ds_content_en
- Data Analysis
- Optimization
- Distributed Computing
- Data Mining
- NLP
- Machine-Learning
- Deep-Learning
- Database Systems
- Network Analysis
- Time Series Analysis
fr:
title: "Sciences et Ingénierie des Données"
content: *ds_content_fr
en:
title: Data Science and Engineering
content: *ds_content_en
os:
fr:
title: "Systèmes d'Exploitation"
content:
- Systèmes UNIX: [Linux, BSD]
- Windows
en:
title: "Operating Systems"
content:
- UNIX systems: [Linux, BSD]
- Windows
db:
content:
&db_content [
PostgreSQL,
SQLite,
Neo4j,
Cassandra,
MariaDB,
Apache Hive,
SAP IQ,
SAP ASE,
]
fr:
title: Bases de données
content: *db_content
en:
title: Database systems
content: *db_content
office_automation:
content: &content
- Microsoft Office: [Word, Excel, PowerPoint, Outlook]
- Libre Office
fr:
title: "Bureautique"
content: *content
en:
title: "Office Automation"
content: *content
project_management:
content: &other_content [Git, Kanban, Scrum, Agile]
fr:
title: Gestion de Projet
content: *other_content
en:
title: Project Management
content: *other_content
other_it:
content: &other_it_content
- Apache Hadoop: ["YARN", "MapR", "HDFS"]
- Docker
- Proxmox VE
fr:
title: "Autres Outils Informatiques"
content: *other_it_content
en:
title: "Other IT Tools"
content: *other_it_content
interests:
fr:
title: Intérêts
content:
- Jeux de Société
- Japanimation
- Randonnées
- Escalade
- Creative Coding
- Course à Pied
en:
title: Interests
content:
- Board Games
- Japanimation
- Hiking
- Climbing
- Creative Coding
- Running

86
data/experience.yaml Normal file
View File

@ -0,0 +1,86 @@
# 3quatre:
# startDate: 2011-09-01
# endDate: 2019-09-01
# fr:
# what: Animateur Bénévole
# with: Association 3quatre
# where: Malakoff (92)
# why:
# - Organisation évènementielle
# - Encadrement de groupe de musiques de mineurs de 13 à 16 ans
# - Animation datelier de découverte musicale pour mineurs de 8 à 12 ans
# en:
# what: Volunteer facilitator
# with: Association 3quatre
# where: Malakoff, France
# why:
# - Event organization
# - Supervision of music groups of minors aged 13 to 16 years old
# - Supervision of musical discovery workshops for minors aged 8 to 12 years old
# interim:
# startDate: 2018-08-01
# endDate: 2018-09-01
# fr:
# what: Intérimaire
# with: Synergie Paris Tertiaire
# where: Paris (75)
# why:
# - Mission pour le service LADOM (LAgence De lOutre-mer pour la Mobilité) Opérateur de saisie
# en:
# what: Temporary Worker
# with: Synergie Paris Tertiaire
# where: Paris, France
# why:
# - Mission at the LADOM service of the French Ministry of Overseas - Data Entry Operator
associationIP7:
startDate: 2018-09-01
endDate: 2021-06-01
fr:
what: Bénévole
with: Association Universitaire IP7
where: Paris (75)
why:
- "Mise en place dun concours de programmation \\& écriture de problèmes algorithmiques"
- Animateur de plusieurs install party Linux
en:
what: Volunteer
with: University Association IP7
where: Paris, France
why:
- "Help in setting up a programming contest \\& writing algorithmic problems"
- Facilitator for multiple Linux installation parties
stageCALF:
where: Montrouge (92), France
with: Crédit Agricole Leasing \& Factoring
what:
- startDate: 2021-04-16
endDate: 2021-10-16
fr:
- what: Data Scientist Stagiaire
why:
- "Feature engineering via modélisation \\& analyse de graphes augmentant les scores des modèles de prédictions de 10\\%"
- Développement d'une solution d'exécution de chaînes de traitement multi-environnements permettant un plus large choix d'outils.
- Python, Scala, SQL, Spark, Pandas, Hive, XGBoost, iGraph, GraphX
en:
why:
- "Feature Engineering via network modeling \\& analysis giving a 10\\% score improvement for prediction models"
- Development of a multi-environment pipeline execution program allowing the usage of tools missing in one or another
- Python, Scala, SQL, Spark, Pandas, Hive, XGBoost, iGraph, GraphX
consultantDiggers:
where: Paris (75), France
with: Diggers
what:
- startDate: 2022-02-04
# endDate: 2024-02-14
fr:
what: Consultant Data Engineer - Natixis
why:
- Gestion, conception et développement d'un service d'alimentation de données multi-flux calculant et produisant jusqu'à 1 milliard de messages par jour.
- Développement de batchs de calculs de données financières en environnement distribué.
- Scala, SQL, Spark, Kafka, Hive, Typelevel
en:
what: Data Engineer Consultant - Natixis
why:
- Management, design and implementation of multi-stream data producer computing and sendDateing up to 1 billion messages per day.
- Implementation of financial data computation in a distributed environment.
- Scala, SQL, Spark, Kafka, Hive, Typelevel

101
data/interests.yaml Normal file
View File

@ -0,0 +1,101 @@
# content_fr: &interests_content_fr
# - Programmation Compétitive
# - Jeux de société & vidéo
# - Randonnées
# - Guitare
# - Danse Rock
# - Japanimation
# - Cinéma
# content_en: &interests_content_en
# - Competitive Programming
# - Board & Video games
# - Hiking
# - Guitar
# - Rock Dancing
# - Japanese animation
# - Cinema
# fr:
# title: "Centres d'intérêts"
# content: *interests_content_fr
# en:
# title: "Hobbies & Interests"
# content: *interests_content_en
computer:
content_fr: &cfr
- Programmation Compétitive
content_en: &cen
- Competitive Programming
fr:
title: Informatique
content: *cfr
en:
title: Computers
content: *cen
sports:
content_fr: &sfr
- Randonnées
- Course à pied
- Escalade
content_en: &sen
- Hiking
- Running
- Climbing
fr:
title: Sports
content: *sfr
en:
title: Sports
content: *sen
video:
content_fr: &vfr
- Japanimation
- Cinéma
content_en: &ven
- Japanese animation
- Cinema
fr:
title: Vidéo
content: *vfr
en:
title: Video entertainment
content: *ven
games:
content_fr: &gfr
- Jeux de société
- Jeux vidéo
content_en: &gen
- Board games
- Video games
fr:
title: Jeux
content: *gfr
en:
title: Gaming entertainment
content: *gen
music:
content_fr: &mfr
- Guitare
- Math-rock
- Electro-Pop
content_en: &men
- Guitar
- Math-rock
- Electro-Pop
fr:
title: Musique
content: *mfr
en:
title: Music
content: *men
# other:
# type: single
# content_fr: &ofr
# - Jonglage
# content_en: &oen
# - Juggling
# fr:
# title: Autres
# content: *ofr
# en:
# title: Others
# content: *oen

16
data/languages.yaml Normal file
View File

@ -0,0 +1,16 @@
french:
type: single
fr:
title: Français
content: Maternelle
en:
title: French
content: Native
english:
type: single
fr:
title: Anglais
content: Courant
en:
title: English
content: Fluent

16
data/personal.yaml Normal file
View File

@ -0,0 +1,16 @@
name: Félix Desmaretz
email: job@felix-desmaretz.eu
phone: (+33) 6 52 93 43 54
url: https://www.felix-desmaretz.eu/en
location:
city: Malakoff
region: Hauts-de-Seine
# postalCode: 92
country: France
profiles:
- network: LinkedIn
username:  felix-desmaretz
url: https://linkedin.com/in/felix-desmaretz
- network: GitHub
username:  firgaty
url: https://github.com/firgaty

154
data/skills.yaml Normal file
View File

@ -0,0 +1,154 @@
computer_languages:
content_computer_languages: &content_computer_languages
- Python
- Scala
- SQL
- Java
- Clojure
- R
- C
- C++
- LaTeX
- Bash
- VBA
fr:
title: Langages Informatique
content: *content_computer_languages
en:
title: Computer Languages
content: *content_computer_languages
libraries:
content: &content_data_tools
- Numpy
- Pandas
- Spark/PySpark
- PyTorch
- Spacy
- Jupyter
- scikit-learn
- Tidyverse
- XGBoost
- Typelevel
fr:
title: Librairies
content: *content_data_tools
en:
title: Libraries
content: *content_data_tools
frameworks:
content: &content_frameworks
- Flask
- Hugo
- QT
fr:
title: Frameworks
content: *content_frameworks
en:
title: Frameworks
content: *content_frameworks
data_science:
content_fr: &ds_content_fr
- Analyse de données
- Calcul distribué
- Data Mining
- NLP
- Machine-Learning
- Deep-Learning
- Base de données
- Analyse de réseaux
- Analyse de séries temporelles
content_en: &ds_content_en
- Data Analysis
- Optimization
- Distributed Computing
- Data Mining
- NLP
- Machine-Learning
- Deep-Learning
- Database Systems
- Network Analysis
- Time Series Analysis
fr:
title: "Sciences et Ingénierie des Données"
content: *ds_content_fr
en:
title: Data Science and Engineering
content: *ds_content_en
os:
fr:
title: "Systèmes d'Exploitation"
content:
- Systèmes UNIX: [Linux, BSD]
- Windows
en:
title: "Operating Systems"
content:
- UNIX systems: [Linux, BSD]
- Windows
db:
content:
&db_content [
PostgreSQL,
SQLite,
Neo4j,
Cassandra,
MariaDB,
Apache Hive,
SAP IQ,
SAP ASE,
]
fr:
title: Bases de données
content: *db_content
en:
title: Database systems
content: *db_content
office_automation:
content: &content
- Microsoft Office: [Word, Excel, PowerPoint, Outlook]
- Libre Office
fr:
title: "Bureautique"
content: *content
en:
title: "Office Automation"
content: *content
project_management:
content: &other_content [Git, Kanban, Scrum, Agile]
fr:
title: Gestion de Projet
content: *other_content
en:
title: Project Management
content: *other_content
other_it:
content: &other_it_content
- Apache Hadoop: ["YARN", "MapR", "HDFS"]
- Docker
- Proxmox VE
fr:
title: "Autres Outils Informatiques"
content: *other_it_content
en:
title: "Other IT Tools"
content: *other_it_content
interests:
fr:
title: Intérêts
content:
- Jeux de Société
- Japanimation
- Randonnées
- Escalade
- Creative Coding
- Course à Pied
en:
title: Interests
content:
- Board Games
- Japanimation
- Hiking
- Climbing
- Creative Coding
- Running

221
example.yml Normal file
View File

@ -0,0 +1,221 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/jskherman/cv.typ/main/cv.typ.schema.json
personal:
name: Félix Desmaretz
email: job@felix-desmaretz.eu
phone: (+33) 6 52 93 43 54
url: https://www.felix-desmaretz.eu/en
location:
city: Malakoff
region: New York
postalCode: 1234
country: United States of America
profiles:
- network: LinkedIn
username: John Doe
url: https://linkedin.com/in/johndoe
- network: GitHub
username: johndoe
url: https://github.com/johndoe
work:
- with: X Company
url: https://example.com
where: Remote / New York, New York
what:
- position: Senior Software Engineer
startDate: 2021-08-01
# endDate: "present"
highlights:
- This being the theory I hold, why need I be afraid of not being able to reconcile it with the case of my ancestors?
- "The wise man therefore always holds in these matters to this principle of selection: he rejects pleasures to secure other greater pleasures, or else he endures pains to avoid worse pains."
- Do you really believe that they charged an armed enemy, or treated their children, their own flesh and blood, so cruelly, without a thought for their own interest or advantage?
- position: Software Engineer
startDate: 2019-05-31
endDate: 2021-08-01
highlights:
- This being the theory I hold, why need I be afraid of not being able to reconcile it with the case of my ancestors?
- "The wise man therefore always holds in these matters to this principle of selection: he rejects pleasures to secure other greater pleasures, or else he endures pains to avoid worse pains."
- Do you really believe that they charged an armed enemy, or treated their children, their own flesh and blood, so cruelly, without a thought for their own interest or advantage?
- with: National Aeronautics and Space Administration - Jet Propulsion Laboratory
url: https://example.com
where: Pasadena, California
what:
- position: Senior Developer
startDate: 2016-02-19
endDate: 2019-05-31
highlights:
- This being the theory I hold, why need I be afraid of not being able to reconcile it with the case of my ancestors?
- "The wise man therefore always holds in these matters to this principle of selection: he rejects pleasures to secure other greater pleasures, or else he endures pains to avoid worse pains."
- Do you really believe that they charged an armed enemy, or treated their children, their own flesh and blood, so cruelly, without a thought for their own interest or advantage?
education:
- with: Open University
url: https://example.com/
area: Computer Science
what: Bachelor of Science
startDate: 2017-08-01
endDate: 2021-06-30
where: City of London, United Kingdom
honors:
- 4.0 / 4.0 GPA
- President's List
- Dean's List
why:
- Algorithms & Data Structures
- Applications in Quantitative Finance
- Engineering Data Analysis
- Compiler Architecture
highlights:
- "*Thesis*: A convolutional neural network for predicting Greenland glacier melt and glacial water flow"
- "*Activities*: Debating, Chess, Cricket"
- with: Harvard University
url:
area: Computer Science
what: Bachelor of Science
startDate: 2017-08-01
endDate: 2021-06-30
where: City of London, United Kingdom
honors:
- Summa Cum Laude (4.0 GPA)
- President's List
- Dean's List
why:
- Algorithms & Data Structures
- Applications in Quantitative Finance
- Engineering Data Analysis
- Compiler Architecture
highlights:
- "*Thesis*: A convolutional neural network for predicting Greenland glacier melt and glacial water flow"
- "*Activities*: Debating, Chess, Cricket"
affiliations:
- with: White Hat Hackers Association
position: Vice President for Internal Affairs
where: Cambridge, United Kingdom
url: https://example.com
startDate: 2020-05-30
endDate: 2021-05-30
highlights:
- But I must explain to you how all this mistaken idea of reprobating pleasure and extolling pain arose.
- But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?
- Can you then suppose that those heroic men performed their famous deeds without any motive at all?
- with: London Bridge Toastmasters Club
position: Member
where: City of London, United Kingdom
url:
startDate: 2022-06-15
endDate: 2023-06-30
highlights:
- Won Champion in the Division A District X Speech Evaluation Contest of Toastmasters International
- Promising Toastmaster of the Year (PY 2022-2023)
- Tell me, pray, what explanation do you put upon their actions?
awards:
- title: Champion in the Division A District X Speech Evaluation Contest
date: 2023-05-09
issuer: Toastmasters International
url:
where: City of London, United Kingdom
highlights:
- title: "Finalist in the 2020 SCG Bangkok Business Challenge Global Competition"
date: 2020-07-12
issuer: Sasin School of Management
url:
where: Bangkok, Thailand
highlights:
- "Made it to the Top 5 (selected from over 100 teams) in the world for the semi-finals of the SCG Bangkok Business Challenge #sym.at Sasin 2020 Global Competition held at Bangkok, Thailand from July 7-12, 2020."
- "Served as the speaker and presented in the 60-second pitch round of the Opening Reception of the SCG Bangkok Business Challenge #sym.at Sasin 2022 for Team London Bridge."
certificates:
- name: "Learning How to Learn: Powerful mental tools to help you master tough subjects"
date: 2021-09-01
issuer: Coursera
url: https://example.com
publications:
- name: A convolutional neural network for predicting Greenland glacier melt and glacial water flow
publisher: Theoretical and Computational Fluid Dynamics
releaseDate: 2020-09-30
url: https://example.com
projects:
- name: "Job Tailor"
url: https://example.com/
affiliation: Open University
startDate: 2020-11-01
endDate: 2021-04-30
highlights:
- Created an AI-powered resume editor application that allowed users to easily create different resumes and cover letters specifically tailored to and customized for individual job descriptions based on their personal information in their complete curriculum vitae.
- Acquired more than 100,000 user sign ups in 3 months and more than 10,000 active monthly users in its lifetime before being sold to investors.
- Generated profit of upwards \$20,000 yearly with a team of only four developers and three business operatives
skills:
- category: Soft Skills
skills:
- Public Speaking
- Debating
- Communication
- Critical Thinking
- Leadership
- Persuasive Writing
- Technical Writing
- category: Programming
skills:
- Python
- SQL, PostgreSQL
- MATLAB/Octave
- HTML
- CSS
- Javascript
- Typst
- LaTeX
- category: Tools
skills:
- Microsoft Word
- Git
- Docker
- Visual Studio Code
- Canva
- category: Web Development
skills:
- React
- Next.js
- million.js
- Svelte & Sveltekit
- Tailwind CSS
- Node.js
- Deno
- FastAPI
- Flask
- category: BI & Data Analytics
skills:
- Microsoft Excel
- Microsoft Power BI
- Jupyter Notebook
- Numpy
- Pandas
- Plotly
- Altair
languages:
- language: English
fluency: Native speaker
- language: German
fluency: Native speaker
- language: Japanese
fluency: Basic proficiency
interests:
- Video Games
- Anime
- Reading Non-fiction
- Classical and Original Soundtrack Music
references:
# You can comment out the entries below if you don't have any references
# The same goes for the publications
- name: Dr. Jane Austin
reference: John was a great student. He was always eager to learn new things and was very passionate about his studies. As his mentor, I am proud to say that he was also a great leader and was able to lead his team to victory in the 2020 SCG Bangkok Business Challenge Global Competition.
url: https://janeaustin.com

48
main.typ Normal file
View File

@ -0,0 +1,48 @@
#import "cv/cv.typ": *
#let language = "en"
#let cvdata = (
personal: yaml(("data/", language, "/personal.yaml").join()),
experience: yaml(("data/", language, "/experience.yaml").join()),
education: yaml(("data/", language, "/education.yaml").join()),
skills: yaml(("data/", language, "/skills.yaml").join())
)
#let uservars = (
headingfont: "Roboto",
bodyfont: "Roboto",
fontsize: 10pt, // 10pt, 11pt, 12pt
linespacing: 6pt,
showAddress: true, // true/false show address in contact info
showNumber: true, // true/false show phone number in contact info
headingsmallcaps: false
)
#let customrules(doc) = {
// add custom document style rules here
set page(
paper: "a4", // a4, us-letter
// numbering: "1 / 1",
number-align: center, // left, center, right
margin: 1.25cm, // 1.25cm, 1.87cm, 2.5cm
)
doc
}
#let cvinit(doc) = {
doc = setrules(uservars, doc)
doc = showrules(uservars, doc)
doc = customrules(doc)
doc
}
#show: doc => cvinit(doc)
#cvheading(cvdata, uservars)
#cvwork(cvdata)
// #cveducation(cvdata)
// #cvskills(cvdata)
#endnote()