Hi! My name is Enrico Campidoglio. I’m a programmer, speaker and author with a strong passion for quality and good old-fashioned knowledge sharing.
As of late 2017, I work as a freelance teacher and mentor helping teams develop software better. If you think I can help you, I'd love to hear from you.

My Mission

Let me start with an interesting fact about me: I've been a scout for almost 10 years of my life. It was between age 9 and 19, so pretty much my formative years. In retrospect, it was a great experience, even though I didn't always think of it that way at the time. Anyway, you may have heard of Lord Robert Baden-Powell — he was a lieutenant general in the British Army who, in 1907, founded the Scouting movement based on the motto "Be Prepared". And being prepared is exactly what they teach you at the scouts.

Another thing you learn from being a scout comes from another of Baden-Powell's mottos: leave this world a little better than you found it.

A fleur-de-lis positioned on a trefoil, in the original Scouting colors chosen by Lord Baden-Powell

That idea always spoke to me because it gives meaning to so many things in life.

Eventually—and perhaps unsurprisingly—it even found its way to programming thanks to Robert C. Martin. Martin took it to heart and transformed it into a rule for professional programmers to live by: always check a module in cleaner than when you checked it out. The Boy Scout Rule was born.

Naturally, I'm a big fan of the Boy Scout Rule. So much so, in fact, that I like to apply it to more than just code: I apply it to teams as well.

When I join a project, I want to leave the team in better shape than I found it.

I've said it in the past and I'll say it again: as programmers, we can't possibly know everything. There's is simply too much information for any single person to absorb. So, if you do have some knowledge about a topic, it's your obligation to pass it on as much as you can to your fellow programmers. That's the only chance we have to grow in our profession: by sharing knowledge.

Now, I realize that not everyone has the desire or the inclination to be a teacher. That's fine. I, for one, love teaching and I think I'm pretty good at it, so I made it my mission.

What I Do

There are many ways to teach technical subjects. I started out in 2004 by teaching a Linux programming class in a local continuing education program. I was a consultant back then and that was my first real teaching job. I was excited. Although I would regularly lose my voice at the end of each day, I found the experience very compelling. So I kept doing it.

After that, I went on to hold internal courses for private companies aside from my regular consulting assignments. Eventually, in 2011, I started doing public speaking at conferences and user groups events, both local and international.

In 2017, after 15 years as a consultant, I decided that teaching and mentoring was what I really wanted to do, so I made it my full time job by becoming a freelancer.


In 2008, I started this blog as an outlet for sharing narrower topics that wouldn't necessarily be enough for a talk or a course. Ironically, many of the ideas that I ended up presenting actually started out as blog posts. If you want to get a sense for what I write about, you're welcome to check out my most popular articles on the best-of page.


In 2015, I started producing online training for Pluralsight. You can find my curriculum of courses on my author page.

Open Source

Since 2011, I help maintain AutoFixture, an open source library for .NET that helps alleviate some of the friction experienced when doing Test-driven development by making it easier to generate test data.

I'm also the author of Cake.Curl, a cross-platform addin for Cake (C# Make) that allows you to transfer data to a remote URL as part of your build script using curl.

The Scout logo used in this page is created by User:Kintetsubuffalo and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported license.