François-René Rideau
Architecting the Software Developer Experience


Phone: +1 617 575 9012
E-mail: fare@tunes.org
Website: http://fare.tunes.org/
French national, US permanent resident

Click here for a printer-friendly version.

Work Experience

2017–2019
LegiLogic, Boston, MA (Co-Founder and Chief Architect)Ongoing
Co-founded Metafore Hyperpost, LegiLogic.com (née Legicash), and Alacris.io, three companies furthering Blockchain technology using advanced programming languages, concepts and tools. Building a Blockchain-Agnostic Operating System.
2016–2017
Bridgewater Associates, Wilton, CT (Senior Cloud Developer)9 months
Secure reproducible cloud deployment on Amazon AWS. Refactored the existing build and configuration system using Buildbot, Make, Python, Jsonnet and Terraform; then redesigned it using Scala, Nix, Pants and Terraform.
2013–2016
Google, New York, New York (Developer Experience Designer)3 years
DX Design for Software at Scale. Partook in the deterministic distributed build system bazel.build. Refactored the design and implementation (in Java) of its extension language Skylark. Also added GC to the git support of the code hosting platform.
2005–2013
ITA Software, Cambridge, Massachusetts (Senior Software Engineer)8 years
Airline shopping and reservation (acquired by Google in 2011). Extended a ORM atop Oracle, notably schema upgrade and better types. Built and supported the build, test and deployment infrastructure. Audited code security, added messaging features, migrated legacy data using a cluster of machines, ported code to 64-bit, curated our free software. Worked alone, in small and large teams, and coordinated release between them. Managed up to five interns. All Common Lisp.
2003–2004
CRPGL, Luxembourg (Researcher)18 months
Public Research Center. Developed web-based collaborative tools in Common Lisp.
2000–2001
IDEALX, Paris, France (Consultant)8 months
Open Source Engineering Consultancy. Consulted on B2B middleware, real-time high-level languages, secure terminals.
   Proved formal correctness (in Coq) of a centralized e-cash payment protocol.
1997–2000
France Telecom, Paris, France (Research Engineer)36 months
Researched under Jean-Bernard Stefani. Experimented with distributed calculi.

Technical Skills

Cybernetics
Interaction design for creative processes. Software development toolchain and team organization. User Experience and Developer Experience. Controlling overall man-machine system complexity to achieve flexibility and maintainability, robustness and security — ultimately end-user satisfaction at sustainable costs.
Infrastructure
Design and implementation of distributed agent systems, programming languages, operating systems, cryptographic protocols, transactional object persistence, cryptocurrency blockchains, real-time memory allocation, resource management with or without a kernel.
Operating Systems
System Administration for Linux (NixOS, Debian, RedHat), BSD, Solaris; macOS, Windows.
Programming Languages
OCaml, Javascript, Scheme, Common Lisp, Racket, Clojure, Scala, Shell, Java, C, Haskell, Python, Perl, PL/SQL, Smalltalk, C++, Erlang, FORTH, Assembly (x86, 6502, ARM), BASIC, Prolog, etc.
Blockchain
DApps (including Smart Contracts) on Ethereum, Bitcoin Cash, Tezos. Alacrity, Solidity.
Networking
Distributed programming. Multiparty computations. Firewall, VPN, routing, TCP/IP, DNS, SMTP, etc.
Special Skills
Formal logic, proofs. Metaprogramming. Object-Oriented, Logic and Functional Programming. etc.
“Artificial Intelligence”
Search strategies and heuristics, declarative programming, inference engines. Reflection for monitoring and metaprogramming. Basic statistical text analysis, fuzzy logic. Algorithmic complexity, with notable applications to Data compression or PAC-learning. Knowledge bases and data representation. Human-Computer Interaction and software usability.

Formal Training

1997–2000
PhD candidate in Computer Science at École Nationale Supérieure des Télécommunications (Paris).
Thesis subject: the semantics of reflective systems, as applied to building distributed systems.
Research interrupted to pursue professional opportunities. Completed long afterward but still undefended.
1996–1997
DEA d’Informatique at the ESSI (University of Nice). [Equivalent to Masters in Computer Science]
+ Teacher in Mathematics in a high-school (Professeur Agrégé).
1992–1996
Student at the École Normale Supérieure (rue d’Ulm, Paris). [Best school for scientific research in France]
Various university diplomas and titles from examinations and competitive examinations in Mathematics and Computer Science.
Specialized in the Formal Semantics of Computer Programs under Patrick Cousot.
Teaching assistant in Computer Science and Mathematics in introductory university-level classes.
1987–1992
High-school then university-level studies at the Lycée Louis-Le-Grand (Paris).
Baccalauréat C (Maths) 1990. Classes Préparatoires.

Mission Statement: Contributing Vision to Software Development

I will study your problem domain and distill its essence in a domain-specific language; around this language I can then design, implement and evolve radically simple solutions that are robust and maintainable, secure and efficient.

I enjoy getting my hands dirty, but first I want to understand where we are going. I will pick the low-hanging fruits first, but as part of a plan to pick all marginally affordable fruits. I will use sound theory to achieve massive practical gains — and avoid predictable pitfalls.

Many development teams have a narrow horizon that leads them to code bloat and bad quality, with diminishing returns and accumulated technical debt. Our team will keep a broad horizon to maintain a sustainable development environment. Many teams are blinded by focus on hardware devices and software artefacts and end up sacrificing the ends to the means; our team will include user experience and developer experience in our designs, and optimize the interactions that matter.

Miscellaneous

Languages
Native French speaker. Fluent in English.High-school Spanish. Basic Vietnamese.
Hobbies
Maintainer of Common Lisp build tools. Contributor to many free software projects, mostly in Lisp.
Co-organizer of monthly Lisp meetings. Secretary of the Association of Lisp Users.

Wrote essays and spoke at conferences on Free Software. Wrote essays and spoke at conferences on Economic Liberty.

Previously: Was CTO for an off-shore software development consultancy, http://meta.ph/or.
Founded the TUNES project for a free reflective computing system. http://tunes.org/

Blogging about Computing at http://ngnghm.github.io/, otherwise at http://fare.livejournal.com/
Tweeting as @ngnghm (software), @phanaero (cryptocurrencies), @fare (other) — Also, composing songs.

Select Peer-Reviewed Publications

References

[1]
François-René Rideau. Metaprogramming and free availability of sources, January 1999. Translated from the french article “Métaprogrammation et libre disponibilité des sources” published in conference “Autour du Libre 1999”. http://fare.tunes.org/articles/ll99/index.en.html.
[2]
François-René Rideau and Robert P. Goldman. Evolving ASDF: More Cooperation, Less Coordination. In International Lisp Conference, 2010. http://common-lisp.net/projects/asdf/.
[3]
François-René Rideau. LIL: CLOS reaches higher-order, sheds identity and has a transformative experience. In International Lisp Conference, 2012. http://github.com/fare/lil-ilc2012/.
[4]
François-René Rideau. ASDF 3, or Why Lisp is Now an Acceptable Scripting Language. In European Lisp Symposium, 2014. http://github.com/fare/asdf3-2013.
[5]
François-René Rideau. From Software Creationism to Software Evolutionism. In Salon des Refusés, April 2017. http://github.com/fare/evo2017.
[6]
François-René Rideau. Climbing Up the Semantic Tower — at Runtime. In Off the Beaten Track Workshop at POPL, January 2018. http://github.com/fare/climbing.