David Craven is a seasoned engineering leader with 14 years of hands-on software and systems experience, currently serving as Head of Engineering at Analog in Switzerland. He blends deep low-level systems expertise in Rust—contributing to notable projects like rust-embedded/riscv, libp2p, and Substrate—with practical leadership across roles from CTO to lead engineer. David has shipped core blockchain and networking features (storage/extrinsic APIs, libp2p optimizations, IPFS blockstore work) and helped bridge native mobile and desktop tooling via Rust bindings and Flutter integrations. Comfortable moving between embedded, backend, and full-stack problems, he drives architectural refactors and performance-minded changes such as stack-allocation of critical structures and API redesigns. A pragmatist with entrepreneurial instincts, he pairs product-focused delivery with active open-source stewardship. Based in Switzerland, he brings a rare mix of electrical engineering training and production Rust expertise to complex distributed systems.
14 years of coding experience
5 years of employment as a software developer
Computer Science, Computer Science at Hack Reactor
Electrical and Electronics Engineering, Electrical and Electronics Engineering at Lucerne University of Applied Sciences and Arts
Build beautiful desktop apps with flutter and rust. 🌠 (wip)
Role in this project:
Full-stack Developer
Contributions:63 commits, 22 PRs, 11 pushes in 1 month
Contributions summary:David primarily focused on refactoring the project to use `cty` instead of `libc`. They also made code formatting changes using `rustfmt` across multiple files, including those related to window handling and plugin implementations. In addition, the user implemented keyboard support and integrated clipboard functionality, expanding the project's functionality and user interaction capabilities.
Contributions:83 reviews, 10 commits, 39 PRs in 2 years 9 months
Contributions summary:David primarily contributed to the `ndk` repository, which provides Rust bindings for the Android NDK. Their work involved adding features such as `native_window` support, and making miscellaneous fixes. They also contributed to the `ndk-build` and `ndk-context` crates, introducing glue code and context initialization mechanisms. These changes aimed to improve the integration of Rust code with Android's native environment.
ndkrustandroidrust-bindingsandroid-ndk
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.