Conférences

2023

Android Makers by Droidcon — Paris, France

  • Demystifying the Test Pyramid 🎞 📄
    Back in 2009, Mike Cohn in his "Succeeding with Agile" book, introduced the pyramid of tests. Since then, it has been criticised (mostly for being unsuitable for many real life situations), slightly updated, but its core concept is still seen in many articles. So what value can we get out of the test pyramid, and how can you adapt it to better fit with your use cases, workflows and setup.
    After explaining the original concept of the testing pyramid, we will discuss its pitfalls and caveats, then provide more depth and a new perspective on this tool while providing tips and guidelines that engineers can use to improve their test suites.

2022

Droidcon Berlin — Berlin, Germany

  • Successfully Publishing a Tested, Upgradeable and Documented Open Source Library 🎞 📄
    You’ve written some code, and you’d like to release it as Open Source. Congratulations!
    Publishing an Open Source library goes beyond just releasing your code on Github. New users with different use cases means preparing for the unpredictable. How do you ensure your code is safe and efficient? Is your code easy to read? Do you have a plan for upgrades in the future?
    This talk will look at best practices and showcase a checklist to follow when writing and publishing an Open Source Library, from the documentation to ensuring your library works as intended and doesn’t break applications using it.

Android Makers — Paris, France

  • Developing your CI Tools 🎞 📄
    Nowadays, setting up a basic unit and syntax testing pipeline for your mobile app has never been easier! That’s a great starting point, but what comes next? We can leverage the CI pipeline to do so much more! Things like automatic code generation and advanced static analysis—all with an aim to ensuring the reliability and performance of your applications.
  • Property Based Testing in practice (Workshop)
    On paper, everyone agrees that tests are important. And yet, more often than not, tests are neglected. In the rare case where we take the time to write them, more often than not it’s considered a cumbersome task, and given less attention than the "real code". This leads to a lot of code smell being written in tests, one of which is using hardcoded values.

Droidcon Lisbon — Lisbon, Portugal

  • How to write a safe and reliable Open Source Library 📄
    You’ve written some code, and you’d like to release it as Open Source. Congratulations!
    Publishing an Open Source library goes beyond just releasing your code on Github. New users with different use cases means preparing for the unpredictable. How do you ensure your code is safe and efficient? Is your code easy to read? Do you have a plan for upgrades in the future?
    This talk will look at best practices and showcase a checklist to follow when writing and publishing an Open Source Library, from the documentation to ensuring your library works as intended and doesn’t break applications using it.
  • Benchmarking your application 📄
    In 1974, Donald Knuth said that “premature optimization is the root of all evil (or at least most of it) in programming”. But optimizing without benchmarks would be like following your instinct trying to get to your destination with a map but without a compass; you hope that you’re going in the right direction, but could be wasting a lot of time and energy…
    Whether it is during development or at runtime, many tools exist to let you measure the performance of your applications. These measures can then be used to prioritize which parts to optimize first, as well as measure the performances gained (or lost) after a refactoring.

2021

Droidcon London — London, UK

  • Benchmarking your application🎞 📄
    In 1974, Donald Knuth said that “premature optimization is the root of all evil (or at least most of it) in programming”. But optimizing without benchmarks would be like following your instinct trying to get to your destination with a map but without a compass; you hope that you’re going in the right direction, but could be wasting a lot of time and energy…
    Whether it is during development or at runtime, many tools exist to let you measure the performance of your applications. These measures can then be used to prioritize which parts to optimize first, as well as measure the performances gained (or lost) after a refactoring.

2020

Android Makers — Paris, France

  • Benchmarking your application🎞 📄
    Back in 1974, Donald Knuth said that “premature optimization is the root of all evil (or at least most of it) in programming”. But optimization without benchmarks can be even worse than that. It’s like following a map without using a compass, and just trusting your instinct that you’re going in the right direction. Whether it is during development or at runtime, many tools exist to let you measure the performance of your applications. These measures can then be used to prioritize which parts to optimize first, as well as measure the performances gained (or lost) after a refactoring.

Droidcon — Online

  • It's time to up your test game🎞 📄
    On paper, everyone agrees that tests are important. And yet, more often than not, tests are neglected. In the rare case where we take the time to write them, more often than not it’s considered a cumbersome task, and given less attention than the "real code".

2019

Mobile Era — Oslo, Norway

  • Rock the Gradle, Rule the world🎞 📄
    More often than none, an Android project's build.gradle files grow larger and more complex with time. This talk will look at the underappreciated buildSrc folder, which allows you to create plugins directly from your project, but also can help you make your build.gradle files cleaner and more readable.

Android Makers — Paris, France

  • Offline First Development (with Jérémy Bartolomeu Bonze) 🎞 📄
    As developers, more often than not, you have access to fast and reliable internet connection, all day long. But the users you target won't. Limited data plans, unreliable network coverage, commuting : those are real obstacle that your users will see daily. This means that network will only be available at some times, and not necessarily when the user wants to interact with your application.

CodeMobileUk — Chester, UK

  • Rock the Gradle, Rule the world (Workshop) — 📄 💻
    More often than none, an Android project's build.gradle files grow larger and more complex with time. This talk will look at the underappreciated buildSrc folder, which allows you to create plugins directly from your project, but also can help you make your build.gradle files cleaner and more readable.
  • Being an Ethical Developer🎞 📄
    With great power comes great responsibilities. In today’s world, developers definitely have a lot of power in their hands, shaping the apps we use every day on our phones and computers. More than ever developers need to know about the consequences of what they build, and help shape the way apps will be built tomorrow.
  • Compiler Based Testing (Lightning Talk) — 📄

2018

Droidcon London — London, UK

  • What's The Fuzz With Unit Tests (Lightning talk) 📄
    All my tests used to involve users named Alice and Bob. Aged 42. Working at FooBar Inc. The problem when using hard-coded values in your tests, means that you only test one single path of your code. Ever. During this talk, you will discover a fuzzy testing library to make your test use a wider range of data.

AppsConf — Moscow, Russia

  • It's time to up your test game📄
    On the paper, everyone agrees that tests are important. And yet, more often than none, tests are still considered the poor cousin in the development industry. In the rare case when we actually take time to write them, we more often than not consider it a cumbersome task, and give it less thoughts than the "real code".
    But tests are often as important, if not more, as the code that will be shipped on the Play Store. After briefly explaining the basics of testing, this talk will go through various common mistakes and bad practices found in real-life unit tests, and will give techniques and tips to make those tests cleaner and better.

Android Makers — Paris, France

  • Rock the Gradle, Rule the world🎞 📄 💻
    More often than none, an Android project's build.gradle files grow larger and more complex with time. This talk will look at the underappreciated buildSrc folder, which allows you to create plugins directly from your project, but also can help you make your build.gradle files cleaner and more readable.

CodeMobileUk — Chester, UK

  • Did your mocks read the Terms of Service🎞 📄
    When writing unit tests, we are used to inject mocks instead of concrete implementations. The problem is that the mock behavior is not tied at all to the actual implementation, and so even though all unit tests are green, you can still have bugs inside your codebase.
    But tests are meant to define the contract of the feature under test. It unambiguously verifies that the feature behaves as expected no matter what. So there must be a way to use the power of testing to ensure the mocks also follow the same contract.
    This talk will introduce the concept of contract based testing, which allows describing mocks, and ensure that the concrete implementation actually behave the same way. It will then show examples design patterns and best practices on how this can be used to enhance the unit tests in a project.
  • Panel Session🎞
  • Git magic tricks (Lightning talk) — 📄

2017

Droidcon London — London, UK

  • Merge like it's 2099: a merge conflict solver for Git — 📄
    Every developer working in a team of more than 2 person has experienced conflicts when merging, rebasing or cherry picking a commit. Resolving those conflicts is a tedious task and it's time for a change. This talk will propose a solution to merge smarter and not harder.

Droidcon Berlin — Berlin, Germany

  • Genetically Modified Tests : an introduction to mutation testing — 🎞
    Tests ensure the quality of your code, but what ensures the quality of your tests?
  • Zen Code Reviews🎞 📄

Android Makers — Paris, France

  • Merge like it's 2099: a merge conflict solver for Git — 🎞 📄
    Every developer working in a team of more than 2 person has experienced conflicts when merging, rebasing or cherry picking a commit. Resolving those conflicts is a tedious task and it's time for a change. This talk will propose a solution to merge smarter and not harder.
  • Zen Code Reviews (Lightning talk)

CodeMobileUk — Chester, UK

  • Mutation Testing 🎞 📄
    Tests ensure the quality of your code, but what ensures the quality of your tests?
  • Panel Session🎞
  • Zen Code Reviews (Lightning talk) — 🎞

AppDevCon — Amsterdam, Netherlands

  • Aspect Oriented Programming (Workshop) — 📄
    Add magic to your code and remove boilerplate.

2016

Big Android BBQ — Amsterdam, Netherlands

  • Aspect Oriented Programming📄
    Add magic to your code and remove boilerplate.

2015

Droidcon France — Paris, France

  • Aspect Oriented Programming🎞 📄
    Add magic to your code and remove boilerplate.