About me
Software, people,
and the sea.
I’m Thibault: a mobile architect, mentor, open-source contributor, and unapologetic tinkerer based in Normandy.
About
I have spent 25 years making software, nearly 15 of them focused on native mobile applications. Today I work independently through Side Effect, helping teams design mobile systems that are easier to understand, test, and change.
I have worked in large organizations where rigor matters and in smaller ones where curiosity and experimentation can move quickly. I enjoy both. What interests me most is the point where an architectural idea has to survive real deadlines, real users, and a real team.
The first half of my career gave me a strong foundation in Java, object-oriented programming, and web technologies. Then I discovered Swift in 2015 and immediately enjoyed the new set of ideas it opened up. Functional programming, explicit state, and controlled side effects now shape much of how I approach safety, testability, and scale.
I have also spent years building and mentoring native mobile teams. A recurring part of that work has been bringing iOS and Android developers together around shared engineering principles without pretending the two platforms are identical.
Outside client work, I contribute to the Swift community through projects including RxFlow, Feedbacks, AsyncStateMachine, AsyncExtensions, and Apple’s Swift Async Algorithms.
When I am away from a keyboard, I forge knives, fly drones, and ride along the coast near my home in Normandy.
Resume
I’m a software architect and mobile engineer with 25 years of experience in software design, including nearly 15 years focused on native mobile development. My work has moved from Java and web technologies to Swift, Kotlin, functional programming, and state-machine-based architecture.
What I bring
- Mobile architecture: designing native iOS and Android applications, shared architectural principles, and pragmatic migration paths.
- Functional programming: using immutability, composition, typed state, and explicit effects to make software safer and easier to test.
- Technical leadership: recruiting, mentoring, and supporting teams through architecture decisions, code reviews, and continuous improvement.
- Delivery: shaping Git and CI/CD practices, testing strategies, monitoring, and the everyday habits that keep teams aligned.
- Open source: creating and contributing to Swift libraries around navigation, reactive programming, asynchronous sequences, and state machines.
Selected experience
Since September 2024 — Founder, Carbone Stellaire
Alongside software, I run a small craft practice devoted to forging and knife-making. It is another way of working with materials, constraints, patience, and continuous improvement.
September 2022 – September 2024 — Freelance mobile architect, TouchTunes
I helped hire and mentor a native mobile team of 15 developers, then brought its iOS and Android contributors together around shared software engineering practices. Reporting directly to the Vice President of Architecture, I worked across Swift, Kotlin, application architecture, CI/CD, monitoring, Git strategy, and testing. I also introduced functional programming and state-machine ideas into everyday development.
June 2018 – June 2022 — Team lead and mobile architect, Genetec
I created Genetec’s mobile department and grew it to eight developers. I built the native team, established its ways of working, and federated iOS and Android developers around shared engineering practices. Alongside leading the team, I developed native applications and shared architectural foundations in Swift, with a focus on unidirectional data flow and state machines.
January 2018 – May 2018 — Senior iOS developer, Nuglif
Worked on the LaPresse+ iPad application in Swift, including the migration from Objective-C and technical mentoring around reactive programming.
June 2016 – January 2018 — Mobile architect and developer, Savoir Faire Linux
Designed and developed mobile products for Walter Surface Technologies, Serti, Betclic, General Electric, and the open-source Jami project. The work covered offline-first React Native, native iOS and Android, Swift, Kotlin, Java, reactive architectures, and team leadership.
2001 – 2016 — Software engineering, architecture, and technical leadership
At Sogeti High Tech, LuxMédia, IntuiTouch, CHPC, Euriware, and Cril Technologie, I worked on Android, iOS, Java, J2EE, infrastructure, industrial applications, hospital information systems, connected devices, and enterprise software. These roles gave me the foundation I now bring to mobile architecture: understanding the product, the users, and the system as a whole.
Technical focus
Architecture: SOLID, Clean Architecture, functional and protocol-oriented programming, unidirectional data flow, MVC, MVP, MVVM-C, state machines, and developer-facing API design.
Mobile: Swift, SwiftUI, UIKit, Objective-C, Kotlin, Java, Android Studio, Xcode, Combine, RxSwift, Kotlin Flow, Swift Concurrency, and Kotlin coroutines.
Delivery: Git, GitHub, Gerrit, GitHub Actions, Azure DevOps, Bitrise, Firebase, TestFlight, App Store, and Google Play.
Education and languages
- 2018: Genetec leadership program at HEC Montréal.
- 2015: Master 2 in Software Engineering, University of Rouen — highest honors.
- 2001: Master’s degree in Mathematical and Computer Science.
- French: native or bilingual proficiency.
- English: full professional proficiency.
Talks
Cocoaheads Montreal, October 2017
Let’s Weave Your Application: a reactive coordinator pattern.
I explored how RxSwift and the Coordinator pattern can organize navigation in an iOS application. View the slides.
Frenchkit Paris, September 2022
Swift concurrency + state machines: the path to modern and reliable features.
I introduced state machines as a natural way to manage state in a SwiftUI application, then showed how Swift concurrency can run an asynchronous state machine. View the slides or explore the audience’s hands-on repository.
