This is not the README of my website. It's rather my own README, as a person!
The objective of this page is to introduce myself and share some information that maybe helpful for us to break the ice, communicate, collaborate and adjust expectations effectively.
In it, I share my professional and personal values, what drives me, what makes me grumpy, and what my workflow looks like.
It will probably be useful mostly for my colleagues and collaborators (current and future) to read.
I was born and raised in the south of France. I lived in many different places, with and without my family: 2 years in Dakar, Senegal when I was 7, 1 year in the countryside (near Albi), spent most of my middle and high school years in the Corsica island, then 2 years in Aix-en-Provence (where my parents are still based now), 2 years in Lyon, 1 year in Australia, and now I'm based in Montreuil, near Paris. I like to think that these travels made me open-minded and adaptable to new environments.
I was lucky enough to discover my passions at a very young age: when I was 6, my father got a PC (a 386 with a 16 MHz CPU and 2 MB of RAM) at home and let me play with it, and I started taking drum lessons at the same time. As a child, I enjoyed spending time alone (in my bubble) or in very small groups of close friends, tidying up my bedroom to perfection and learning how to make cool stuff on my father's computer.
As a teenager, I was excited about finally being able to leave high school and putting more focus on developing my career in computer science. I had initially planned to quickly get a Bachelor's degree and then start looking for a job as a software developer, but ended up studying much longer. I became an engineer, and then got a PhD, just because I believed that doing a thesis was the best way for me to innovate and "change the world". Once settled in Paris, I discovered that what I actually wanted was to join a start-up company, and maybe someday start my own.
Today, I share my time between many activities: leading a software development team at Algolia, teaching software engineering in several schools, performing music with my band "Harissa", and developing several side-projects (mostly related to software and/or music) on my own.
- I'm driven by efficiency and improvement in general. This makes me exigent with others, but also with myself. Playing drums with other people is one of the rare activities that makes my brain shut up and makes me let go of my anxieties.
- Some people think that I am cold. In reality, I just look very serious when I think, and I tend to think a lot. If I look cold while you're talking to me, it does not mean that I'm mad at you or that I don't care. It means that I'm actually listening and reflecting on what you're saying.
- As an introvert, I need more alone time than most people to recharge and prepare for interactions with others. Indeed, I can easily feel uncomfortable when I face an unexpected situation in a social setting.
- In conferences and meetups, I prefer giving a talk than attending one. Probably because it feels less awkward for me to know that, if people come talk to me, there's a higher chance that we discuss the topic I was presenting, rather than small talk.
- My Bryers Miggs personality types is one of the rarest: INTJ. I like to think of it as a cursed gift.
What are my favorite things to work on
- Coding. Ship code that works.
- Refactoring. Make code more reliable, sustainable and easier to read / troubleshoot / reason about.
- Writing automated tests, both to document what the code is supposed to do and to detect regressions that may appear when updating it.
- Writing course material and exercises for my students, so they can learn effectively, identify their shortcomings and overcome them.
- Retrospect and discuss improvements.
What I value from others
- Efficiency & conciseness. Life is too short to beat around the bush!
- Honesty. I despise bullshit. And I feel hurt when people that I trust lie to me or hide stuff from me.
- Growth mindset. Nobody's ever perfect. The important thing to accept it and don't overlook opportunities to improve.
- Traceability. I used to work remotely, so I really appreciate it when my team-mates keep a written trace of notes and decisions that may have been taken in my absence.
What I think are my strengths
- Accountability. If I say that I'm going to do something, I will deliver. I hate to lie, to disappoint, and I'm not afraid to be transparent.
- Resourcefulness. I believe I'm good at detecting improvement opportunities and coming up with creative solutions.
- Pedagogy. I love to help people understand stuff, and the process of documenting and vulgarizing.
Things I'm working to improve
- Leadership. I am learning to tap into my team-mate's strengths and ideas, rather than imposing my own plan.
- Emotional Intelligence. Dealing with people's emotions (and my own) has not been easy for me.
- Conflict management. I can feel uncomfortable when conflicts happen. It's important to stay calm and contribute to resolving situations.
- Marketing and communication. I would love to become better at creating enthusiasm and engagement when I communicate about achievements, projects and ideas.
What makes me uncomfortable
- Environments that are noisy and/or crowded.
- When I'm not sure if people that I don't know much are being sarcastic or not.
- When I don't recognize people who clearly recognize me. It can take me some time to recognize faces of people I haven't seen in a long time. I really appreciate it when people go ahead and give me hints to help me recognize them: what they do, where we've met, who we know in common, what we've talked about.
- Also, while I did help solve a few of them, I feel uncomfortable in front of conflicts between people. My fear of uncertainty, tension and immobilism can be enough to make me overcome that discomfort, though.
What makes me grumpy
- Witnessing injustice and incivilities. When people are not acting in a fair way.
- When people show disrespect towards me or anyone else.
- Doing chores or things that don't scale.
- Lack of order and consistency, especially when I have to get my hands dirty. (e.g. contribute to a codebase that I find hard to understand)
How to know when I'm (really) grumpy
Great question! Unfortunately, it may be tricky to find out, at times... Especially when I'm grumpy for a reason that I had already explained. Maybe it would help me be more transparent with this if you asked me whenever you're in doubt about my grumpiness?
What have my past managers done that I like
- Defend the interests of the team.
- Congratulate successes and efforts, and provide honest feedback to help team-mates improve.
- Take the time to share useful tips and provide coaching when appropriate.
- Not be afraid to roll up their sleeves and help out when times are tough.
What I do outside of work
- I play drums in a band. I love it when we give concerts!
- Watch YouTube videos about creative developers who crafted video games or impressive software, and about programming music on vintage / low-tech game consoles. (a.k.a. "chiptunes")
- Prototyping and maintaining several side projects, for fun and learning.
- Soldering stuff. I find it very calming and satisfying.
- I also enjoy going out to share good beers and food with friends and/or acquaintances.
Things I’d love to do in the future
- Fly in a fighter aircraft, like the Rafale.
- Travel in Asia by train.
- Maybe someday: create my own company.
How to communicate with me
I like it when people start by giving a quick summary of what they want to talk about, or to ask me. And then, if the time is right, we progressively get deeper into the topic: from a high-level overview (i.e. context, architecture, interfaces...) to details (i.e. constraints, ideas, implementation).
Preferred Communication Method
Email! I know that most people don't like email. The fact that email is an asynchronous communication medium gives me more flexibility and time to reply in a qualitative manner. I find Slack (and synchronous communication in general) too intrusive in most cases, because it can interrupt me when I'm focused. For that reason, I disable all notifications, including for SMS!
I am usually operational at my desk between 10am and 6pm everyday. When it's possible, I like to take my lunch break at 12pm sharp, to avoid rush hour. I avoid working after-hours. If you send me a Slack message on Sunday, I may have a quick look (just in case of emergency) but will probably reply when the week-end is over.
What my average week looks like
- On Monday, I catch-up with the team, and remove roadblocks from our codebase. (e.g. flaky tests)
- On Tuesday, I mostly review Pull Requests and reply to support tickets. When I can, I take a step back and retrospect, to think about what I achieved the previous week, what I should do next to support my team, and to plan my tasks for the coming days.
- On Wednesday, Thursday and Friday, I like to focus on developing features and fixes.