JF Bastien

build & scale platforms

📧 me@jfbastien.com

🐦 @jfbastien

🐘 @jfbastien@mastodon.social

🦋 @jfbastien.com

About Me

Systems and compiler engineer building and scaling platforms. Deliver high-impact foundational platforms through hands-on technical leadership, security engineering, and standardization. Passionate about open-source, team-building, and advancing the field through cross-company collaboration. Chair the C++ Language Evolution Working Group, and previously chaired the WebAssembly community group. I thrive at the intersection of hardware and software, from low-level silicon-aware optimization to building user-facing platforms.

Work Experience

Stealth Physical Systems Startup

VP, Software Platform

2025-06/present

Crafting a platform where code drives the physical world.

Woven by Toyota

Distinguished Engineer

2020-08/2025-06

As the most senior engineer in the company, serve as technical lead for a safety-critical software platform driving Toyota’s transformation to a software-first mobility company. Build novel technical foundations while navigating the human and business challenges of scaling software at the world’s largest automaker.

  • Design, hire for, and scale foundational safety software infrastructure for vehicle development.
  • Lead hardware / software co-design strategy across the electrical and electronic supply chain.
  • Architect safety qualification of software toolchains, enabling OEM-controlled development environments across C, C++, and Rust.
  • Drive Toyota’s adoption of Rust for safety-critical systems, founding the Safety-Critical Rust Consortium and lead rollout.
  • Champion platform security initiatives to meet emerging automotive cybersecurity regulations.
  • Chair C++ language evolution, delivering contracts and reflection; build a team advancing safety and security in C and MISRA.
  • Define Toyota’s open source strategy in collaboration with the new Open Source Program Office.
  • As a vice president and executive, shape the organization to scale from startup to production-oriented change agent for Toyota Group.

Apple

Compiler Engineer

2016-08/2020-08

Security through compiler technology.

  • C++ lead and compiler engineer on the LLVM team: significantly improved the security of iOS and macOS through compiler technologies which I designed, implemented, and led a team to deploy strategically to high-value attack targets. Founder of the LLVM Security Group.
  • Compiler engineer on WebKit’s JavaScriptCore: implemented WebAssembly, performance tune WebAssembly and JavaScript, Spectre mitigations.

Google

Compiler Engineer

2012-08/2016-08

Bring portable, fast and securely sandboxed native code to the Web.

NVIDIA

Compiler Engineer

2009-08/2012-08

Dynamic binary translation from ARMv8 to VLIW on the Denver custom CPU.

  • A32, T32, and A64 decode and optimization.
  • Supervisor runtime.
  • In-memory column-oriented database and custom programming language, used to instrument and analyze hardware and software simulations.

CAE

Systems Engineer

2006-05/2009-08

Reduced aircraft simulation development effort by an order of magnitude.

  • Designed and implemented a modern C++03 runtime.
  • C++ reflection framework.
  • Binary / source compatibility validator.
  • Avionics systems engineering using the above-mentioned runtime.
  • Maintain older Fortran / C code.

Bombardier

Engineer Intern

2004/2005

Mechanical engineering design on the Global Express business jet.

Education

Stanford

Master’s degree

Computer science

2010/2015

Completed majority of coursework toward Master’s degree while working full-time; focused on compilers, systems, and hardware.

McGill

Bachelor’s degree

Mechanical eng.

2002/2006

  • Lead TA, 7 semesters, for Computers in Engineering—Fortran, C, and Algorithms.
  • Thesis: Rapid Decompression Simulation in an Aircraft and Related Hardware Optimization, used to automatically optimize aircraft design while meeting FAA/JAA regulations; Bombardier Aerospace.
  • Final project: Aircraft Assembly Optimization; Bombardier Aerospace.

Selected Publications & Public Speaking

PLDI

2017

ASPLOS

2017

TACAS

2018

C++ Committee

  • P3477 There are exactly 8 bits in a byte
  • p2809 Trivial infinite loops are not Undefined Behavior
  • p1152 Deprecating volatile
  • p0907 Signed integers are two’s complement
  • p1860 C++ networking must be secure by default
  • n4455 No sane compiler would optimize atomics
  • p0323 std::expected
  • p2723 Zero-initialize objects of automatic storage duration
  • p1225 Feedback on 2D graphics
  • p1482 Modules feedback
  • p1746 Feedback on std::audio
  • p0476 Bit-casting object representations
  • p1382 volatile load and volatile store
  • p0750 Consume
  • p0690 Tearable atomics
  • p0995 Improving atomic_flag
  • p1135 The C++20 synchronization library
  • n4509 constexpr atomic::is_always_lock_free
  • p0502 Throwing out of a parallel algorithm terminates
  • p0154 Hardware constructive/destructive interference size
  • p1119 ABI for interference size
  • p0528 Padding bits, atomic compare-and-exchange
  • p1205 Teleportation via co_await
  • p0193 Where is vectorization in C++‽
  • p0394 Hotel Parallelifornia
  • p0020 Floating point atomic
  • p0153 Atomic object fence
  • p0097 Use cases for thread-local storage
  • p0566 Hazard pointer, RCU
  • p0418 Fail or succeed: there is no atomic lattice
  • p1102 Down with ()!
  • p1110 A placeholder with no name
  • p1153 Copying volatile subobjects is not trivial
  • p1245 export module containing [[attribute]];
  • p1246 The no_float function attribute
  • p1247 Disabling static destructors
  • p2186 Removing garbage collection support

NDC TechTown

2025

C++onSea

2023

*(char*)0 = 0;.

324k views! 3rd most viewed C++ conference talk ever!

C++Online

2024

Autosar

2024

From software craft to engineering.

Conference keynote.

C++Now

2023

WWDC

2019

LLVM

2019

LLVM

2018

LLVM

2018

Migrating to C++14, and beyond!

LLVM

2015

WebAssembly: Here Be Dragons.

Conference keynote.

EuroLLVM

2015

EuroLLVM

2014

C++Now

2023

CppCon

2020

CppCon

2019

CppCon

2018

CppCon

2016

CppCast

2018

CppCast

2015

Tokyo University

2023

SAE

2021

eSOL

2024

Tokyo C++

TLB hit 💥

Patents

System, method, and computer program for managing vehicle software updates

JP2026008698A, CN121277530A

Program operation sequence determination for reduced potential leakage of personally identifiable information

US20250021687A1, JP2025013165A, JP7692083B2, CN119316177A

System and method for managing components of a vehicle system

JP2025114463A, JP7796196B2, CN120389957A

System and method for performing validations of software

JP2025076992A, JP7757483B2, CN119938485A

Vehicle recording based terrain objective characteristic determination

JP2025027979A, JP7759441B2, CN119493114A

Providing timing-independence for software

JP2025027966A, JP7809163B2, CN119493593A

Mobile computing network programming for queried content capture

US20240330313A1, JP2024146718A, JP7690008B2, CN118733642A

Mobile computing network queried content capture

US20240427731A1, JP2025003315A, JP7742450B2, CN119179740A

Method of optimizing execution of a function on a control system and apparatus for the same

US20230350354A1, EP4270189A1, JP2023164278A, JP7458521B2, CN117008982A

Correctness verification system, method, device, and program

US20230305829A1, EP4250091A1, EP4250091B1, JP2023143729A, JP7499366B2, CN116841861A

Cache coherency protocol for encoding a cache line with a domain shared state

US20230305961A1, EP4254202A1, EP4254202B1, JP2023145337A, CN116860663A

Security concepts for web frameworks

Dynamic sandboxing

US10031832B1

Native code instruction selection

US20140052971A1, WO2014028215A1

Portable handling of primitives for concurrent execution