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! 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 digital multimedia capabilities of machines. Maybe it is because I used to play a lot on gameboy, playstation, and PC. 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 !". So if possible, your company should aim at solving those environmental challenges.

For the past three years, I have been investing a lot of time into Functional programming, especially into the Elm programming language. I love almost everything about it, with some exceptions, especially the confidence that you can get with algebraic data types, compared to traditional type systems in C, python, etc. Some libraries like elm-ui are also trying to bring all the compile time guaranties to the realm of building user interfaces for the Web, with layouts that are correct by design. So if possible, your company should develop Web product with an emphasis on correctness and developer happiness, with a language like Elm.

Similar to Elm, but for more intensive tasks, I have also recently discovered the Rust programming language. It focuses on building reliable and efficient software, with the same performance characteristics that 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. Since I have started to use it for the visual odometry project, I wish I will be able to use it for every high performance code I will have to write in the near future. So if possible, your company should use Rust instead of C++ for new projects.

You may have guessed it already from my projects page, I love to hack on programming project at the frontier between work and not work. 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. So if possible, your company should embrace the open source community, not only to profit from it but to contribute back.

Some of those projects like chouette-mail or SpanDeX have real potential to them in my opinion. So 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 enable one day to work on less related open source projects, or be flexible and be fine with non fulltime positions (like 4 days a week instead of 5).

To sum up:

  • work with multimedia data, especially 3D visual content
  • try to solve environmental challenges
  • use functional programming for the Web such as Elm
  • use modern languages such as Rust instead of C++
  • is open source friendly
  • is fine with 1 day of less related open source projects, or partial time positions

Bonus points:

  • building robots to play football in your place
  • Amateur of ping-pong matches at lunch

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