I am software engineer, passionate about building reliable and maintainable app using functional programming and static types. Beyond code, I value collaboration and cross department synergies. In addition to my daily job, I do a lot of things: founded Gospeak, organize HumanTalks Paris, give Scala trainings and talks at conferences or at your company.Download CV Listen to my interview
I have done programming for more than 10 years. I started with C, PHP and Java but since I discovered Scala and functional programming, I stick with them! But I do not limit myself to the code, I always wanted to understand business goals and since I have found Domain Driven Design I have tools for that.
feb. 2019 - now
Since my first experience I always had a strong connection with public speaking and conference area. With more than 40 talks in various situations, being an HumanTalks Paris organizer for many years, having launched SalooN once and often pushing developers to experiment talks; it was quite obvious I had to build something like Gospeak.
Gospeak is a platform which provides tools for meetup organizers in order to streamline their tasks. But it’s also a platform for speakers to find speaking opportunities and get some help in the process.
I believe that public speaking can have a huge impact of developer success, as individuals but also community.
janv. 2019 - may 2020, 1 year and 4 months
Having built an internal data catalog at Criteo, I truly believe it’s a key component of understanding and productivity for people working with data. This is why I decided to join Zeenea, a young startup building a data catalog and advocating for a bottom-up strategy.
I signed as a Scala developer but participated in many aspects. From recruitment process and interviews, to product strategy and features, passing by the marketing, communication and even culture. I used all my knowledge (from Koudetat, Cookers, SalooN…) and energy to push it forward.
On the tech side, I proposed to write and follow some Scala best practices and suggested many initiative to keep the team focused, such as mob programming sessions, watching tech and startup videos at lunch or keeping a 20% load for technical improvements (which lead to great wins!). After a few months I took the scrum master role and just after the team lead responsability.
Zeenea was a very interesting and intense experience where I learned a lot on mentoring a team and managing goals.
oct. 2016 - dec. 2018, 2 years and 3 months
My team worked on a timeseries scheduler (Cuttle) to manage all the data jobs at Criteo, waiting for data availability to have a correct output with the lowest possible latency. I mainly worked on Dataflow, a Cuttle overlay targeting analysts with predefined jobs allowing to remove all the complexities putting scheduled jobs in production.
Discussing with Arnaud de Turckheim, focusing on analysts productivity, we noticed that they were losing a lot of time looking for data to use and understanding it. Many created some documentation (in spreadsheets, confluence…) but did not maintain it on the long run.
So thanks the 10% projects, we launched DataDoc, a data catalog focused on business documentation, automatically enhanced with related data. It was eagerly awaited and, from what I heard, is quite successful right now with a team having taken ownership on it. I received some compliments from the new maintainers for the code understandability and documentation even if I used pure FP, Event sourcing, CQRS and some other concepts considered as complex and could not do any knowledge sharing. So, it is possible to do good code that new developers like, it’s not a fatality ^^
At some time, the Lake team (maintaining the Criteo Hadoop cluster) asked for mentoring to launch a Scala project from scratch (as they are DevOps).
I proposed myself and got chose so I could build Mumak with them, a project to hadoop resiliency at cluster level. The goal was to copy data from a cluster to an other,
in a timely, efficient and meaningful way; at scale (peta byte).
Great work, great success
On the side, I regularly gave internal trainings about Scala (as well as external ones!, not related to Criteo ^^). And also participated to many internal events such as hackathons (building a desk map), did talks at all hands or tech lunch and animated coding dojo sessions.
mars 2016 - may 2016, 3 months
For this mission, I was looking into an opportunity to work on a serious Scala company. MFG Labs had a strong reputation about it and was ideal for me. This is the reason I didn’t cancelled it to extend my Sidexa experience ^^
I worked on the biggest project of the company, a multi publishing platform for publicity campaigns.
Sadly, code quality was pretty low and I didn’t succeed to make a point about it, so I decided to move on to a new high level Scala opportunity.
nov. 2015 - feb. 2016, 4 months
In recruitment, timing is everything. For this experience, it is very true as they called me right the day after we decided to kill SalooN. A perfect timing to get some fresh cash! And honestly, if the situation was different, I would have probably had passed on this opportunity, but this would have been a mistake.
The job did not make me dream: they do software for auto repairer and wanted to launch a mobile app to help diagnostics. They hired a web agency but after 6 months of work (including 3 late), they decided to stop the contract and call some freelances to finish the job (mostly debugging) and publish the app. So we had 3 months to put the app on the market.
They hired only 2 freelances instead of 3 (initially planned) and the other one did not succeed much so they ended his contract after one week… On my side, the first week was mainly digging into the worst spaghetti code I have ever seen, with everything defined as global and most of the code being written with bad Angular integration. So, on week two, I suggested to start over from scratch, alone. I thought I could make it to the current status in only three weeks, and they agreed to give me a chance on that. AND I MADE IT
This finished to convince me that when you know what to do and you master your tools, you can easily be 10x more efficient than average projects. Not only in the timing but also in quality. The trade-off we often see between quality and speed is very twisted, you can have both with software craft.
In the two following months, I added new features and developed a custom camera plugin. In the same time, I got to know the company and the people better. I started to identify some structural malfunctions and tried to discuss about them to solve them. But with not much insistence as I was just a 3 months contractor. I didn’t see many changes but seeds were sown.
On my last day, the director came to me because he heard that I had some ideas to improve the situation. We discussed a lot about it and he asked me to stay more time to implement them. My next mission was already planned so I had only one month to implement them. I accepted the challenge. My new mission was not anymore about coding but change management. A whole new world to discover. I took many advices from many coaches. Things worked pretty well, even if the switch from coding was a bit strange for many people. But everyone seemed happy to see problems being addressed, to understand better the global situation and discover new horizons and methodologies. One month is very short and I’m not sure things moved drastically but I did my best to find people wanting to continue it.
It was an awesome experience, and it’s interesting to think it comes from somewhere I would not go normally…
jul. 2015 - aug. 2015, 2 months
While launching SalooN I received the proposition from Numa to be a Freelance in residence. The deal was really simple: I had a free co-working place in exchange to help incubated startups on the tech side. For example helping for recruitment, giving some directions choosing a tech language or framework or debugging some code.
This was really interesting to see many startups, their challenges and to help them.
apr. 2015, 4 days
Stimshop is a company building a location system based on ultrasound. I met them as a provider when working on Cookers to track client position inside the store. But this time, they needed my hybrid mobile experience to build a cordova plugin for their native sdk and a mobile app for a short event. Again, hybrid development is amazing: two days to build the plugin (I’m not used to it ^^) and two days for the app. Packaged. Done!
mars 2015, 3 days
Popchef is a food delivery startup which was just launched and they needed an app for delivery men so they could get assigned to missions, accept them, have directions and finalize them.
With my Ionic experience, clear specifications and the needed API in place, I could do it in only 3 days (from project creation to packaged apk). It was awesome!!!
mars 2015 - oct. 2015, 8 months
Cookers was a great experience and I knew I was eventually going to launch an other startup. But I did not know I was going to do it in a such short time frame. In fact, it was a bit of an irrational decision, I was discussing about recruitment and tech conferences with Hadil Filali when he was launching Sparkline, a recruiting firm specialized in data jobs. From an idea to another we came to the conclusion that meeting people in conferences is not as easy as we could think and it could be largely improved. So we launched SalooN, an app to improve conference experience and optimize meetings.
We built the service and it was used at some conferences but we did not have a correct business model. Most (tech) conferences we know do not have an extensive budget. Therefore we went to tradeshows and had very nice meetings. We almost succeeded to win a tradeshow dedicated to tradeshow organizers ^^.
For that we had to fully switch our business model, from charging the tradeshow organizer for our service to charging tradeshow exhibitors for additional opportunities and sharing revenue with the tradeshow organizer.
After 4 months and a lot of market discoveries, we had to rebuild everything with this new strategy. At this time, Sparkeline took off and Hadil could not fully engage himself on the project so we decided to stop it.
After only 8 months it was a bit premature and I’m still convinced this is a good opportunity ;)
We open sourced all the code, not sure it has a lot of value but you can take a look if you are curious: github.com/saloonapp.
janv. 2015 - mars 2015, 3 months
With the end of Cookers, I went back to fully freelancing to earn some money. I had met Nicolas Marx a year before and had recommended Nicolas Martignole to work with him but the project did not start back then. Luckily for me, it started at the end of 2014 and I could on-board a few months later with Ugo Bourdon.
The product was a ticketing platform for joint property managers, starting from the beginning with a few clients. A nice opportunity to re-start my freelance experiences from which I keep very good memories.
apr. 2014 - may 2014, 2 months
mars 2014, 1 months
My first freelance mission!
It was a short mission done in the same time as Cookers to earn some money.
Kpler was a small startup (3 people at that time) that tracks gaz boats around the globe for traders.
I helped them migrate their app from server side rendering using Twirl to an AngularJS SPA.
feb. 2014 - janv. 2015, 1 year
During my 6 month personal training on Scala, Play framework, machine learning and recommender systems
I discovered TheFamily and their youtube channel.
When they launched Koudetat I could not resist, I had to take this opportunity and launch my own startup.
After a few classes I settle down for Cookers, an app to enhance customer experience in retail.
I already knew the area a bit, had a few connections thanks to TRF Retail and food shopping was a daily struggle for me as it can be for many others.
The idea was to build a nice self-scan experience using consumer smartphone. So he could build his shopping list at home based on basic recipes suggestions, make his shopping using the app as an assistant (lists, nutrition, recipe suggestions, promos…) and skip checkout lines to go out.
Existing self-scan app were made by hardware industrial, with an horrible UI, UX and even blocking bugs. They were focused on the scan action for a single store and filled with shop ads. Our goal was to make a global experience, from ideas, to store and cooking with an awesome UX
We launched a recipe app with a shopping list and started negotiations with some retailers to work with them (Intermarché, Casino, Naturalia…) but we were not at the same pace (obviously!). We stopped after one year of intense work and learnings. We earned no money but it was really worth the time invested to develop an understanding of what is it to launch a business and have a much more open view than just the developer one. Meeting a lot of various people (other entrepreneurs, retailer directors, competition…) was also a big win and it makes me realize that networking is key but you need a good reason to do it seriously (startup or freelance is ).
All the code is open source, you can see it on github.com/cookersapp.
janv. 2012 - juil. 2013, 1 year and 7 months
My past experiences were all a bit eccentric, so I decided to go more mainstream to become a real software engineer
It took me 3 months to decide what I wanted to do and, as the world was going threw a massive crisis, I wanted to understand finance from the inside. After a few months (whole departments were laid of at this time), I landed at Amundi (through Nexeo). My team was transverse and worked for other tech teams (mainly ops). So, not much to see about finance but I could discuss with people to know more and Nexeo being a finance centric SSII, I had a two day finance training and a (big) book. So, in the end, I learned quite a lot about finance
I did several projects using Java, Struts2, Oracle, Bootstrap and jQuery, such as monitoring and administrating network equipments, editing and deploying file transfer configurations or managing database access rights using a custom driver.
I worked under the guidance of Antoine Body, Amundi architect and go-to person for every technical problem, who gave me a lot of autonomy alongside some close mentoring with code reviews. I had a complete ownership on various projects: collect client needs, propose solutions then design, implement and deploy them. Feedback loop was very small (about a day) and projects were a real success! This gave me a big ego boost, I got to be a real software engineer ^^
Some years later, Antoine told me that the biggest project I worked on, worked like a charm, without any maintenance for some years. And when they needed to do an evolution it was straightforward. He could not do a biggest compliment to me. This is exactly what I’m aiming for
On Nexeo side, I launched the “pôle Java” where I did several internal presentations to other consultants about Java and Web technologies. I was also involved into recruiting and coaching consultants to help them find missions. Pretty amazing opportunities to learn and meet interesting people.
At Amundi, I launched TechLunch, to share knowledge. I personally talked about MongoDB and Neo4j there and invited many BBLs to introduce new things.
But one day, I discovered Scala (thanks to Play framework) and, after some learning time, I decided to work with it. As it was impossible at Amundi, I decided to do some freelancing. I took 6 months to learn it deeper and look into machine learning and recommender systems.
feb. 2011 - juil. 2011, 6 months
I left TRF Retail for special year at ENSIMAG to learn programming basics which promised to be very intensive. After that, I wanted a well established company for my final internship to learn from others in a professional environment.
SFEIR was a good choice for that. I was very lucky to have had Didier Girard as mentor and a nice team of interns to work with. We worked on many projects, discovering GWT and Android development together. But most importantly, I discovered Java meetups (Paris JUG and Ch’ti JUG) as well as internal tech talks every week.
I discovered many things, but the most important one was obviously the tech community. I think my connection with the community comes from here and I owe to this experience to organize HumanTalks Paris and give many talks since then.
jun. 2010 - aug. 2010, 3 months
I choose Phelma for nanotechnologies because I was amazed by some researches published in scientific reviews but once I got there, fundamental physics were much more complex than I thought and not as fun. So I moved into micro-electronics which were more appealing. But when I discovered programming, I was amazed by building awesome things at high speed (I did several programs such as micro-processor simulator or sudoku solver).
During my second year, I decided to move to a software engineer career but not before I had seen what micro-electronic engineer would look like. That was the purpose of this internship.
It was quite interesting, I worked on a cutting edge technology that allows FPGA (a programmable electronic ship) to reconfigure itself during execution. It could be a game changer to optimize for performance, energy efficiency or even fully change the ship behavior. All this is done using VHDL language so it is quite similar to software, except you have to understand the electronic concepts you work with.
This was my first experience abroad (Belfast) and it was really great, I got a nice recommendation but software is more fun and more related to our daily life so I decided to continue into it.
june 2009 - nov. 2011, 1 year and 3 months
After discovering C programming in my first year at engineering school and doing some HTML/CSS/JS to build a website for my BDE list (which lost ). I decided to go ahead with programming and found this awesome opportunity for my first internship.
It was a very young startup in retail doing store optimizations based on assortment data (inventory, sells, position…). I wrote a C program to compute product KPIs and generate recommendations as well as a PHP/MySQL website to expose them to clients and collect their feedbacks through an iterative workflow.
The internship was an amazing experience so I accepted to stay and work their in the same time of my second year at my engineering school. I worked on evenings and weekends and it was really pleasant as I could build a useful service out of my owns hands. Pushing features everyday to answer clients needs and fixing bugs in real time, everything in full remote ^^
Thinking about it again, it was probably my most agile experience, done without any formal knowledge about it…
Are you still there??? Awesome!
I suppose then you like reading things here. So let me have some thoughts about all theses experiences.
One thing that really intrigues me is that many experiences I was really excited about were disappointing and some (rare) where I didn't expect much were fascinating. I think expectations can modify the perception but also, when people think they are really good, they have trouble accepting improvement suggestions and always find excuses to continue in their comfort zone. People in bad situations, on the contrary, may better welcome new ideas and have more willingness to experiment them.
On my side, I found that it's way more satisfying to improve a situation (whatever the starting point is) than not being able to do it.
janv. 2014 - may 2014
2010 - 2011
2008 - 2010
2006 - 2008
May 21, 2020
April 20, 2020