Why me?

Computer science is a passion for me. I am extremely curious, and always willing to both learn and share knowledge. So I have been working on a wide range of topics, such as computer vision, boolean satisfiability solvers, web applications, tooling for online learning, and much more, and I'm always keen to keep discovering new subjects. Some domains that have peaked my curiosity but that I haven't had the opportunity to explore yet are rendering and blockchains. Also, I believe in Open Source and try to share as much as I'm allowed to, so my GitHub profile is the most up-to-date place where you'll learn about my skills.

If you throw at me an interesting and challenging problem, I'm thrilling at the idea of searching through research literature on the subject and trying to implement and/or improve a solution to that problem. You want me in your team if you are tackling hard interesting problems and taking the time to solve them correctly. However, you do not want me in your team if you need your n+1 project done for yesterday, as I tend to lose interest in non-innovative contexts. And please, no Java and no JavaScript, I'm all in Rust and functional programming these days.

Why your company?

Companies usually make a list of experience and requirements with job offers. Very often unrealistic, but they have the advantage of setting a goal, a target for the perfect candidate. Let's try to do the same, in reverse, and draw the portrait of the perfect company. Here are the traits of a company I would wholeheartedly work for.

Turning light into digital images thanks to camera sensors, manipulating 3D data and visualizing it in mixed reality, it is amazing what we can do with technology today. I have always been fascinated by the growing capabilities of digital multimedia, so if possible, your company should work with 3D and multimedia data.

In this century, we are facing one of the greatest challenges for humanity: keeping the Earth an inhabitable planet in spite of our resources consumption. And our digital industry is also to blame for that! If you are French-speaking, please have a look at this talk by Sébastien Brault, entitled "On aurait pu sauver les abeilles, on a préféré sortir un nouvel iPhone !". If possible, your company should aim at having a positive impact on our world.

For the past few years, I have invested a lot of time into functional programming, mainly in the Elm community. I especially like the confidence and expressiveness you get with algebraic data types, compared to the type systems in C, python, etc. Even GUI libraries such as elm-ui are trying to bring compile time guaranties to user interface layouts. I have also been using the Rust programming language. It focuses on building reliable and efficient software, with the same performance characteristics as C++, but with a much friendlier developer experience. It also provides best-in-class support for compilation to WebAssembly, a technology revolutionizing the Web and beyond. So your company should have an emphasis on correctness and developer experience when choosing a programming language.

You may have guessed it already from my projects page, I love to hack on programming projects at the frontier between work and personal. I also consider that I learned so much from other people on the Internet, that I really try to make all those projects open source to give back. Some of those projects like SpanDeX have real potential, and it would be great if I can find time to work on those, and still have time on the weekend for friends and family. So if possible, your company should embrace the open source community, and eventually have a 20% time like Google.

To sum up:

  • work with 3D and multimedia
  • aim at having a positive impact on our world
  • have an emphasis on correctness and developer experience when choosing a programming language
  • is open source friendly

Bonus points: amateur of ping-pong matches at lunch?

You do all that? Then let's make great things together!