David Kocher is a seasoned software engineer based in Bern, Switzerland, with 23 years of hands-on experience building and hardening backend systems. He is an active open-source contributor known for improving Java libraries around file transfer and remote access—contributions include feature additions and security improvements to well-regarded projects like sshj and WebDAV/Sardine, plus work on Cyberduck integrations for cloud storage providers. His strengths lie in pragmatic API design, robustness (error handling and protocol edge cases), and cryptography-aware enhancements such as HMAC-SHA2 support and key-format compatibility. Outside of code he brings unusual real-world perspectives—he’s a beekeeper and a hang-gliding pilot—which surface as a careful, systems-minded approach to reliability and risk. Colleagues can expect a steady, detail-oriented engineer who balances long-term maintainability with practical feature delivery.
Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.
Role in this project:
Back-end Developer
Contributions:1000 reviews, 32801 commits, 1913 PRs in 20 years 2 months
Contributions summary:David's commits primarily focused on implementing and fixing functionalities related to Google Cloud Storage and Backblaze B2, as demonstrated by the addition of test cases and the correction of mappings for the backblaze module. The user also made changes related to file uploading and access, including adjustments to ensure the correct permissions when files are uploaded and the retrieval of directory timestamps. Additionally, the user contributed to the project by enhancing the capabilities of the file versioning features.
Contributions:4 releases, 12 reviews, 82 commits in 9 years 5 months
Contributions summary:David primarily contributed to the `sardine` project by implementing new features and refactoring existing code. These changes included adding the ability to use `allprop` in the `PROPFIND` method, and adding parameters to support custom response handlers for PUT operations. The user also made changes to the internal structure of the library, extracting a redirect strategy to allow for greater customization. Furthermore, the user worked on improving the error handling by wrapping XML unmarshalling failures into SardineExceptions.
webdav-clientjavawebdav
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.