Patrick Gartung is a Senior Applications Developer and Systems Analyst with 12+ years of software engineering experience and a PhD in physics, currently driving application and systems work at Fermilab. He blends deep scientific training with hands-on backend and DevOps contributions to large open-source projects—most notably enhancements to the Spack package manager and build/config tooling for the CMS experiment—focusing on build robustness, static analysis, and reproducible packaging. Patrick has a track record of improving build systems, addressing complex linking and RPATH issues, and automating test and profiling pipelines, reflecting a preference for reliable, maintainable infrastructure over quick hacks. His background spans Bell Labs, academia, and national lab environments, giving him fluency in both research codebases and production operations. Based in Yorkville, Illinois, he brings a methodical, research-oriented approach to engineering problems and a demonstrated ability to bridge physics research needs with scalable software practices.
12 years of coding experience
25 years of employment as a software developer
PhD, physics, PhD, physics at University of California, Riverside
Contributions:39 reviews, 1062 commits, 621 PRs in 9 years 7 months
Contributions summary:Patrick primarily focused on improving the CMS Offline Software by adding and modifying static analysis tools. Their contributions include adding regular expressions to skip functions during static analysis, implementing a checker to report calls to EventSetupRecord::get, and addressing code formatting issues. These changes indicate a focus on improving the code's reliability and maintainability through static analysis and code quality improvements.
A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
Role in this project:
Back-end Developer
Contributions:128 reviews, 113 commits, 336 PRs in 5 years 7 months
Contributions summary:Patrick contributed to the Spack package manager, focusing on improving its build system and package definition capabilities. They implemented changes that enabled specific compilers to build on older operating systems and integrated new packages. Moreover, the user made key fixes to support buildcache functionality, including creating, installing, and relocating package tarballs, resolving issues with RPATHs, and improving the handling of hardlinks.
compilerspythonradiussplatformslinux
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.
Request Free Trial
Patrick Gartung - Senior Applications Developer And Systems Analyst