Chris Woody Woodruff is a solution architect at RT2, .NET Foundation board member, author, podcaster, and speaker.

Author

Chris shares his expertise through articles, technical documentation, and an upcoming book on network programming with C# and .NET. His writing makes complex software concepts clear and actionable.

Solution Architect

Chris Woody Woodruff designs scalable, high-performance software solutions, specializing in API design, cloud architecture, and modern development frameworks. He ensures technology meets business and user needs efficiently.

Speaker

A frequent speaker at conferences and industry events, Chris engages audiences on API strategy, database architecture, and software development. His talks inspire and educate developers worldwide.

"Every solution to every problem is simple. It’s the distance between the two where the mystery lies.”

Chris Woody Woodruff

Educator & Advocate

Just Stuff From Woody

Week 4: Reflecting on Errors and Structure

Day 28 marks the end of Week 4 and it is time to pause for a quick reflection. We have covered a lot of ground this week from organizing Rust code with modules and...

Logging in Rust: Tracing Without Console.WriteLine

Welcome to Day 27 and let’s talk about how Rust handles logging the smart way. If you have been in the .NET world for any amount of time, you are probably used to ILogger...

Custom Errors: From Display to thiserror

Look at this! Day 26, and today we’re talking about one of my favorite things to not ignore: error messages. Because when things go sideways (and they will), your future self and your users...

Panic! vs Exceptions: Stop the World or Handle It?

Okay, we're on Day 25, and today we’re stepping into the world of failure again. But this time, it’s the catastrophic kind. We’re not talking about the "file didn’t open" kind of error. Nope...

Error Propagation with ?: So Simple, So Smart

Day 24... today we’re digging into one of my favorite "why doesn’t every language have this?" features in Rust: the ? operator. If you've spent any time in C#, you're no stranger to the good...

Crates and Dependencies: NuGet, Meet Cargo

Day 23... let’s talk about how Rust gets its packages! If you’re coming from the .NET world, you’re no stranger to NuGet. It’s been your trusty sidekick for pulling in libraries, managing versions, and...

Organizing Code: Rust Modules vs C# Namespaces

Welcome to Day 22! After a week of wrestling with data modeling, it’s time to talk about something near and dear to every developer’s heart: keeping your code organized (and your sanity intact). If you're...

Week 3: Wrap-Up: Data Modeling That Fights Back

Three weeks into Rust, and if your brain isn’t at least a little bit melted, I applaud your resilience! This week was all about data modeling. But not just any modeling—the kind that actively...

Result<T,E>: A Better Way to Fail

Welcome to Day 20! Today we’re talking about failure, but in the best possible way. Because, let's be honest, things go wrong. Files go missing. Network calls timeout. Data isn’t always what we expect...