Adam Crain is a CTO and co-founder with 16 years building secure, reliable control systems across scientific instruments, solar tracking, microgrids, and utility automation. He is a hands-on software security engineer who champions Rust for ICS/SCADA, producing commercially licensed yet publicly auditable protocol implementations and leading the well-known Project Robus vulnerability research. As principal author of opendnp3 and a longtime maintainer of protocol stacks and tooling, he bridges deep embedded and backend expertise with DevOps and automated security testing like fuzzing. Adam advises vendors, utilities, and standards bodies to harden systemic software quality, and brings an unusual combination of applied non-linear optimization and signal-processing experience from earlier scientific work. Based in Bend, Oregon, he now splits time between leading Battalion Energy’s platform strategy and evolving secure foundational software via Step Function I/O.
16 years of coding experience
6 years of employment as a software developer
BS, Physics, Highest Honors, BS, Physics, Highest Honors at University of North Carolina at Chapel Hill
DNP3 (IEEE-1815) protocol stack. Modern C++ with bindings for .NET and Java.
Role in this project:
Back-end Developer & DevOps Engineer
Contributions:14 releases, 4321 commits, 138 PRs in 9 years 5 months
Contributions summary:Adam primarily focused on refactoring and formatting code, specifically related to the DNP3 (IEEE-1815) protocol stack written in modern C++ with bindings for .NET and Java. They made changes to the TCP server and TLS server components, including applying strand-based callbacks and re-organizing the code structure. The user also contributed to build and release configuration with updates related to the project's toolchain.
Contributions summary:Adam focused on enhancing the functionality of a Maven plugin designed to format Scala code using Scalariform. They introduced logging for exceptions, fixed a parameter bug, and removed unnecessary output. A significant portion of their work involved exposing Scalariform formatting options as plugin parameters and simplifying the code by using File objects. The user also developed the initial structure for a Maven plugin, which allowed the integration of Scalariform configurations.
scala
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.