Antoine Pitrou

CTO

Paris, Île-de-France, France28 yrs 4 mos experience
Most Likely To SwitchHighly Stable

Key Highlights

  • 20 years in open source software development
  • Core developer for Apache Arrow and Parquet
  • Significant contributions to Python's performance and features
Stackforce AI infers this person is a Backend-heavy Fullstack Engineer with extensive experience in open source data processing technologies.

Contact

Skills

Core Skills

C++Apache ParquetPythonApache ArrowNumpyP2p ProtocolRouting Protocols

Other Skills

Data EncodingFuzz TestingDocumentationCPerformance ImprovementsPEPsTechnical LeadershipLLVMDaskTwistedRTMPSIPOpen Source CommunityDatabaseWeb Interface

About

Who i am: I'm a versatile software engineer. I have been participating in open source / free software communities for 20 years, both as a volunteer and on a paid-for basis. After all those years of professional learning and inspiration from remarkable projects such as CPython, I have developed a meticulous focus on code review, quality, reliability, testing, maintainability, API design. What I've been doing recently: For the last 6 years I've been working mainly on Apache Arrow, Apache Parquet and related technologies (see experience below).

Experience

28 yrs 4 mos
Total Experience
4 yrs 7 mos
Average Tenure
18 yrs 4 mos
Current Experience

Quantstack

Technical Director

Oct 2024Present · 1 yr 7 mos · Remote

  • A technical director at QuantStack provides leadership, stewardship and expertise in a particular project area. I am the technical director for our team working on Apache Arrow and Parquet.

The apache software foundation

Apache Parquet core developer, Project Management Committee member

Jan 2024Present · 2 yrs 4 mos · Remote

  • My work on Apache Parquet focusses mostly on the C++ implementation, which is tied to Apache Arrow. I also contributed a specification improvement (broadening supported data types for a compression-friendly data encoding) and the corresponding C++ and Java implementations.
C++Apache ParquetData Encoding

Voltron data

Technical Lead / staff software engineer

May 2021Oct 2024 · 3 yrs 5 mos · Remote

  • I provided technical expertise, guidance and leadership to a team of talented people who worked on Apache Arrow and related technologies.
  • I made numerous contributions to the Apache Arrow and Apache Parquet open source projects (see related experience entries).
Apache ArrowTechnical Leadership

Ursa labs

Senior Software Engineer

Jan 2019Apr 2021 · 2 yrs 3 mos

Apache arrow

Apache Arrow core developer, Project Management Committee member

Jan 2018Present · 8 yrs 4 mos · Remote

  • My work on Apache Arrow covers multiple areas. Initially, I hardened and expanded the foundations of the C++ and Python implementations, such as: setting up fuzz testing for critical components, improving the IO facilities, designing a filesystem abstraction, making numerous quality of life improvements, writing our initial prose-based documentation. I also helped improving the usefulness and applicability of Arrow through standardization. For example, I designed and implemented the C Data Interface, a language-agnostic ABI-stable protocol for zero-copy data sharing, and its iterative counterpart the C Stream Interface.
  • Finally I play a major role in the community, participating in design discussions, making numerous code reviews, ensuring a consistently high code quality, helping contributors towards completion of their work.
C++PythonFuzz TestingDocumentation

Anaconda, inc.

Senior Software Engineer

Sep 2014Dec 2017 · 3 yrs 3 mos · Paris Area, France

  • I spend two years working on Numba, a Just-In-Time compiler for Python with specializations for scientific computing. Areas of involvement include implementation of compiler optimizations and maintenance of an LLVM IR generation library (llvmlite).
  • Then I work on Dask / distributed, a framework for concurrent and distributed data analysis in Python. I specialize on low-level aspects such as network programming and the distributed scheduler.

Optiflows

R&D team leader and developer

Jan 2012Jan 2013 · 1 yr · Paris Area, France

  • I lead our small R&D team, setup development and quality practices and tools, bump our test coverage ratio to a whopping 75% (and counting), rearchitect critical parts of the software stack, strength and clarify internal APIs, and of course contribute the required new features and improvements. In other words, "getting things done (and mostly right)" is the motto. Also, I have a say in product development decisions and planning.
NumPyLLVMDask

Python language and interpreter

Python core developer

Jan 2008Present · 18 yrs 4 mos · Remote

  • I was given core developer access after spending a few months contributing bug fixes, improvements and reviews on the Python bug tracker.
  • Some notable aspects of my work on the Python interpreter:
  • I rewrote the Python 3.0 I/O stack in C, yielding massive improvements in speed (as much as 18x)
  • I helped implement a new datatype (the memoryview object)
  • I contributed various improvements in performance (e.g.: bytecode evaluation loop, garbage collection heuristics)
  • I completed the implementation of some delicate parts of the Python 3.0 exception handling semantics (lexically scoped exception state handling, chained tracebacks)
  • I re-implemented the Global Interpreter Lock to minimize contention overhead and make thread switching more predictable
  • I improved garbage collection semantics to solve the finalization problem in reference cycles (PEP 442)
  • I maintained and massively improved the ssl module over the duration of several years, before finally giving the reins to people more qualified than me
  • Here is a list of PEPs (Python Enhancement Proposals) I wrote or co-authored :
  • PEP 385: Migrating from Subversion to Mercurial (accepted)
  • PEP 407: New release cycle and introducing long-term support versions (rejected)
  • PEP 428: The pathlib module -- object-oriented filesystem paths (accepted)
  • PEP 442: Safe object finalization (accepted)
  • PEP 455: Adding a key-transforming dictionary to collections (rejected)
  • PEP 556: Threaded garbage collection
  • PEP 3151: Reworking the OS and IO exception hierarchy (accepted)
  • PEP 3154: Pickle protocol version 4 (accepted)
  • PEP 3155: Qualified name for classes and functions (accepted)
  • I also spend much of my time reviewing and assessing other people's patches, especially newer contributors.
CPythonPerformance ImprovementsPEPs

Wengo

Software architect and engineer

Sep 2006Jun 2007 · 9 mos

  • Internal quality audit on the WengoPhone project.
  • R&D, design and implementation of disruptive new services (WengoVisio, WengoMeeting and more to follow).
  • Implementation of an RTMP server using Python, Twisted and gstreamer.
  • Implementation of a SIP stack using Python, Twisted and gstreamer.
  • Prospective work on Jabber and SASL.
PythonTwistedRTMPSIP

France telecom r&d

2 roles

Lead engineer

Nov 2004Jan 2006 · 1 yr 2 mos

  • Lead engineer of the Solipsis research project, a peer-to-peer protocol for decentralized virtual worlds. Implemented and evolved the P2P protocol, coordinated the open source community.
  • More information at http://solipsis.netofpeers.net/
P2P ProtocolOpen Source Community

Software engineer

Jan 2001Jan 2003 · 2 yrs

  • Designer and implementer on an internal project to monitor routing protocols, so as to detect and qualify network incidents and ultimately improve quality of service. The software captured BGP and IS-IS packets in real time and stored advanced information in a database so as to make various statistics and diagnostics available on an interactive Web interface. It has been used in production for several years with much success.
Routing ProtocolsDatabaseWeb Interface

Pitrou, self-employed

Consultant

Sep 2001Jan 2012 · 10 yrs 4 mos

Opentv

Software engineer

Jan 1999Jan 2001 · 2 yrs

  • Design and prototyping of interactive TV applications.

Cryo interactive

Developer

Jan 1998Jan 1999 · 1 yr

  • I designed and started prototyping the artificial intelligence of a first-person shooter game for Windows PCs. After single-player gaming was cancelled in favour of multi-player gaming, I proceeded to work on various remaining parts of the project. Finally, the whole project was abandoned.

Education

Télécom Paris

Jan 1995Jan 1998

Stackforce found 100+ more professionals with C++ & Apache Parquet

Explore similar profiles based on matching skills and experience