John Drouhard is a Senior Software Engineer with 13 years of experience building high-performance C++ and Python systems on Linux, currently at Jump Trading after a long tenure solving low-latency problems at Cboe Global Markets. He specializes in threading, throughput and maintainable core frameworks, and has a proven track record fixing subtle race conditions and improving reliability in build and compiler tooling. An active open-source contributor, John has made substantive fixes and features in widely used projects like Neovim, Ninja, and icecc鈥攚ork that spans editor language-server internals, build-system race fixes, and distributed compilation support for DWARF fission. His background in enterprise framework design and test automation shows a practical bent for making complex systems observable, testable, and faster. Based in Olathe, Kansas, he pairs deep systems expertise with developer productivity improvements, often automating tedious workflows with Python tools. Rarely obvious from a title alone, he blends low-level C++ rigor with pragmatic scripting to move projects from fragile to robust.
13 years of coding experience
13 years of employment as a software developer
Bachelor of Science, Computer Engineering, 3.95, Bachelor of Science, Computer Engineering, 3.95 at Kansas State University
Distributed compiler with a central scheduler to share build load
Role in this project:
Backend Engineer
Contributions:14 commits, 6 PRs, 10 pushes in 2 years
Contributions summary:John's primary focus within the icecream repository centers around enhancing the distributed compiler's functionality, specifically related to debug fission (-gsplit-dwarf). They implemented support for dwarf fission, introducing protocol changes to handle output directories and dwo files. Their work involved modifying the daemon to manage temporary directories, object file paths, and handle the writing of dwo files. These changes extended to the client-side to manage and receive the dwo files after compilation. The user also introduced tests to ensure the correct behavior of the debug fission functionality.
Nvim Treesitter configurations and abstraction layer
Role in this project:
Full-stack Developer
Contributions:6 reviews, 7 commits, 9 PRs in 2 years 2 months
Contributions summary:John primarily contributed to the Neovim Treesitter configuration and highlighting system, working on C/C++ and related query files. They fixed highlighting issues related to field declarations, method identifiers, and template methods. Furthermore, the user implemented a feature to re-apply default highlights upon colorscheme changes and added injections for raw string literals in C++ code. They also simplified the namespace and improved function call queries in the cpp files.
nvim-treesitterluatreesittertree-sittervim
Find and Hire Top DevelopersWe鈥檝e 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.
Request Free Trial
John Drouhard - Senior Software Engineer at Jump Trading LLC