James Craig

Lead Software Developer at Williams Mullen

Richmond, Virginia, United States
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

👤
Senior
🎓
Top School
James Craig is a Lead Software Developer with 11+ years of professional experience managing full lifecycle web, desktop, and mobile application development for a regional law firm in Richmond, VA. He combines hands-on back-end engineering—evidenced by his long-running Craig’s Utility Library with over a million downloads—with practical leadership in introducing DevOps and continuous delivery to accelerate delivery. As an engineering manager he designs projects from user stories through shipping while overseeing development and database teams across the firm. He also runs an open-source operations site, continually refactoring and modernizing legacy .NET code into modular .NET Core/Standard packages and improving ORM and AOP tooling. Comfortable bridging legacy systems and modern practices, he brings deep .NET expertise plus a track record of making complex internal tools reliable and maintainable. Outside the firm, his decades-long commitment to open source hints at a developer who values reusable tooling and long-term maintainability.
code11 years of coding experience
job2 years of employment as a software developer
bookBachelors of Science, Computer Science, Bachelors of Science, Computer Science at Virginia Commonwealth University
stackoverflow-logo

Stackoverflow

Stats
1,053reputation
136kreached
57answers
0questions
github-logo-circle

Github Skills (17)

object-mapping10
aspect-oriented-programming10
aspectj10
aop10
netframework10
data-mapping10
orm10
dotnet-core10
csharp10
utilities9
utility9
sql7
audio6
asp-net6
wav6

Programming languages (6)

C#TypeScriptC++JavaScriptHTMLPython

Github contributions (5)

github-logo-circle
A giant set of utility classes originally start back in the .Net 2.0 days and updated until .Net Core and .Net Standard became a thing. At which point I took the library and broke it up into a ton of smaller libraries. View my profile for more up to date versions of everything.
Role in this project:
userBack-end Developer
Contributions:12 commits, 2 PRs, 167 pushes in 8 months
Contributions summary:James primarily focused on enhancing the existing utility library by adding features to the AOP (Aspect-Oriented Programming) manager, with a stated goal of integrating support for interfaces and abstract classes. They also refactored the code generator to improve debuggability. Furthermore, the user updated the ORM code to handle abstract classes and interfaces within the mapping and query provider components and made schema updates based on dependency structures. Finally, the user enhanced the codebase by adding basic graph objects, and basic tests for the ORM.
everythinguntilutilitiestonnet-core
JaCraig/SerialBox

Nov 2016 - Jan 2025

A library designed to simplify serialization in .Net. Compatible with .Net Core.
Contributions:72 reviews, 84 PRs, 117 pushes in 8 years 3 months
jsonserialization
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