It’s with a lot of regrets that I leave Automattic. To be clear, I’m not leaving because something negative happened, I’m leaving because I’ve received the same job offer, 3 times in 10 days, from Wasmer, Google and Mozilla. Namely to work with Rust or C++ to build a WebAssembly runtime. This is an offer I can barely decline. It’s an opportunity and a dream for me. And I was lucky enough to get a choice between 3 excellent companies!
I can only encourage you to work with Automattic. It’s definitely the best company I’ve ever work with; stealing the 1st place to Mozilla. Automattic is not only about WordPress.com and other services: It’s a way of living. The culture, the spirit, the interactions between people, the mission, everything is exceptional. It has been a super great experience.
I could write 100 pages about my team. They have all been remarkable in many ways. I’m closer to them although they live at 10’000km, rather than colleagues I met everyday in person in the past. Congrats to Matt for this incredible project.
Now it’s time to work on Wasmer. It’s a WebAssembly runtime written in Rust: My two current passions. It’s powerful, modular, well-designed, and it comes with great ambitions. I’m really exciting. I work with an extraordinary team: Syrus Akbary (the author of Graphene, a GraphQL framework in Python), Lachlan Sneff (the author of Nebulet, a microkernel that implements a WebAssembly “usermode” that runs in Ring 0), Brandon Fish (a great contributor of Truffleruby, a high performance implementation of Ruby with GraalVM), Mackenzie Clark, and soon more.
My job will consist to work on the runtime of course, and also to integrate/embed the runtime into different languages, such as PHP —like I did with php-ext-wasm, more to come on this blog—. More secret projects coming. Let’s turn them into realities 🎉!
After almost 20 months at Liip, I am leaving. Liip was a great experience. It was my first industrial non-remote job. It was also my first job in the country I am currently living in. And I have discovered a new way of working.
First industrial non-remote job
Before working for Liip, I was working for fruux. My situation was the following: A french citizen, living as a foreigner in Switzerland, working for a German company, with employees from Germany, Holland, and Canada. Everything happened on chat, mail, and Skype. When my son was born, I had to change my work to simplify my life. It was not the only reason, but one of them.
And before fruux, I was working for INRIA, a research institute in France. It was partially a remote job.
Liip has several offices. I was based in Lausanne.
So, yes, Liip was my first industrial non-remote job. And I liked it. Working in the train on the morning, walking in Lausanne, seeing real people, everything in my local language. Because yes, it was my first job in my native language too.
Everything was simpler. And when you have your first baby, anything else that is simpler saves your life.
Giant discussions were happening to remove any form of hierarchy in Liip. Then we discovered Holacracy, and we started moving to this system. This is a new governance system. If you are familiar with distributed network topologies in Computer Science, or data structures, it really looks like a Distributed Spanning Tree [DahanPN09]. Note: I am sure that the authors of Holacracy are not aware of DST, but, eh.
So nothing new from a research point of view, but it is cool to see this algorithm coming alive in real life. And it worked: Less meetings, more self-organisation, more shared responsabilities, no more “boss” etc. This is not a tool for all companies, but I am sure that if you are reading my blog, then your company should give it a try.
Open source projects
Liip has been very generous with me regarding my open source engagements. I was involved in Hoa, atoum, and Pickle when joining the company. Liip gave me a 5% budget, so roughly 1 hour per day to work on Hoa. Thank you for that!
After that, I have started a new big project, called Tagua VM. They gave me an additional 5% budget. So I got 2 hours per day to work on Hoa and Tagua VM. Again, thank you for that!
The goal of a11ym is to automate the accessibility testing of any site by crawling and testing each page. A sweet report is generated, showing all errors, warnings, and notices, with all information needed by the developer to fix the issues as fast as possible.
This project has received really good feedbacks from the accessibility community. It has been downloaded 7000 times so far, which is not bad considering the niche it targets.
A new SaaS platform is being build around this software. I enjoyed working on it, and it was really tangible.
Main customer, huge project
Liip is a Web agency, so you have dozens of customers at the same time. However, I was in a special team for an important customer. The site is a luxury watches and jewellery e-commerce platform, located in several countries, in 10 languages, accessible from 16 domains, shared in 2 datacenters. This is not a casual site.
I learned a lot about all the complexity such a site brings: Checkout rules (oh damned…), product catalogs in different formats for different countries with different references, all the business logic inherent to each country, different payment providers, crazy front end compatibilities etc.
I have a hundred of crazy anecdotes to tell. This was clearly not a job for me at first glance: I am a researcher, I have an open source culture background, I am not tailored for this kind of project. But at the end of the story, I learned a lot. Really a lot. I have a better overview of the crazy things any customer can ask, or has to deal with, and the infrastructure craziness that can be set up. I learned how to make better things: How to transform a really crappy software into something understandable by everyone, how to not break a 10+ years old progam with no test etc. And it requires skills. I learned it the hard way, but I learned it.
Because even if I learned during my time at Liip, the Web agency model was definitively not for me. I am very thankful to every Liiper, I had a great time, I love the Web, but not in an agency.
My son is now 21 months old, and I need fresh air. I can take new challenges.
I came to Automattic by coincidence. I was looking for a sponsor for Tagua VM, and someone pointed me out Automattic. After some researches about the company, it appears that it could be a really great place where to work. So I applied.
The hiring process was 4 months long. It was exhausting because it happened at the same time than a big sprint at Liip (remember the SaaS platform for The A11y Machine?). But after 4 months, it appears I succeeded, and I am very glad of that fact!
I am just starting my job at Automattic. I don’t have anything strong and finite to say now, apart that everything is just awesome so far. In few weeks, I am likely to write about my start at Automattic . They have a very interesting way to get you on board.
I have really enjoyed my time at INRIA and Femto-ST, 2 research institutes in France. But after 8 years at the university and a hard PhD thesis (but with great results by the way!), I would like to see other things.
My time as an intern at Mozilla and my work in the open-source world have been very seductive. Open-source contrasts a lot with the research world, where privacy and secrecy are first-citizens of every project. All the work I have made and all the algorithms I have developed during my PhD thesis have been implemented under an open-source license, and I ran into some issues because of such decision (patents are sometimes better, sometimes not… long story).
So, I like research but I also like to hack and share everything. And right now, I have to get a change of air! So I asked on Twitter:
And what a surprise! A lot of companies answered to my tweet (most of them in private of course), but the most interesting one at my eyes was… fruux 😉.
fruux defines itself as: A unified contacts/calendaring system that works across platforms and devices. We are behind sabre/dav, which is the most popular open-source implementation of the CardDAV and CalDAV standards. Besides us, developers and companies around the globe use our sabre/dav technology to deliver sync functionality to millions of users.
Several things attract me at fruux:
low-layers are open-source,
viable ecosystem based on open-source,
accepts remote working,
close timezone to mine,
touching millions of people,
standards in minds.
The first point is the most important for me. I don’t want to make a company richer without any benefits for the rest of the world. I want my work to be beneficial to the rest of the world, to share my work, I want my work to be reused, hacked, criticized, updated and shared again. This is the spirit of the open-source and the hackability paradigms. And fortunately for me, fruux’s low-layers are 100% open-source, namely sabre/dav & co.
However, being able to eat at the end of the month with open-source is not that simple. Fortunately for me, fruux has a stable economic model, based on open-source. Obviously, I have to work on closed projects, obviously, I have to work for some specific customers, but I can go back to open-source goodnesses all the time 😉.
In addition, I am currently living in Switzerland and fruux is located in Germany. Fortunately for me, fruux’s team is kind of dispatched all around Europe and the world. Naturally, they accept me to work remotely. Whilst it can be inconvenient for some people, I enjoy to have my own hours, to organize myself as I would like etc. Periodical meetings and phone-calls help to stay focused. And I like to think that people are more productive this way. After 4 years at home because of my Master thesis and PhD thesis, I know how to organize myself and exchange with a decentralized team. This is a big advantage. Moreover, Germany is in the same timezone as Switzerland! Compared to companies located at, for instance, California, this is simpler for my family.
Finally, working on an open-source project that is used by millions of users is very motivating. You know that your contributions will touch a lot of people and it gives meaning to my work on a daily basis. Also, the last thing I love at fruux is this desire to respect standards, RFC, recommandations etc. They are involved in these processes, consortiums and groups (for instance CalConnect). I love standards and specifications, and this methodology reminds me the scientific approach I had with my PhD thesis. I consider that a standard without an implementation has no meaning, and a well-designed standard is a piece of a delicious cake, especially when everyone respects this standard 😄.
fruux has mostly hired me because of my experience on Hoa. One of my main public job is to work on all the sabre/* libraries, which include:
You will find the documentations and the news on sabre.io.
All these libraries serve the first one: sabre/dav, which is an implementation of the WebDAV technology, including extensions for CalDAV, and CardDAV, respectively for calendars, tasks and address books. For the one who does not know what is WebDAV, in few words: The Web is mostly a read-only media, but WebDAV extends HTTP in order to be able to write and collaborate on documents. The way WebDAV is defined is fascinating, and even more, the way it can be extended.
Most of the work is already done by Evert and many contributors, but we can go deeper! More extensions, more standards, better code, better algorithms etc.!
Certain people have asked me about the future of Hoa: Whether I am going to stop it or not since I have a job now.
Firstly, a PhD thesis is exhausting, and believe me, it requires more energy than a regular job, even if you are passionate about your job and you did not count working hours. With a PhD thesis, you have no weekend, no holidays, you are always out of time, you always have a ton (sic) of articles and documents to read… there is no break, no end. In these conditions, I was able to maintain Hoa and to grow the project though, thanks to a very helpful and present community!
Secondly, fruux is planning to use Hoa. I don’t know how or when, but if at a certain moment, using Hoa makes sense, they will. What does it imply for Hoa and me? It means that I will be paid to work on Hoa at a little percentage. I don’t know how much, it will depend of the moments, but this is a big step forward for the project. Moreover, a project like fruux using Hoa is a big chance! I hope to see the fruux’s logo very soon on the homepage of the Hoa’s website.
Thus, to conclude, I will have more time (on evenings, weekends, holidays and sometimes during the day) to work on Hoa. Do not be afraid, the future is bright 😄.
This is my first post of my first public and Computer Science-oriented blog. When I started Hoa few years ago, along with other projects, they all were mainly a pretext to learn about numerous domains of Computer Science. All the acquired knowledges have taken the form of libraries or programs, go hand in hand with detailed documentations and README. However, while I always like to write an introduction to my documentation chapters (examples with Hoa\Websocket or Hoa\Compiler), these are not the place where to write the making-of or the behind the scenes, i.e. all the implementation details and choices. Consequently, this blog will be Computer Science-oriented and especially technical-oriented.
Moreover, this blog will be a place where I can freely talk about the future of projects where I am involved. For instance, we are going to land a new special release system for Hoa and the official blog of Hoa is not the place where to make pre-announcements. Similarly, Hoa’s blog is still not the place where to talk about current works and advancements. Consequently, this blog will fill those needs.